All status data is now in 3 messages automatically sent periodically
by the Jaguar, removing the need to send several hundred requests
every second.
The C++ integration test was also updated to be more robust against
timing problems.
Change-Id: I13bacc6c8173ea1a2291a96ad3bd80ff5b18d16f
The C++ and Java CANJaguar constructors now wait up to 50 ms for the status
data to arrive at least one time. They break early if it arrives sooner.
This allows status getters to always work immediately after the object is
constructed.
Change-Id: I4a1f1538837c11b24d45e87251743b6c106ddefb
For example, it's no longer possible to compile a program that uses position
control without specifying a position reference, or one that uses an encoder
as a position reference without specifying a CPR. This eliminates a lot of
common CANJaguar mistakes.
Change-Id: I2b5fe1e2884cf3a0f9d5ccd233da4c2c9c1cff4c
All configuration messages are now verified.
All status messages are requested as periodic messages and retrieved on-demand.
All relevant configuration data is re-sent after a power cycle.
Change-Id: I3322d8b41d6fe058ad404b781f54e9c6153981bf