The Simple Binary Communication Protocol (SBCP) is the main communication bus on the robot. For further information type this command in a linux terminal connected through ssh to the robot:
$ man sbcp-config
Try to list all available bus on the robot:
$ sudo sbcp-config -l
If there is no bus available, you maybe have to adjust the master ID in the config file:
$ sudo sbcp-config --global --edit
Note: There are 3 device classes (as of now):
- 0xea for motor control boards
- 0xeb for power board
- 0x00 for master communication board
$ sudo sbcp-scanner -h
- Download MPLAB X IDE and MPLAB XC16 Compiler (install MPLAB X IDE first)
- Get the sbcp-uc sources from here, and use MPLAB IDE to build this project
- Get the motordriver firmware from here, use MPLAB IDE to build this project
- Use a microcontroller programmer, and connect to a motorboard's programmer socket
- Program the motor board. You will get a default motorboard ID (as of now it is 0x42).
- Use oncilla-motor-reader program to check the id of the motordriver board and sbcp-id-modifier program to change the motorboard ID.
Note: It is a good idea to connect the motorboards to the master communication board one-by-one and modify the ids so a left-fore, right-fore, left-hind, right-hind order is kept.