by i-Bot » Fri Jul 07, 2006 12:50 pm
by i-Bot
Fri Jul 07, 2006 12:50 pm
The pdf is not complete, but we are not going to get much more about the serial protocol, since we only have the meager information from Hitec plus what is captured from normal RoboBasic or Roboscript transactions. You can make the Robonova do pretty much anything with these commands, but the limitation is the 9600 serial speed.
To program the Robonova, requires to go one level deeper. The intermediate byte code which is downloaded to the Robonova using the download command is created from RoboBasic. The code created from RoboScript is identical, only having less commands, and doing some extra intitialisation. The download protocol is pretty simple and the script is put into the Robonova EEPROM. It can be executed from the start command.
So what of the actual intermediate code ? Well it is byte aligned, so fairly easy to read. GOTOs use actual physical EEPROM addresses, and variables are allocated in RAM starting at location 0x40.
So you could create your own intermediate code for the Robonova to execute. Execution is still fairly slow with a few ms per instruction.
If there is interest, I can document the intermediate code format. I already have many of the keywords, variables, constants. I am not an expert in such areas, so it may be best if I just dump down what I know first, then someone who understands interpreters and syntax descriptions could help describe the structure properly.
The pdf is not complete, but we are not going to get much more about the serial protocol, since we only have the meager information from Hitec plus what is captured from normal RoboBasic or Roboscript transactions. You can make the Robonova do pretty much anything with these commands, but the limitation is the 9600 serial speed.
To program the Robonova, requires to go one level deeper. The intermediate byte code which is downloaded to the Robonova using the download command is created from RoboBasic. The code created from RoboScript is identical, only having less commands, and doing some extra intitialisation. The download protocol is pretty simple and the script is put into the Robonova EEPROM. It can be executed from the start command.
So what of the actual intermediate code ? Well it is byte aligned, so fairly easy to read. GOTOs use actual physical EEPROM addresses, and variables are allocated in RAM starting at location 0x40.
So you could create your own intermediate code for the Robonova to execute. Execution is still fairly slow with a few ms per instruction.
If there is interest, I can document the intermediate code format. I already have many of the keywords, variables, constants. I am not an expert in such areas, so it may be best if I just dump down what I know first, then someone who understands interpreters and syntax descriptions could help describe the structure properly.