Yuri D'Elia
f491072614
TMC2130: Make stepping methods static
...
To keep these methods efficient no member should be accessed away.
That's the reason MotorParams is passed explicitly for each.
Mark all stepping methods as static.
2021-07-05 13:34:08 +02:00
Yuri D'Elia
28c9e55a79
Add vSense to MotorCurrents
2021-07-05 13:34:08 +02:00
Yuri D'Elia
c78ed77ccc
Revise the TMC2130 interface for stepping
...
Change the TMC2130 class after starting to review the Motion API.
Move motor mode handling and stepping to this module.
Create a new MotorParams class for compile-time settings (currently
pins, direction, microstepping).
Keep other settings separate, so that we can pass constexpr expressions
while stepping and still get 1 instruction without overhead.
2021-07-05 13:34:08 +02:00
Yuri D'Elia
ea8b335f8d
progmem: fix for AVR
...
- Fix header name
- Rename pgm_read_word to read_word since pgm_read_word is a macro
and cannot be scoped
2021-07-05 13:33:49 +02:00
Yuri D'Elia
a9937b94e2
Add initial AVR PROGMEM abstraction in hal::progmem
2021-07-05 13:33:49 +02:00
D.R.racer
5a4903a2ff
Cleanup circular_buffer implementation
...
unit tests will follow
2021-06-29 12:17:10 +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
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
9e4bd97968
Add empty EEPROM HAL implementation
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
8e994c3b17
Take over permanent storage implementation from MM-control-01
2021-06-08 06:59:14 +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
9226230fd5
Reformat sources to fit the new namespace formatting rules
2021-05-25 12:24:19 +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
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
Alex Voinea
13ee425352
Configurable SPI CPHA and CPOL
2021-05-17 17:45:31 +03:00
Alex Voinea
57abb7ecc4
Example TMC2130 pinout
2021-05-17 17:10:02 +03:00
Alex Voinea
041d75012d
Add all possible ports to the AVR GPIO hal
2021-05-17 17:09:00 +03:00
Alex Voinea
2cf1b8b523
__attribute__((always_inline)) comment
2021-05-17 12:08:20 +03:00
Alex Voinea
d2d275da25
Explain why we set SS as output
2021-05-17 09:11:24 +03:00
Alex Voinea
db98d0cf7b
Add SPI TxRx function
2021-05-17 09:11:11 +03:00
Alex Voinea
dc9528b4ea
SPI hal: Winning combo
2021-05-17 09:01:22 +03:00
Alex Voinea
ac4fdd30ad
spi hal checkpoint
2021-05-17 08:42:21 +03:00
Alex Voinea
47400f16c6
GPIO hal prototype ( #9 )
...
* gpio hal prototype
* Example gpio hal usage
* Use uint8_t for GPIO enums
2021-05-14 15:42:41 +02:00
D.R.racer
57bc5a802b
Add cpu.h/cpp, avr subdir
...
The idea is to have a separate implementation of the HAL interface for each CPU. So far we only have the AVR.
2021-04-19 07:03:47 +02:00
D.R.racer
f848c8d550
Create basic FW structure
...
- Design API's based on our discussion and block diagrams
- Set doxygen rules/preferred syntax
2021-04-19 07:03:47 +02:00