by i-Bot » Thu Apr 10, 2008 2:35 pm
by i-Bot
Thu Apr 10, 2008 2:35 pm
This code should set the com port to 115K all the time. When you are using bluetooth the RN end bluetooth is at 115K. Even though the PC end may think it changes speed, it does not.
http://robosavvy.com/Builders/i-Bot/115cut.bin
You will need to use roboflash to load it.
If you want to try without changing the flash
You can set the speed by poking into the baud register. You must use a constant as the poke variable is broken.
POKE &H99, 3 'set serial speed to 115K
The speed will stay at 115K until you either do a reset, or a download.
For the move:
The desired positions are stored in 24 memory locations from &H300.
The current positions are stored in 24 memory locations from &H320
They can both be PEEKed there.
When a move is started a bit is cleared in locations &H4E3, &H4E4, &H4E5.
there is one bit per servo starting at bit 0 in &H4E3.
When the current = the desired, then the corresponding bit is set.
A move is complete when all 3 bytes = &HFF
If you want to POKE any of these locations remember the POKE instruction in Robobasic is broken, for Poking variables. Constant values are OK
This code should set the com port to 115K all the time. When you are using bluetooth the RN end bluetooth is at 115K. Even though the PC end may think it changes speed, it does not.
http://robosavvy.com/Builders/i-Bot/115cut.bin
You will need to use roboflash to load it.
If you want to try without changing the flash
You can set the speed by poking into the baud register. You must use a constant as the poke variable is broken.
POKE &H99, 3 'set serial speed to 115K
The speed will stay at 115K until you either do a reset, or a download.
For the move:
The desired positions are stored in 24 memory locations from &H300.
The current positions are stored in 24 memory locations from &H320
They can both be PEEKed there.
When a move is started a bit is cleared in locations &H4E3, &H4E4, &H4E5.
there is one bit per servo starting at bit 0 in &H4E3.
When the current = the desired, then the corresponding bit is set.
A move is complete when all 3 bytes = &HFF
If you want to POKE any of these locations remember the POKE instruction in Robobasic is broken, for Poking variables. Constant values are OK