Jump to content

wasson65

Members
  • Content Count

    67
  • Joined

  • Last visited


Reputation Activity

  1. Like
    wasson65 got a reaction from chicken in MSP430 and Java?   
    There are obviously a lot of feelings around Java, and it's not hard to see the two camps that we've split into here.
     
    So here's my conclusion on the entire thing:
     
    If you want to learn Java then just write Java and run it on something that makes sense.  MSP430's and Java don't make sense.  The wonderful, excellent, most helpful super great parts of Java really won't help you at all in a micro, and the not-completely-great bloated parts will make life miserable, where the idea is to be close to the hardware instead of completely abstracted away from it.
     
    And (IMHO) once you've endured the misery, you'll have experience that is more or less as useless in the embedded world as it is in the corporate application world....
     
    Or maybe I'm just a grouch....
  2. Like
    wasson65 got a reaction from bluehash in Post a pic of your home work bench, get a ..   
    Here's a picture of my bench.  I spend the week in the travel trailer up in Dallas and commute home to Houston on the weekends.  Nothing fancy, just the basics.

  3. Like
    wasson65 got a reaction from bluehash in Houston Robot Project Underway   
    Here you can see the sparkfun motor controller that is used.  The grey wires go to the '430 and power, and the heavy wires are from the motors.  The controller is hot-glued to the top of the batter case to keep it out of the way.
     
    The Sharp IR sensor is hot-glued to the underside of the Radio Shack breadboard-style PC board.  The sensor has a slight downward tilt, although perhaps not enough to keep me from running off the edges of things.  The Sharp sensor has a simple analog output which will be read on pin 14 of the 2553.
     
    The top level board is supported on 4 legs of 22 gauge solid hookup wire, which just set in holes on the robot chassis which were meant for mounting the original body.  These 4 wires are quite strong enough to hold the board in place.  The board is easy to remove and tilt off the body for work, and if he really smashes into something, the wires will let the board easily pop off and hopefully avoid damage.  They don't pop out even if Henry is moving as vigorously as possible.
     
    The Terminal Block is from Radio Shack, small Euro style, and is hot-glued to the robot chassis and provides access to power (3v, 4.5v, and Gnd).  The white wire goes to the middle of the battery pack to supply the 3v when the USB cable is not connected.
     
    You can also see the original power button, which I flipped upside down.  It is used to control the motor power, which is handy because then you can single step and debug code while hooked up to the robot without it trying to run around on you.



  4. Like
    wasson65 got a reaction from bluehash in List of MSP430 Webpages and Blogs   
    My robot blog is at http://www.henrytherobot.com  if you think it will fit with the group
  5. Like
    wasson65 got a reaction from pabigot in Demographics of embedded development   
    I'm no spring chicken (45) and this is my guess:  When I started programming (34 years ago...), being a computer user almost always meant being a computer programmer, and being a computer programmer almost always meant that you had to have knowledge of the systems you were programming on.
     
    In other words, I think 25 years ago, there was naturally more overlap between programmers and those interested in electronics and hardware.  I mean, people used to purchase ram chips and put them into ISA boards with sockets on them to expand their memory.
     
    Now, people's phones are multiple orders of magnitude more powerful than those early computers were.  And there are lots of computer programmers who have learned how to program in high level languages and never have had to actually worry about twiddling bits outside of some basic lab in college.
     
    So, a large percentage of the 'programming' population has never had to think much about memory usage, understand how data is actually stored, understand what 'endian' means.  The connection to any particular piece of hardware has been abstracted away under so many layers of layers, that somehow it's thought that actually touching hardware is somehow mysterious and difficult.  
     
    Additionally, there is another thing: VLSI.  When the circuit boards are just two layers, and the chips don't have hundreds of millions of gates, it was actually possible to look at a physical circuit board, look at the traces, look at the connectors, look at the chips, and almost extract the entire logical schematic.  Today's schematics are almost useless as they simply show 250 lines going into one big block marked U0.  How do you even begin to understand it by observation?  There's no way.  The bottom rungs of the ladder have been knocked off.
     
    Sad.  I'm so thankful I was born when I was, because any earlier, and I would not have had my own computer at a very young age, and any later and the computer would have been so powerful it would have been nothing more than a magic box.
  6. Like
    wasson65 got a reaction from chicken in Demographics of embedded development   
    I'm no spring chicken (45) and this is my guess:  When I started programming (34 years ago...), being a computer user almost always meant being a computer programmer, and being a computer programmer almost always meant that you had to have knowledge of the systems you were programming on.
     
    In other words, I think 25 years ago, there was naturally more overlap between programmers and those interested in electronics and hardware.  I mean, people used to purchase ram chips and put them into ISA boards with sockets on them to expand their memory.
     
    Now, people's phones are multiple orders of magnitude more powerful than those early computers were.  And there are lots of computer programmers who have learned how to program in high level languages and never have had to actually worry about twiddling bits outside of some basic lab in college.
     
    So, a large percentage of the 'programming' population has never had to think much about memory usage, understand how data is actually stored, understand what 'endian' means.  The connection to any particular piece of hardware has been abstracted away under so many layers of layers, that somehow it's thought that actually touching hardware is somehow mysterious and difficult.  
     
    Additionally, there is another thing: VLSI.  When the circuit boards are just two layers, and the chips don't have hundreds of millions of gates, it was actually possible to look at a physical circuit board, look at the traces, look at the connectors, look at the chips, and almost extract the entire logical schematic.  Today's schematics are almost useless as they simply show 250 lines going into one big block marked U0.  How do you even begin to understand it by observation?  There's no way.  The bottom rungs of the ladder have been knocked off.
     
    Sad.  I'm so thankful I was born when I was, because any earlier, and I would not have had my own computer at a very young age, and any later and the computer would have been so powerful it would have been nothing more than a magic box.
  7. Like
    wasson65 got a reaction from abc in Demographics of embedded development   
    I'm no spring chicken (45) and this is my guess:  When I started programming (34 years ago...), being a computer user almost always meant being a computer programmer, and being a computer programmer almost always meant that you had to have knowledge of the systems you were programming on.
     
    In other words, I think 25 years ago, there was naturally more overlap between programmers and those interested in electronics and hardware.  I mean, people used to purchase ram chips and put them into ISA boards with sockets on them to expand their memory.
     
    Now, people's phones are multiple orders of magnitude more powerful than those early computers were.  And there are lots of computer programmers who have learned how to program in high level languages and never have had to actually worry about twiddling bits outside of some basic lab in college.
     
    So, a large percentage of the 'programming' population has never had to think much about memory usage, understand how data is actually stored, understand what 'endian' means.  The connection to any particular piece of hardware has been abstracted away under so many layers of layers, that somehow it's thought that actually touching hardware is somehow mysterious and difficult.  
     
    Additionally, there is another thing: VLSI.  When the circuit boards are just two layers, and the chips don't have hundreds of millions of gates, it was actually possible to look at a physical circuit board, look at the traces, look at the connectors, look at the chips, and almost extract the entire logical schematic.  Today's schematics are almost useless as they simply show 250 lines going into one big block marked U0.  How do you even begin to understand it by observation?  There's no way.  The bottom rungs of the ladder have been knocked off.
     
    Sad.  I'm so thankful I was born when I was, because any earlier, and I would not have had my own computer at a very young age, and any later and the computer would have been so powerful it would have been nothing more than a magic box.
  8. Like
    wasson65 got a reaction from dubnet in Demographics of embedded development   
    I'm no spring chicken (45) and this is my guess:  When I started programming (34 years ago...), being a computer user almost always meant being a computer programmer, and being a computer programmer almost always meant that you had to have knowledge of the systems you were programming on.
     
    In other words, I think 25 years ago, there was naturally more overlap between programmers and those interested in electronics and hardware.  I mean, people used to purchase ram chips and put them into ISA boards with sockets on them to expand their memory.
     
    Now, people's phones are multiple orders of magnitude more powerful than those early computers were.  And there are lots of computer programmers who have learned how to program in high level languages and never have had to actually worry about twiddling bits outside of some basic lab in college.
     
    So, a large percentage of the 'programming' population has never had to think much about memory usage, understand how data is actually stored, understand what 'endian' means.  The connection to any particular piece of hardware has been abstracted away under so many layers of layers, that somehow it's thought that actually touching hardware is somehow mysterious and difficult.  
     
    Additionally, there is another thing: VLSI.  When the circuit boards are just two layers, and the chips don't have hundreds of millions of gates, it was actually possible to look at a physical circuit board, look at the traces, look at the connectors, look at the chips, and almost extract the entire logical schematic.  Today's schematics are almost useless as they simply show 250 lines going into one big block marked U0.  How do you even begin to understand it by observation?  There's no way.  The bottom rungs of the ladder have been knocked off.
     
    Sad.  I'm so thankful I was born when I was, because any earlier, and I would not have had my own computer at a very young age, and any later and the computer would have been so powerful it would have been nothing more than a magic box.
  9. Like
    wasson65 got a reaction from tripwire in Demographics of embedded development   
    I'm no spring chicken (45) and this is my guess:  When I started programming (34 years ago...), being a computer user almost always meant being a computer programmer, and being a computer programmer almost always meant that you had to have knowledge of the systems you were programming on.
     
    In other words, I think 25 years ago, there was naturally more overlap between programmers and those interested in electronics and hardware.  I mean, people used to purchase ram chips and put them into ISA boards with sockets on them to expand their memory.
     
    Now, people's phones are multiple orders of magnitude more powerful than those early computers were.  And there are lots of computer programmers who have learned how to program in high level languages and never have had to actually worry about twiddling bits outside of some basic lab in college.
     
    So, a large percentage of the 'programming' population has never had to think much about memory usage, understand how data is actually stored, understand what 'endian' means.  The connection to any particular piece of hardware has been abstracted away under so many layers of layers, that somehow it's thought that actually touching hardware is somehow mysterious and difficult.  
     
    Additionally, there is another thing: VLSI.  When the circuit boards are just two layers, and the chips don't have hundreds of millions of gates, it was actually possible to look at a physical circuit board, look at the traces, look at the connectors, look at the chips, and almost extract the entire logical schematic.  Today's schematics are almost useless as they simply show 250 lines going into one big block marked U0.  How do you even begin to understand it by observation?  There's no way.  The bottom rungs of the ladder have been knocked off.
     
    Sad.  I'm so thankful I was born when I was, because any earlier, and I would not have had my own computer at a very young age, and any later and the computer would have been so powerful it would have been nothing more than a magic box.
  10. Like
    wasson65 got a reaction from Rickta59 in Giveaways are fun, only...   
    How about soliciting donations of used 'junk' from members?  It could be sensors we don't need or want, used but working parts.  Only accept the donation if they send $2.00 to cover your shipping it to the winner, to keep people from sending junk instead of just throwing it away.
     
    For example, I've got some Propeller Quickstart boards that I'm probably not going to use, along with a batch of 256kbit serial EEPROMS where I ordered the surface mount devices instead of through-pin.  Maybe grab-bags of smaller stuff or one-off surplus buys that you find where you buy the lot of it because you'd be stupid not to but know you'll only use 5% of it in the next 10 years.  It's not that I bought 100 feet of 12 conductor ribbon cable for $3 yesterday, I'm just sayin...  
     
    Throw the donating member a bone with some reputation or badge on the site, and there you go!
     
    We've all got junk we're tired of looking at, we'd all like to help other addicts like ourselves, and we'd all love to get a neat bag of junk in the mail!
  11. Like
    wasson65 got a reaction from tripwire in Analyzing blinky's disassembly   
    In a nutshell:
     
    Programming in C:  Now why did that stupid compiler do that in a wasteful and ultra-careful way?
     
    Programming in Assembly: Now why didn't that stupid programmer spend 4 extra cycles to make that routine generally safer?
     
    -----
     
    Once upon a time, there were people who coded PC applications in assembly because it made for faster programs.  Then the machines got faster, compliers got a little better, and assembly really wasn't worth it any more on PC's.
     
    HOWEVER:
     
    Because libraries have to work (generally) on multiple architectures, and programs (generally) have to co-exist in memory and systems (generally) are multi-tasking, and interrupt routines (generally) must leave the environment exactly as they found them, there are things that the compliers are going to do, just to be 'good citizens'.  A good part of this 'good citizenship' can be dropped if you have intimate knowledge about the environment that the code is going to have to run in, which we (generally) have.
     
    And when the amount of application logic is large compared to the amount of hardware specific logic, these tradeoffs make a lot of sense.
     
    BUT:
     
    On our little '430s the hardware specific logic is probably 80% of our entire codebase, so the generalizations can begin to consume a non-trivial amount of space and cycles, which, as you know, we never have quite enough of....
     
    Viva la Assemblia!  - lol
  12. Like
    wasson65 got a reaction from jayaura in Analyzing blinky's disassembly   
    In a nutshell:
     
    Programming in C:  Now why did that stupid compiler do that in a wasteful and ultra-careful way?
     
    Programming in Assembly: Now why didn't that stupid programmer spend 4 extra cycles to make that routine generally safer?
     
    -----
     
    Once upon a time, there were people who coded PC applications in assembly because it made for faster programs.  Then the machines got faster, compliers got a little better, and assembly really wasn't worth it any more on PC's.
     
    HOWEVER:
     
    Because libraries have to work (generally) on multiple architectures, and programs (generally) have to co-exist in memory and systems (generally) are multi-tasking, and interrupt routines (generally) must leave the environment exactly as they found them, there are things that the compliers are going to do, just to be 'good citizens'.  A good part of this 'good citizenship' can be dropped if you have intimate knowledge about the environment that the code is going to have to run in, which we (generally) have.
     
    And when the amount of application logic is large compared to the amount of hardware specific logic, these tradeoffs make a lot of sense.
     
    BUT:
     
    On our little '430s the hardware specific logic is probably 80% of our entire codebase, so the generalizations can begin to consume a non-trivial amount of space and cycles, which, as you know, we never have quite enough of....
     
    Viva la Assemblia!  - lol
  13. Like
    wasson65 got a reaction from abc in A C++ wrapper for MPS430?   
    Here is something that might be more up your alley - Python for Microcontrollers, not sure how much pythonic OO it actually does:
     
    http://www.mpyprojects.com/software/mpy-language/
     
    Frankly, I rather enjoy the extreme simplicity of fiddling with bits.  I do all my 430 programming in assembly.  It's comforting in a way....
     
    Welcome aboard!
  14. Like
    wasson65 reacted to bluehash in Trading Propeller Quickstart Boards   
    I do not need the propeller boards.
    I can send you one. Depends which Launchpad you are interested in? 
  15. Like
    wasson65 got a reaction from MarkoeZ in Houston Robot Project Underway   
    Hi all,
     
    I've recently started on my robot project using an old Tamiya RC car for a chassis. Bought a Basic Stamp to tinker with and it's interesting but so limited.
     
    My name is Tim Wasson, I'm 42 and been playing with digital circuits since I was 11 years old.
     
    Found the Launchpad because they were handing them out as door-prizes at the local hackerspace, and had to buy a few. Then I read the datasheet and user guide, and got really excited - the 'mixed signal' makes a big difference, and the TI history of DSP comes through when I look at how the peripherals are configured - they look great. I used to write DSP32020 assembly for Zonic Corp in Cincinatti (since defunct) back in 1989, so I've got a soft spot for TI.
     
    Overall, the robot will consume about 10-30 MSP430 chips, all talking over I2C bus to a Propeller chip, with the 430 chips forming a kind of basic nervous system and brain-stem, and the propeller being the 'conscious' brain. The I2C bus will form a kind of spinal cord, with traffic going from to and from the conscious brain as well as directly between different functional modules at a lower, more reactive level.
     
    My overall goal is to create a robot that functions at about the level of a dog - able to chase things, sorta obey a few commands, play fetch, and respond to "Bad Dog!" and hopefully show some behavior that will surprise me.
     
    Anyway, can't wait to get started, and I'll be reading a bunch of stuff out here as we go.
     
    Tim
  16. Like
    wasson65 got a reaction from GeekDoc in Launchpad Shields discussion   
    As noted by others, the valuelines are little chips. Ram is kinda tight, not too many pins, etc.
     
    But they are dead cheap - no two ways around it. So let's think of the Launchpad + 430's strengths instead of weaknesses:
     
    1. Cheap
    2. Serial bus available
    3. ADCs and timers on many of the chips means we're not writing timing loops all the time
    4. Dev board with USB is as cheap as a bare board and bare chip.
     
    I've been tinkering with the I2C examples, the ADC and PWM stuff, and here's what I'd suggest instead:
     
    A "shield" that has male connectors, but instead of trying to stack shields together to keep adding functionality to a single MSP, you instead connect each shield to it's own launchpad and connect the two shields together with a 4 pin ribbon cable carrying Vdd, Gnd, serial clock, and serial data.
     
    Then you can connect one launchpad to the USB and power all the launchpads from that. You write simple programs that talk over the I2C bus. Instead of stacking shield on shield, you hang another launchpad + shield on the serial bus.
     
    Instead of writing big complicated programs that run everything, you write little programs that interact. The serial bus becomes our inter-shield connector. Honestly, if you have the MSP doing anything at all, you're going to use more than half the output pins, which means that the odds of two populated shields not stepping on anyone's toes is about 1 in 50, so in the end, no matter how much you standardize, there will be no practical ability to utilize more than one shield on a launchpad.
     
    Plus this makes all those cool I2C devices suddenly really easy to use (compared to starting from scratch), as the "platform" of launchpad plus serial-shield would include an optimized I2C stack that gets compiled in with their C or assembly program.
     
    So:
    1. Optimized I2C Stack
    2. Simple proto-shield with extra pins to daisy-chain the I2C and carry power between launchpads
    3. Easy debugging because you can USB into any of the devices you're using.
    4. No collisions because there is a lot more room in the I2C address space than there is pins on the 430.
    5. Easier access to a large range of I2C peripherals.
  17. Like
    wasson65 got a reaction from jsolarski in Houston Robot Project Underway   
    Hi all,
     
    I've recently started on my robot project using an old Tamiya RC car for a chassis. Bought a Basic Stamp to tinker with and it's interesting but so limited.
     
    My name is Tim Wasson, I'm 42 and been playing with digital circuits since I was 11 years old.
     
    Found the Launchpad because they were handing them out as door-prizes at the local hackerspace, and had to buy a few. Then I read the datasheet and user guide, and got really excited - the 'mixed signal' makes a big difference, and the TI history of DSP comes through when I look at how the peripherals are configured - they look great. I used to write DSP32020 assembly for Zonic Corp in Cincinatti (since defunct) back in 1989, so I've got a soft spot for TI.
     
    Overall, the robot will consume about 10-30 MSP430 chips, all talking over I2C bus to a Propeller chip, with the 430 chips forming a kind of basic nervous system and brain-stem, and the propeller being the 'conscious' brain. The I2C bus will form a kind of spinal cord, with traffic going from to and from the conscious brain as well as directly between different functional modules at a lower, more reactive level.
     
    My overall goal is to create a robot that functions at about the level of a dog - able to chase things, sorta obey a few commands, play fetch, and respond to "Bad Dog!" and hopefully show some behavior that will surprise me.
     
    Anyway, can't wait to get started, and I'll be reading a bunch of stuff out here as we go.
     
    Tim
×
×
  • Create New...