Reply To: CHR Serial Interface – Configuration broken
This is a known issue when lowering the baud rate. If the UM7 is trying to put more data on the bus than can fit given the current baud rate, then it ends up dropping packets. If you are doing a configuration register read, then it can time-out because the response packets are being dropped.
The workaround is to turn off most or all data transmission before lowering the baud rate, and then gradually increasing what is transmitted to ensure that the bus doesn’t get overwhelmed.
It is also good to avoid issuing a WRITE_TO_FLASH command until it is verified that the new rate is working properly, so that you can cycle the power to revert the settings if there is a problem.
If you do get stuck with a swamped bus, you can either issue a RESET_TO_FACTORY command to load the original baud rate, or if that doesn’t work, you can reflash the firmware to restore all default settings.
To reflash the firmware:
1) download the most recent version of the firmware from here: http://www.chrobotics.com/shop/um7-orientation-sensor (it’s under the “resources” tab).
2) With the UM7 powered off, short the BOOT pin to any 3.3V output pin on the UM7
3) Power the device. The status LED should remain off if the bootloader starts properly.
4) In the Serial Interface, select the downloaded firmware. Make sure that the serial port baud rate is 115200. Click “program” WITHOUT clicking “connect” first.
5) Once programming is complete, remove the BOOT to 3.3V short and cycle the power.