3d-gussner
5accb05b2d
Fix and add units
2022-09-09 16:57:04 +02:00
3d-gussner
9c751d592d
Update register documentation
2022-09-09 16:57:04 +02:00
D.R.racer
210bd99eaa
Implement Idler moves via registers
2022-09-08 11:51:59 +02: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
9a5a6d9498
Fix computation of CRC
...
came out of unit tests of read/write registers functionality.
2022-09-07 15:44:08 +02:00
D.R.racer
5d2a0dab04
Fix selector's homing feedrate
2022-08-18 07:29:51 +02:00
D.R.racer
a5ce819143
Raise version (due to changed register layout)
2022-08-16 10:35:31 +02:00
D.R.racer
10514380a4
Change layout of registers - avoid empty registers
2022-08-16 10:35:31 +02:00
D.R.racer
74160c6c81
Remove PROGMEM temporarily - make registers actually work on AVR
...
This needs some investigation if it is really possible to push the Registers into PROGMEM. I think it should be possible, but the compiler is currently not collaborating.
It is not critical though as we have lots of free RAM at the moment (I can't believe I wrote this on an AVR project :) )
2022-08-11 10:26:42 +02:00
D.R.racer
89fc176955
Add basic unit test infrastructure for application + registers
2022-08-11 10:26:42 +02:00
vintagepc
fdb2058d2b
Fix test build
2022-08-11 10:26:42 +02:00
VintagePC
fc5e8a6ae0
Make CMake the source of truth for versioning
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
283403306e
Add additional registers
...
It looks like the units' conversion linked some floating point routines ... C++ units are a PITA :(
2022-08-11 10:26:42 +02:00
D.R.racer
8473e84f89
Fixup CppCheck complaints
2022-08-11 10:26:42 +02:00
D.R.racer
caf3bc86b7
Fixup after rebase
2022-08-11 10:26:42 +02:00
D.R.racer
94d6795252
Add register for FSensorToNozzleFeedrate
2022-08-11 10:26:42 +02:00
D.R.racer
7bc9217cd7
Move register map into PROGMEM
...
hopefully the compiler understands...
2022-08-11 10:26:42 +02:00
D.R.racer
48dacd57bd
Improve code style (constexpr + unions = avoid reinterpret_cast)
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
a0bff0ef3a
Introduce register map + use Read/Write register
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
5dffd32025
Introduce Idler::PartiallyDisengage
...
This is to solve a potential problem while feeding to printer's drive gears - while disengaging the Idler, the Pulley was still rotating to avoid grinding the filament (printer is pulling it).
Other filaments could have moved a bit when the Idler's bearings ran over them while the Pulley was still rotating slowly -> the filament could have been moved into the Selector's path causing trouble (especially when not used in the print).
Therefore, the Idler disengages partially now - moves into an intermediate position between the slots.
Then, the Pulley is completely stopped and after that the Idler does a full disengage like before.
2022-08-02 07:28:10 +02:00
D.R.racer
4964e9a781
Fixup unit tests due to new homing behavior
2022-08-02 07:16:54 +02:00
Alex Voinea
989b6e6191
homing changes to increase reliability
2022-08-02 07:16:54 +02:00
D.R.racer
7002e3b0c7
Avoid homing Idler and Selector at the same time
...
This PR is an experimental code to delay homing of the Selector after the Idler homes properly.
Unit tests are expected to fail at this moment...
2022-08-02 07:16:54 +02:00
3d-gussner
857b028baf
Update vscode to avr-gcc
2022-07-27 17:04:52 +02:00
Yuri D'Elia
289eca1295
Drop irrelevant pre-commit exclude paths
2022-07-27 17:04:52 +02:00
Yuri D'Elia
8e6aa41299
Update Jenkins rules to match updated cmake/ninja versions
2022-07-27 17:04:52 +02:00
Yuri D'Elia
7c0548a62c
README: Mention the correct output filename
2022-07-27 17:04:52 +02:00
Yuri D'Elia
392298c3da
Uniform gcc-avr => avr-gcc for consistency
2022-07-27 17:04:52 +02:00
Yuri D'Elia
911b1c5e69
HexConcat: Silence a cmake 3.22 warning
2022-07-27 17:04:52 +02:00
Yuri D'Elia
05aba7141b
Add the AvrGcc toolchain to lock gcc version
...
Substitute documentation to reference AvrGcc by default, which locks gcc
to the dependency folder.
AnyAvrGcc is inteded to use any system/external gcc version (as the name
implies).
2022-07-27 17:04:52 +02:00
Yuri D'Elia
2117ee12de
Update boostrap.py from Buddy
2022-07-27 17:04:52 +02:00
Yuri D'Elia
186c07d771
Require cmake 3.22.5 for consistency with Buddy
2022-07-27 17:04:52 +02:00
Yuri D'Elia
534347151a
Remove unused ARM cmakefiles
2022-07-27 17:04:52 +02:00
VintagePC
1bc5fdaec4
Fix filename passing to hex modifier
2022-07-27 17:04:52 +02:00
3d-gussner
a241f55513
Update vscode
...
Remove fixed version in AnyAvrGcc.cmake
Update build.py to use current avr-gcc version defined in bootstrap.py
Attempt to change MM-control-01.hex to MMU2SR-<project version> like in buddy releases
2022-07-27 17:04:52 +02:00
3d-gussner
d04e5e704b
Update vscode settings
...
Update README and version
2022-07-27 17:04:52 +02:00
D.R.racer
858cd0349b
Upgrade build system to gcc 7.3
...
based on PR#185 and https://github.com/wavexx/Prusa-Firmware-MMU-Private/pull/1
2022-07-27 17:04:52 +02:00
Yuri D'Elia
d9355249a0
Enable LTO
2022-07-25 10:27:16 +02:00
Yuri D'Elia
4794cfea40
Convert illegal constexpr to static const pointers
...
We cannot get a constexpr definition of the register addresses, and any
reinterpret cast is currently illegal for a constexpr in c++17.
Change the SPI0, TIFR and TIMSK to volatile const pointers instead.
SPI0 has volatile members instead of marking the entire struct as
volatile, which is probably not a good idea as it technically drops the
volatile from the original pointer.
2022-07-25 10:27:16 +02:00
Yuri D'Elia
d34b79b087
Update standard to c++17
2022-07-25 10:27:16 +02:00
VintagePC
7418e3643e
Add cmake code to prepend the Prusa Magic™
2022-07-25 09:09:22 +02:00
D.R.racer
a7587d737a
Bump version to 2.0.19
...
since we introduced a breaking change (extension) of protocol in commit 32ad80e
2022-07-22 16:00:44 +02:00
D.R.racer
3c3e625f39
Unit test ErrDisengageIdler: make sure it never sets error while disengaging
2022-07-20 16:23:43 +02:00
D.R.racer
4e44447762
Change the unit tests to follow the new spec
2022-07-20 16:23:43 +02:00
D.R.racer
32ad80e283
Confirm Button "commands" as well (send B0 A)
2022-07-20 16:23:43 +02:00
D.R.racer
7688554581
Defer setting error until ErrDisengagingIdler finishes
2022-07-20 16:23:43 +02:00