Guðni Már Gilbert
6a4ebdaee6
optimisation: inline functions to reduce size
...
Change in memory:
Flash: -394 bytes
SRAM: 0 bytes
Breakdown:
|------------------------------------------------------------|
| Function name | Flash reduction |
|------------------------------------------| ----------------|
|CommandBase::FinishedOK | 182 bytes |
|MovableBase::InitMovementNoReinitAxis | 60 bytes |
|TMC2130::CheckForErrors | 36 bytes |
|Protocol::UInt16ToHex | 32 bytes |
|AddErrorAxisBit | 24 bytes |
|Application::CheckManualOperation | 22 bytes |
|CommandBase::GoToErrEngagingIdler | 12 bytes |
|Application::PlanCommand | 12 bytes |
|Pulley::FinishHomingAndPlanMoveToParkPos | 8 bytes |
|Pulley::InitAxis | 4 bytes |
|------------------------------------------------------------|
2022-11-19 11:55:46 +01:00
D.R.racer
48d5bbc19e
Fix computation of CRC for Write requests (non-zero value2)
2022-09-08 11:39:10 +02:00
D.R.racer
89fc176955
Add basic unit test infrastructure for application + registers
2022-08-11 10:26:42 +02:00
D.R.racer
39caece714
Add CRC to the protocol + unit tests
2022-08-11 10:26:42 +02:00
D.R.racer
bf5c0f3f23
Allow result codes on a Finished Command state
...
Helpful for the printer to show, that a command has been cancelled (or anything else we can think of in the future).
MMU-146
2022-08-11 10:26:42 +02:00
D.R.racer
ad0b26c5ec
Fix unit tests
2022-08-11 10:26:42 +02:00
D.R.racer
53f87c8755
Introduce generic Read/Write register operations
2022-08-11 10:26:42 +02:00
D.R.racer
b82ffe8db9
Add missing ResponseParamCode Button support + unit test
2022-06-20 17:03:40 +02:00
D.R.racer
ff1a89d369
Detect successful end of logic::command + start idle countdown
...
This commit looks horribly complex, but the main idea is to have each of the logic::commands
report their terminal OK state in the same way. That allow for leveraging this very moment
to initiate the idle timeout.
Additionally, I wanted to hide the logic of idle mode detection, which resulted in moving the
top level logic from main.cpp into logic/idle_mode.cpp and a set of additional files to compile
in unit tests.
2022-05-10 20:03:16 +02:00
D.R.racer
0c9d59ba5a
Fix processing of Home commands + unit tests
2022-02-17 08:21:15 +01:00
D.R.racer
0fbcb9dac2
Tag all source files with @file for doxygen
2021-10-18 17:59:46 +02:00
D.R.racer
1402fb3dd6
Add 'F' and 'f' decoding + unit tests where necessary
2021-09-29 13:28:34 +02:00
D.R.racer
4900dd0222
Change FilamentSensor msg code from 'F' to 'f'
...
to avoid clash with Filament Type msg (which is not handled yet)
2021-09-29 13:28:34 +02:00
D.R.racer
e277ca75ee
Support F0 in response decoder
2021-09-29 13:28:34 +02:00
D.R.racer
e59e7e3884
Make protocol decoder tolerant to leading whitespace
2021-09-29 13:28:34 +02:00
D.R.racer
89dcafbcef
Add internal protocol decoding reset
2021-09-29 13:28:34 +02:00
D.R.racer
f0b8cc9895
Fix encoding of Query responses for high numbers of errors
...
+ improve unit tests directly for the enumerated errors in logic/error_codes.h
2021-08-12 10:55:27 +02:00
D.R.racer
751ee46450
Add bit masks for error codes for the TMC drivers
...
+ add common error handling for idler and selector
+ improve error handling in command_base
+ rename ERR1xxxx errors to ERRxxxx (remove the '1')
2021-08-02 07:45:45 +02:00
D.R.racer
1f7a84a623
Support CR XOR LF in protocol's line ending implementation
...
Please note Windows CRLF sequence is not supported,
but a separate CR xor a separate LF works now.
This is a workaround for stupid terminals for debugging purposes,
and it is not necessary for the protocol to work on its own.
It may be removed in the future.
2021-07-26 09:34:02 +02:00
D.R.racer
9226230fd5
Reformat sources to fit the new namespace formatting rules
2021-05-25 12:24:19 +02:00
D.R.racer
fce2195558
Interface module for driving LEDs
...
+ start shaping up main.cpp
+ make the usage of namespaces and class names more consistent throughout the whole project
+ refactor related unit tests accordingly
2021-05-25 11:00:30 +02:00
D.R.racer
fe0ac4f9f9
More unit tests for decoding of response messages
...
+ related changes in code
2021-05-18 08:18:11 +02:00
D.R.racer
30fbf6d870
Unit tests for decoding requests and responses
...
+errors on requests
2021-05-18 08:18:11 +02:00
D.R.racer
0633dea881
Protocol implementation
...
+ unit tests for encoding of messages
API still subject to minor changes
2021-05-18 08:18:11 +02:00