New updates, new bugs.
In testing the updated code at the end of last week I experienced some strange behaviour. It turned out to be a subtle issue with the manipulation of the process sequence. The result was poor initial (first time after power on) performance for the dead reckoning. In the worst case scenario it could give errors in the order of a meter for the first steps. The bug had been around since the revision from 16th of Jan. Now it’s fixed in revision 15f969 and I recommend to upgrade if you are using the dead reckoning command (0x34).
I’ve also made a few other updates. The only important one from the user perspective is that I’ve moved the functions which read data from the IMUs to the process sequence. This is to get more flexibility, and really there is nothing special about this function so it fits better in the process sequence than beside it. The imu_read() function is in the process sequence by default and it has been added to all combined commands. Consequently, from the user interface perspective, the differences are small. However, if you are manually manipulating the process sequence, you will have to take into account that the imu_read() function should probably reside in the first slot in the sequence.
The plan is to spend part of this week on testing, revising and refactoring the code so more updates may come. However, the revision of the communication protocol was a one-time thing and I do not plan on making any significant changes there.