Oskar Weigl
f59c80515b
add MOTOR_ERROR_MODULATION_IS_NAN
2020-08-23 13:38:23 -07:00
PAJohnson
f52c68b3a8
Added FF terms for current control and config variables to enable them.
2020-08-21 16:52:27 -04:00
Samuel Sadok
8e15dab857
fix assert fault when config.enable_uart0 == false
2020-08-21 12:40:18 +02:00
Samuel Sadok
ebec752721
Merge remote-tracking branch 'origin/devel' into lowlevel-refactor
2020-08-19 11:51:08 +02:00
Samuel Sadok
d021945686
fix compilation on GCC <= 7.x
2020-08-19 11:38:38 +02:00
Samuel Sadok
c0b1d5a0e7
annotate GPIO list
2020-08-19 11:32:22 +02:00
Samuel Sadok
6fa76e1de8
increase UART polling frequency from 1kHz to 8kHz
2020-08-07 15:56:38 +02:00
Oskar Weigl
c4459463b4
Merge pull request #447 from madcowswe/ascii_cleanup
...
Ascii Protocol Cleanup
2020-08-05 16:06:49 -07:00
Oskar Weigl
677133d85b
fix incorrect step_cb
2020-08-05 11:54:39 -07:00
Samuel Sadok
aaab9490df
Merge branch 'devel' into ascii_cleanup
2020-08-05 19:08:23 +02:00
Samuel Sadok
b56f7c1ff2
harmonize coding style
2020-08-05 18:52:25 +02:00
sgilbert182
4c6fe56a5d
Split up menu function to individual functions, changed if else tree to switch statement.
2020-08-05 18:40:41 +02:00
Samuel Sadok
138ccaec34
optimize Stm32Gpio.read()
2020-08-05 17:04:14 +02:00
Samuel Sadok
8d144bd944
Merge branch 'devel' into lowlevel-refactor
2020-08-05 16:28:17 +02:00
Oskar Weigl
3760c7bc84
Merge branch 'rc-v0.5.0' into devel
2020-08-03 20:16:51 -07:00
PAJohnson
bf15485b3d
Merge pull request #430 from madcowswe/counts_to_rads
...
Counts to radians
The name is misleading - this PR changes the units of multiple variables from counts and counts/s to turns and turns/s. The controller inputs and gains are now encoder-agnostic.
2020-07-31 18:17:18 -04:00
PAJohnson
611d2d5021
Better style for null pointer checks
2020-07-31 18:09:52 -04:00
PAJohnson
5beb3faa83
Added null pointer checks to axis.cpp for pos_estimate_X
...
Fixed formatting
Updated CHANGELOG.md
2020-07-31 17:52:43 -04:00
Unknown
78bd5fa6e6
Merge branch 'rls_spi' into rc-v0.5.0
2020-07-31 15:35:11 -04:00
Unknown
d996f02df1
Add missing input_pos_updated call on transition to closed loop
2020-07-31 15:35:05 -04:00
Samuel Sadok
e1ffdbd33d
fix Anaconda Python detection on Windows
...
Anaconda prints version information on stderr instead of stdout.
2020-07-31 10:50:06 +02:00
Samuel Sadok
c886b49dd1
code hardening of SPI arbiter
2020-07-30 17:42:13 +02:00
Samuel Sadok
b6ac7c306a
rename config push/pop to write/read, fix order
2020-07-30 17:14:30 +02:00
Samuel Sadok
5e61c5a88a
turn GPIO feature matrix into sparse matrix
2020-07-30 17:14:30 +02:00
PAJohnson
b63983ef5c
Fixed units for can_simple protocol and updated can HWIL test
2020-07-29 20:46:26 -04:00
PAJohnson
e0f9665d2c
Fixed units for inertia
2020-07-28 21:25:30 -04:00
PAJohnson
b0700ef371
Documentation fixes for unit change
...
Fixed naming, docs, and test for CAN protocol - set trap traj a per css is now set trap traj inertia
2020-07-28 20:49:55 -04:00
Unknown
4787ca52bb
Merge branch 'rc-v0.5.0' into rls_spi
2020-07-28 00:36:30 -04:00
PAJohnson
0670017a25
In axis: counts_per_step to turns_per_step (broken during previous merge)
2020-07-27 21:39:57 -04:00
PAJohnson
8fcd5e1b30
Merge branch 'devel' of https://github.com/madcowswe/ODrive into counts_to_rads
...
Merge devel into counts_to_rads (turns) - conflict for the step input callback
2020-07-27 21:36:00 -04:00
PAJohnson
be2d1037e3
Fixed null pointer checks in controller.cpp
...
Fixed formatting in trapTraj.hpp
Fixed how pos_setpoint is set in axis.cpp to avoid transients on startup so that it will handle circular position setpoints
More unit corrections in the docs: radians -> turns
2020-07-27 21:26:41 -04:00
Oskar Weigl
d650c8caba
Update controller.hpp
2020-07-27 16:47:48 -07:00
Unknown
7d94b6c786
Fix step_cb per @PAJohnson
2020-07-27 18:20:14 -04:00
Unknown
88b3ed4260
Optimize step/dir callback
2020-07-26 16:16:10 -04:00
Oskar Weigl
ff291ae5ec
Also add _src in header
2020-07-25 20:33:41 -07:00
Oskar Weigl
af16316940
Merge branch 'devel' into counts_to_rads
2020-07-25 20:29:43 -07:00
Oskar Weigl
97469235d7
Add _src to estimate pointers
2020-07-25 20:24:55 -07:00
Samuel Sadok
5e628c5783
enhance resource usage diagnostics
2020-07-21 19:09:46 +02:00
Samuel Sadok
171dab31bd
fix ERROR_CONTROL_DEADLINE_MISSED
...
call effective_current_limit() only once instead of several times per
control iteration
2020-07-21 13:02:03 +02:00
Samuel Sadok
b7283bf1e0
add instrumentation to monitor interrupts
2020-07-21 13:02:03 +02:00
Samuel Sadok
2d256f43cb
more refactoring in perparation for new hardware
2020-07-21 13:02:03 +02:00
Samuel Sadok
938f088fc2
make axis allocation static
2020-07-21 13:02:03 +02:00
Samuel Sadok
b3ddadb360
further improve hardware independence
2020-07-21 12:55:10 +02:00
Samuel Sadok
71cc825ba2
Move complexity out of CubeMX autogenerated code
...
Where viable, customizations in the CubeMX code (mostly the USER
CODE sections) are moved to our own files (primarily main.cpp and
board.cpp).
This will minimize code duplication when adding a new, completely
separate instance of the CubeMX files. The USB code still contains a
large amount of customization which is not touched by this commit and
should be refactored separately later on.
The entry point is now in main.cpp (moved from the CubeMX-generated
main.c). This increases control over the boot process while also
improving code organization.
2020-07-21 12:55:10 +02:00
Samuel Sadok
1f3391c81b
introduce GPIO modes
2020-07-21 12:55:10 +02:00
Samuel Sadok
c745983f95
define gpios as array of Stm32Gpio objects
2020-07-21 12:31:03 +02:00
Samuel Sadok
56427ef9eb
adapt headers
2020-07-21 12:31:03 +02:00
Samuel Sadok
cc79c8eecb
overhaul timer setup/synchronization
...
This new method is more flexible in the sense of what timers to
synchronize and also provides clearer guarantees with respect to
the repetition counter and prescaler.
2020-07-21 12:31:03 +02:00
Samuel Sadok
6377df4b1e
move ext int subscribe logic to Stm32Gpio class
2020-07-21 12:31:03 +02:00
Samuel Sadok
ab7957f07f
Overhaul upper level NVM configuration manager
...
Instead of using a declarative compile-time type that defines the layout
of the NVM data, now we use procedural style code to load and store the
configuration as a series of pop and push calls. This allows for more
flexible code organization and opens the future possibility of storing
dynamically sized data (e.g. an array prepended by a length field).
2020-07-21 12:31:03 +02:00