These changes represent a huge amount of work over many months.
The ISR has gotten completely refactored, focusing on time efficiency, profiled by examining assembly output after many incremental changes/experiments
LM and LT were heavily refactored
L3 and 3T were added to support moves with jerk specified as well as acceleration
New test modes (through the use of the CU command) were added to enable production versions of EBF firmware to be used for ISR timing testing and math regression testing
The math used for LM, LT, L3 and 3T is heavily tested using automated Python scripts to generate test cases and check them against EBB firmware running on EBB hardware.
All EBF code has been modified to contain uniform formatting (for example, spaces vs tabs)
This PR is being merged into a new EBF v3.0.0 branch, which will become a non-backward compatible firmware version with many other changes as well. This is the start of those changes. The version number currently in the code is 2.9.03, which is not officially released, but is an internal testing version number.
The documents have not been updated for the above changes. That will come as separate PRs once all of the v3.0.0 changes are nearing completion.
The primary purpose of this PR is simply to get all of these changes into a branch which can then be used for all the other v3.0.0 changes.
These changes represent a huge amount of work over many months.
This PR is being merged into a new EBF v3.0.0 branch, which will become a non-backward compatible firmware version with many other changes as well. This is the start of those changes. The version number currently in the code is 2.9.03, which is not officially released, but is an internal testing version number.
The documents have not been updated for the above changes. That will come as separate PRs once all of the v3.0.0 changes are nearing completion.
The primary purpose of this PR is simply to get all of these changes into a branch which can then be used for all the other v3.0.0 changes.