Commit Graph

834 Commits (034d007b33dd2a7a055d4341b117f3d77358b0e7)

Author SHA1 Message Date
D.R.racer b8f6bc9a4e Tune Feed to FINDA state machine and its unit test
so that it works as expected

Still, there is a task of resetting all of the state machines just for
the next unit test to be run.
2021-06-21 10:22:17 +02:00
D.R.racer f0a042c1b6 Add unit tests for Feed to FINDA state machine
+ improve infrastructure
2021-06-21 10:22:17 +02:00
D.R.racer 925201d77a Basic unit test structure for the logic layer
It compiles the Cut Filament unit test with all the necessary components.
Still, the unit test does nothing.
2021-06-21 10:22:17 +02:00
Alex Voinea e5215c7b84 SHR16 tmc control 2021-06-21 06:14:01 +02:00
Alex Voinea 19bc26219b Fix usart not working 2021-06-18 06:43:55 +02:00
Alex Voinea 113f9d7664 Fix build 2021-06-18 06:42:28 +02:00
Alex Voinea 6bd4db2681 Functional SHR16 2021-06-18 06:42:28 +02:00
Alex Voinea 7845f9aad4 SHR16 gpio 2021-06-18 06:42:28 +02:00
D.R.racer 58fe013471 Fix compilation 2021-06-16 06:43:20 +02:00
D.R.racer d6c9e58e66 Add global state hive
+ solve many TODO's in the code (active slot/extruder and filament loaded flag)
2021-06-16 06:43:20 +02:00
Yuri D'Elia 4d1a26aeea Define missing definition of CMAKE_OBJDUMP 2021-06-15 06:53:03 +02:00
Yuri D'Elia 070552200a Use cmake's binutils paths for custom targets
Again, this fixes the build when multiple versions of binutils/avr
toolchains are avalable.
2021-06-14 07:36:17 +02:00
Yuri D'Elia f30c009304 Use AVR_TOOLCHAIN_DIR correctly
Probably copy/paste typos.
2021-06-14 07:36:17 +02:00
D.R.racer 9e4bd97968 Add empty EEPROM HAL implementation 2021-06-14 07:34:59 +02:00
D.R.racer dfb57bcae5 Add Load filament state machine
+ printer's fsensor (external) module
+ state machine for loading to bondtech
2021-06-14 07:34:59 +02:00
D.R.racer 7cab9dc915 Add Tool change operation 2021-06-14 07:34:59 +02:00
D.R.racer ea65b75120 Add Eject filament operation
+ refactor other state machines a bit - Reset() now has the parameter which comes in the RequestMsg
2021-06-14 07:34:59 +02:00
D.R.racer 7bfc1bad97 Cut filament prototype state machine 2021-06-14 07:34:59 +02:00
D.R.racer 4a79b4b865 UnloadFilament - refactor for the new Idler API 2021-06-14 07:34:59 +02:00
D.R.racer 96be4b18a2 main - add Idler and Selector modules into main loop stepping 2021-06-14 07:34:59 +02:00
D.R.racer d0095a01aa Buttons - add AnyButtonPressed() 2021-06-14 07:34:59 +02:00
D.R.racer ade5f11fe2 Motion - remove dummy Idler functions 2021-06-14 07:34:59 +02:00
D.R.racer 9caf680633 Add Feed to FINDA state machine 2021-06-14 07:34:59 +02:00
D.R.racer 7555bbb906 Add Selector module 2021-06-14 07:34:59 +02:00
D.R.racer b4e8c3fa5d Add Idler module 2021-06-14 07:34:59 +02:00
D.R.racer 05ff998c01 Lay out the other high-level commands/operations
- cut, eject, load filament, toolchange
- uncomment them in main.cpp
- their implementation is still empty
2021-06-14 07:34:59 +02:00
D.R.racer 5b4eb0cee3 Extract Unload filament into a separate file
+ cleanup the object structure
+ add no_command as the starting "operation" to simplify the rest of the command handling at runtime
2021-06-14 07:34:59 +02:00
D.R.racer 271a2dd7df Minor tweaks after rebase onto main 2021-06-14 07:34:59 +02:00
D.R.racer 6f1624b718 Make logic prototype compilable 2021-06-14 07:34:59 +02:00
D.R.racer 2159558d88 Prototype of Unload Filament command/operation
+ related stuff:
- command decoding+processing+reporting in main.cpp
- slight refactoring of modules
2021-06-14 07:34:59 +02:00
D.R.racer ca6de101c3 Logic - first try 2021-06-14 07:34:59 +02:00
D.R.racer 019f74d6f2 Add debouncing for FINDA 2021-06-08 07:00:07 +02:00
D.R.racer c4b181e842 Update CMakeLists.txt 2021-06-08 07:00:07 +02:00
D.R.racer 939b47d260 FINDA interface module 2021-06-08 07:00:07 +02:00
D.R.racer 3ef113cf6c Add basic motion API 2021-06-08 06:59:49 +02:00
D.R.racer 8e994c3b17 Take over permanent storage implementation from MM-control-01 2021-06-08 06:59:14 +02:00
D.R.racer 9f2b5e5ecb Add vscode configuration to allow easier switching among firmware and unit tests 2021-05-31 12:28:47 +02:00
DRracer 2c6ab48196
Merge pull request #13 from DRracer/leds
Add interface module for driving LEDs
2021-05-27 13:55:17 +02:00
D.R.racer bd335ec30d Unit test for LEDs interface + fixes 2021-05-26 11:39:24 +02:00
D.R.racer 004db59da0 Add shift register interface and improve LED integration with it 2021-05-26 09:29:32 +02:00
D.R.racer c377674aee Prepare unit tests for LEDs 2021-05-25 12:33:50 +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 acc33bfacb Do not indent namespaces 2021-05-25 12:23:29 +02:00
D.R.racer 6cb072ce79 Rebase onto main + clean up the code a bit 2021-05-25 11:55:28 +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 7611b98830 Add more unit tests and optimize (saved 1 byte per button on the AVR) 2021-05-25 10:02:02 +02:00
D.R.racer 7ece1fb28d Add missing buttons.h 2021-05-25 10:02:02 +02:00
D.R.racer ba8eacfe33 Buttons module implementation
A module representing a model of the 3 buttons
Includes a unit test project (empty at this stage)
2021-05-25 10:02:02 +02:00
Alex Voinea 47528c3bca USART hal prototype 2021-05-24 12:32:10 +02:00
DRracer fc6fc5b2ca
Merge pull request #10 from DRracer/protocol-codec
Protocol implementation
2021-05-19 08:20:18 +02:00