by JonHylands » Wed Feb 28, 2007 2:27 pm
by JonHylands
Wed Feb 28, 2007 2:27 pm
Regardless of what other people decide, I have to go with approach 1 for what I need - the space constraints are simple too tight. The foot pressure sensor boards I am doing are 1" x 3/4", and on that board I have to fit a bus connector, a programming header, an ATmega168, and 4 2-pin connectors for the pressure sensors, plus a voltage regulator.
My software is coming along nicely - I have the control table set up, with special handling for the EEPROM values versus the RAM values. I can do arbitrary READ_DATA and WRITE_DATA commands (as well as PING). The IMU is hooked up, and the six 10-bit values are feeding into the corresponding RAM registers in the control table at 100 Hz. I'm also updating the LED from the LED register, so if you write a 0 or 1 to that location, it turns on/off the LED. You can change the ID of the sensor as well, since that is just another location in the control table.
Right now, the only issue is the UART code I am using is the standard UART, which assumes two data lines. Once my brother gets the UART module from the ATmega128 extracted and generalized, I'll be able to use that in my code, and actually read the response packets I am current sending off to /dev/null...
I also need to spend some time robustifying the code, specifically doing range checks on control table reads & writes, marking some of the control table locations as read-only, and that sort of thing. I'm using the response delay to pause before sending the response packets, but I haven't integrated the baud rate or the status return level.
http://www.huv.com/blog
- Jon
Regardless of what other people decide, I have to go with approach 1 for what I need - the space constraints are simple too tight. The foot pressure sensor boards I am doing are 1" x 3/4", and on that board I have to fit a bus connector, a programming header, an ATmega168, and 4 2-pin connectors for the pressure sensors, plus a voltage regulator.
My software is coming along nicely - I have the control table set up, with special handling for the EEPROM values versus the RAM values. I can do arbitrary READ_DATA and WRITE_DATA commands (as well as PING). The IMU is hooked up, and the six 10-bit values are feeding into the corresponding RAM registers in the control table at 100 Hz. I'm also updating the LED from the LED register, so if you write a 0 or 1 to that location, it turns on/off the LED. You can change the ID of the sensor as well, since that is just another location in the control table.
Right now, the only issue is the UART code I am using is the standard UART, which assumes two data lines. Once my brother gets the UART module from the ATmega128 extracted and generalized, I'll be able to use that in my code, and actually read the response packets I am current sending off to /dev/null...
I also need to spend some time robustifying the code, specifically doing range checks on control table reads & writes, marking some of the control table locations as read-only, and that sort of thing. I'm using the response delay to pause before sending the response packets, but I haven't integrated the baud rate or the status return level.
http://www.huv.com/blog
- Jon