Firmware Backward Compatibility
Description
Needed more checks to make sure BurtSharp RobotController doesn't try to access UFE features. Specifically, steps to initialize RobotController are taken in a different order by Burt activities than by most BurtSharp programs. I added a sandbox program to mimic it called BurtActivityTest, so that those kinds of bugs will hopefully be caught quicker.
The problem that caused the bug, in a nutshell, is that the Unity activities want to initialize the robot controller class before opening the connection with the server. Until the connection is opened, we don't know what version of firmware we have and what features will be compatible. So for this to work we have to be really flexible in the order in which initialization and verification of feature compatibility is done.
The change in RobotAccelerationEstimatorTest is just a random small bug I noticed and fixed.
What to focus on
- Test BurtSharp programs that use UFE features with firmware version release-6.4.0 (charlie) and dev-6.7.0 (delta).
- Test Unity activities (burt/software/burt-sharp-unity!140) with both firmware versions.