by Pev » Tue Feb 13, 2007 11:07 pm
by Pev
Tue Feb 13, 2007 11:07 pm
Hi,
Mark was kind enough to send me one of his PCBs so I could build an I-O Module to play with (Thanks Mark) and as such Mark and I have been in contact working on this stuff for the last few days. This is where we have got to:
With the attached BASCOM code we have managed to do the following:
1. Register the I-O module as ID-50 on the BUS
2. Respond to all ping requests
3. Programatically turn the LED on the board on and off by send values to register 25 for ID 50 (1 = on, 0 = off)
4. Respond to read requests for the following registers:
Firmware - register 2 - return our firmware version 102
Internal Temperature - register 43 - retruns psuedo temp of 35
Moving Flag - register 46 - always returns 0 as not a servo
LED status - register 25 - 1=on 0 = off
We are seeing the occasional packet error under load but when this happens the module does recover.
Here is the code and a simple test BPG program:
http://robosavvy.com/Builders/Pev/MP%20Bioloid%20IO%20Module%20-%20v0-2.zip
We are pressing ahead and have interfaced a Devantech SRF04 sonar to the unit. Due to the nature of this unit (it waiting 65ms during ranging) we have seen some timing issues but have been able to read range results. The timing issues make it less than practical though, and has certainly made me think that this may be why the Robotis AX-S1 unit uses sensors with no read delays like the Sharp style IR Ranger, Light Level reading etc.
Anyway thats where we have got to, comments and suggestions appreciated. Oh and please excuse my poor excuse for code, it does work but I am no programmer
Cheers
Pev
Hi,
Mark was kind enough to send me one of his PCBs so I could build an I-O Module to play with (Thanks Mark) and as such Mark and I have been in contact working on this stuff for the last few days. This is where we have got to:
With the attached BASCOM code we have managed to do the following:
1. Register the I-O module as ID-50 on the BUS
2. Respond to all ping requests
3. Programatically turn the LED on the board on and off by send values to register 25 for ID 50 (1 = on, 0 = off)
4. Respond to read requests for the following registers:
Firmware - register 2 - return our firmware version 102
Internal Temperature - register 43 - retruns psuedo temp of 35
Moving Flag - register 46 - always returns 0 as not a servo
LED status - register 25 - 1=on 0 = off
We are seeing the occasional packet error under load but when this happens the module does recover.
Here is the code and a simple test BPG program:
http://robosavvy.com/Builders/Pev/MP%20Bioloid%20IO%20Module%20-%20v0-2.zip
We are pressing ahead and have interfaced a Devantech SRF04 sonar to the unit. Due to the nature of this unit (it waiting 65ms during ranging) we have seen some timing issues but have been able to read range results. The timing issues make it less than practical though, and has certainly made me think that this may be why the Robotis AX-S1 unit uses sensors with no read delays like the Sharp style IR Ranger, Light Level reading etc.
Anyway thats where we have got to, comments and suggestions appreciated. Oh and please excuse my poor excuse for code, it does work but I am no programmer
Cheers
Pev
Last edited by Pev on Wed Feb 14, 2007 12:39 am, edited 1 time in total.