RFBee firmware updating

Team,

just committed a new version. (rev 24)
The SVN url is: rfbee.googlecode.com/svn/branches/v1.1/RFBee

For each rfBee do the following:

  1. upload the code using the Arduino IDE
  2. +++ (you are now in command mode)
  3. atrs (reset the config, to ensure the eeprom values match this version of the code)
  4. ato0 (back to online mode)

This one works on my pair of bees, any input on the serial of RFbee 1 shows up on the output of RFbee 2.
With output format (ATOF) set to 0 (is the default) this means you now have a virtual wire :wink:

I set the default for rfBeeMode to transceive_mode so it works both ways out of the box.
The interrupt_receive handler is currently a bit of mess, so please do not enable it.

I was thinking to integrate the firmata protocol ( firmata.org/wiki/Main_Page )
Its common software for arduino (lib is available in the IDE) and seems to take about 1 KB of flash. If we then add a ATMD 5 being firmata then we can do the following:

rfBee1 in mode 3 (transceive) connected to a PC
rfbee2 in mode 5 (firmata) connected to I/O (leds, steppers etc)

any firmata command (e.g. Digital 10 HIGH) send via USB from rfbee 1 will be executed by rfBee 2.
As there is plenty of host software (python , flash etc) available, it will be a breeze to integrate :wink:

My suggestion would be to emit any received firmata traffic (wile in MD 5) on the serial as well to aid in debugging :wink:

Then some small improvements, I think we should:

  • set the default for threshold (ATTH) to 1 as its not intuitive for users that data is only send in multiples of 4 bytes.
  • persist the rfbeeMode (ATMD) value, so the bee will still be in whatever mode after reset.

What do you think ?

Cheers,

Hans