D.R.racer
1a5cd52d58
Fix some doxygen comments
2021-09-29 13:28:34 +02:00
D.R.racer
43c953b7f1
Fix appending newline character in puts* methods
2021-09-27 11:15:20 +02:00
D.R.racer
304988fc6c
Simple debug logging via USART1
...
Encapsulates the #define macros and AVR implementation of dumping strings
(RAM and PROGMEM) onto USART1.
2021-09-27 11:15:20 +02:00
D.R.racer
b6d630d1c9
Clean up the code + introduce USB CDC module
...
... and tune some more namespaces
2021-09-23 13:06:36 +02:00
Alex Voinea
4f6ea16515
Functional USB reset
2021-09-20 19:01:08 +02:00
Alex Voinea
9f0f7bc33b
Fix limits.h naming conflict
2021-09-20 18:18:52 +02:00
D.R.racer
b9811e3c21
Fix indentation
2021-09-20 17:18:46 +02:00
Alex Voinea
fbe8d3d6cd
Simplify logic
2021-09-20 17:10:10 +02:00
Alex Voinea
89a2bdc7e4
Fix configuration compute() math
2021-09-20 17:10:10 +02:00
Alex Voinea
0e9802c4cd
watchdog configuration
2021-09-20 17:10:10 +02:00
Alex Voinea
e86def99f9
Add Disable and use the avrlibc wdt functions
2021-09-20 17:09:54 +02:00
Alex Voinea
954ef2fb8d
Reset the board using the cpu hal instead of the watchdog hal
...
Also some naming changes
2021-09-20 17:09:54 +02:00
D.R.racer
a23ed5e1bf
Add watchdog implementation + use it in main()
2021-09-20 17:09:09 +02:00
Alex Voinea
d1fd815e0c
Quick and dirty workaround
2021-09-20 16:36:44 +02:00
Alex Voinea
7fe6f6c9eb
Simplify logic
2021-09-20 16:28:53 +02:00
Alex Voinea
cf636ec095
Fix configuration compute() math
2021-09-20 16:28:53 +02:00
Alex Voinea
06b959bb66
watchdog configuration
2021-09-20 16:28:53 +02:00
Alex Voinea
a433db5648
Add Disable and use the avrlibc wdt functions
2021-09-20 16:28:42 +02:00
Alex Voinea
56eee8dcfb
Reset the board using the cpu hal instead of the watchdog hal
...
Also some naming changes
2021-09-20 16:28:42 +02:00
D.R.racer
324ced6807
Add watchdog implementation + use it in main()
2021-09-20 16:28:17 +02:00
Alex Voinea
bec3f73864
Fix typo
...
typo
2021-09-16 10:30:27 +02:00
Alex Voinea
91f622fcdc
Tighter TPWMTHRS at standstill
2021-09-16 10:30:27 +02:00
Alex Voinea
e0babfa4ba
Updated motor currents and added freewheeling
2021-09-16 10:30:27 +02:00
D.R.racer
ac78619b5b
Cache TMC error flags inside movable_base class
2021-09-02 08:35:56 +02:00
D.R.racer
309d4704b7
Fix return value of TMC2130::Init
2021-09-02 08:35:56 +02:00
D.R.racer
161e46b09a
Add unit tests for failing TMC
...
more stuff will follow as these situations seem to cause various issues
2021-09-02 08:35:56 +02:00
D.R.racer
712b67beb4
Add checking of TMC2130 error states for Idler and Selector
...
we shall think about the Pulley as well, it looks like it should get its
own class just like Idler and Selector as it behaves very similarly in terms
of stepping and error checking
2021-09-02 08:35:56 +02:00
D.R.racer
5571e77809
Improve/fix some comments
2021-09-02 08:35:56 +02:00
Yuri D'Elia
1f2662518b
Fix gpio::TogglePin on AVR
...
TogglePin was incorrectly using the PINx pin for toggling, causing the
current pins (in addition to the requested ones) to be toggled, causing
stepping havoc.
2021-08-30 07:06:28 +02:00
Yuri D'Elia
288e74283d
Introduce config::MRes and fix (real) axis units
...
The parameter config::AxisConfig::uSteps was supposed to be
microstepping resolution, but it's instead being used as the driver's
MRES directly.
To avoid a runtime conversion, rename the field to mRes and define a new
enum listing all the possible (and valid) microstepping resolutions.
This simplifies the code and makes clear the stepsPerUnit scale.
Assign correct stepsPerUnit to all axes as a result, including working
limits.
2021-08-25 09:16:56 +02:00
Yuri D'Elia
f7f0df4afa
Move hal/avr/tmc2130 into hal/ directly
...
There are no dependencies on AVR in TMC2130, so move into the main tree
2021-08-25 07:57:19 +02:00
Yuri D'Elia
0548c17078
Motion: test low-level enable changes via GPIO stub
...
This fixes the driver's enable/disable incorrectly setting the direction
bit instead.
2021-08-25 07:57:19 +02:00
Alex Voinea
fc2fce1230
Even more shr16 documentation
2021-08-23 08:18:47 +02:00
Alex Voinea
55ac3d5c32
Update documentation
2021-08-23 08:18:47 +02:00
D.R.racer
2f5dff6c5b
Introduce short namespace aliases
...
especially for modules
2021-08-04 11:03:56 +02:00
Alex Voinea
9232e55563
millis interrupt
2021-08-04 10:51:33 +02:00
D.R.racer
ef96d998a3
Link top level error reporting to TMC2130 error flags
2021-08-02 07:45:45 +02:00
D.R.racer
df2c1ba7fe
Add prototype of unified handling of HW errors in the logic layer
2021-08-02 07:45:45 +02:00
D.R.racer
b61836dd57
Remove shifting in config for TMC + add compile-time checks
2021-07-29 10:01:33 +02:00
D.R.racer
a8147be803
Fix unit tests + rebase onto main + extract TMC parameters into config
2021-07-29 10:01:33 +02:00
Alex Voinea
aca2cb7e79
tmc: Error flags
2021-07-29 10:01:33 +02:00
Alex Voinea
8577852b09
tmc2130: Stallguard and Isr
2021-07-29 10:01:33 +02:00
D.R.racer
3d1880c006
Make tests compile
...
Introduces a nasty hack to forcefully write into the constexpr SPI descriptor's registers
(which is the correct way in ASM, but kind of cumbersome in C++ now)
2021-07-29 10:01:33 +02:00
Alex Voinea
364f1bcb0d
tmc2130: error handling stack overflow fix
2021-07-29 10:01:33 +02:00
Alex Voinea
2cdc3bfbc4
tmc2130: report error during init
2021-07-29 10:01:33 +02:00
Alex Voinea
3f20ff88ee
Reorder functions
2021-07-29 10:01:33 +02:00
Alex Voinea
b97aefcb5c
tmc2130: More functions
2021-07-29 10:01:33 +02:00
Alex Voinea
129a89cf07
Fix stall detection polarity
2021-07-29 10:01:33 +02:00
Alex Voinea
5f83667b22
Finish init sequence
2021-07-29 10:01:33 +02:00
Alex Voinea
e9046eed42
tmc2130: More init
2021-07-29 10:01:33 +02:00