Oskar Weigl
78cc902857
check ACIM for skipping index requirement too
2021-01-08 10:09:32 -08:00
Samuel Sadok
d20a85187c
Merge stuff into devel
2020-12-03 12:36:45 +01:00
PAJohnson
dc1721a1dd
merge fixes
2020-12-01 22:48:47 -05:00
PAJohnson
5331df8883
Merge branch 'devel' into hall-calib
2020-12-01 22:26:43 -05:00
PAJohnson
ee06628e4c
Added comment to hall polarity detection function
2020-12-01 19:48:09 -05:00
Paul Guenette
84c8ead082
Add index offset
...
Make index_offset in turns instead of counts
Get rid of *-1 in the index offset
Fix
2020-11-27 00:38:38 -05:00
Samuel Sadok
8519315e0a
hacky support for MA732 encoder
2020-11-18 18:59:56 +01:00
Samuel Sadok
c32cbec58c
rename some of the new functions and variables
2020-11-16 21:03:23 +01:00
Samuel Sadok
a6587f8d8a
fix various issues
...
- overcurrent error during motor calibration (this is caused by
overshoot. For now we just ignore the current limit during motor
calibration as we did before)
- factor 2 error at encoder calibration
- set error flag if Motor::arm() is called while the brake resistor is
enabled but disarmed.
- only arm brake resistor if enabled
- auto-arm brake resistor on clear_errors()
2020-11-13 18:45:49 +01:00
Oskar Weigl
7afa99447c
make hall calib 30s by default
2020-11-12 15:21:25 -08:00
Oskar Weigl
04b4e9f84e
implement correction, not yet confirmed working
2020-11-08 23:19:19 -08:00
Oskar Weigl
34f55f02c1
also find direction during hall calib
2020-11-08 22:00:38 -08:00
Oskar Weigl
7ad508990d
implement normalized phase corrected hall calibration
2020-11-08 21:03:46 -08:00
Oskar Weigl
5836cfb9d0
hall phase calib first pass
2020-11-07 20:59:56 -08:00
Oskar Weigl
f923d63d16
hopefully the correct is_ready
2020-11-07 17:03:24 -08:00
Oskar Weigl
336a8b504c
hall polarity calibration
2020-11-07 16:41:51 -08:00
Oskar Weigl
b0a1ef7caa
also mask the states
2020-11-07 15:04:17 -08:00
Oskar Weigl
7d062e9018
initial hall polarity detection algo
2020-11-06 22:59:56 -08:00
Oskar Weigl
d5838e85d3
minor wordings and comments
2020-11-05 21:42:32 -08:00
Samuel Sadok
1f7815459f
Merge branch 'devel' into control-loop-refactor
2020-11-03 18:34:08 +01:00
Paul Guenette
202d3d21e5
Rename encoder.config.offset to phase_offset
2020-11-02 23:09:36 -05:00
Paul Guenette
53a976fe6b
Merge branch 'devel' into devel_fast
2020-10-30 20:48:37 -04:00
PAJohnson
e9d5f55570
Fixed the encoder offset calibration to work correctly when calib_scan_distance is not a multiple of 4pi
2020-10-29 00:20:39 -04:00
Samuel Sadok
7fd0806d49
introduce InputPort and OutputPort, don't use NAN
...
The InputPort/OutputPort infrastructure facilitates safer
data paths between components: OutputPorts store a value
and the age of the value measured in number of control loop
iterations. InputPorts can be connected to various sources,
for instance an OutputPort. InputPorts expose the values to
consumers in the form of std::optional to reflect the fact
that an InputPort can be dangling or connected to a stale
OutputPort.
2020-09-23 16:20:21 +02:00
Oskar Weigl
33987df7e1
Avoid redundant normalizing of adc voltage
2020-09-05 16:15:11 -07:00
Oskar Weigl
54636c764f
implement faster fmodf related functions
2020-09-03 20:03:10 -07:00
Samuel Sadok
89f0722654
Merge branch 'devel' into control-loop-refactor
2020-09-01 14:59:59 +02:00
Samuel Sadok
44adb60f67
make sensorless spinup transition smooth
2020-09-01 14:57:21 +02:00
PAJohnson
2f8d09fff4
Removed pos_cpr
2020-08-31 18:32:28 -04:00
Samuel Sadok
5661a3b5ed
Refactor control loop.
...
Please see https://github.com/madcowswe/ODrive/issues/472 for a detailed description.
2020-09-01 00:03:01 +02:00
Samuel Sadok
f3fa0af5c1
Fix pullup/pulldown configuration, update docs
2020-08-24 13:00:15 +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
Samuel Sadok
c886b49dd1
code hardening of SPI arbiter
2020-07-30 17:42:13 +02:00
Unknown
4787ca52bb
Merge branch 'rc-v0.5.0' into rls_spi
2020-07-28 00:36:30 -04:00
Oskar Weigl
af16316940
Merge branch 'devel' into counts_to_rads
2020-07-25 20:29:43 -07: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
6377df4b1e
move ext int subscribe logic to Stm32Gpio class
2020-07-21 12:31:03 +02:00
Samuel Sadok
b9b70b9c0a
integrate SPI arbiter with SPI encoder
2020-07-21 12:31:03 +02:00
Samuel Sadok
856455077d
refactor drv8301 driver
2020-07-21 12:31:03 +02:00
Oskar Weigl
8c85d2fe79
Add TODOs
...
Avoid transients when entering closed loop also on Circular position mode.
Phase interpolation is snapping to hard.
2020-07-18 19:05:34 -07:00
Stephen Mounioloux
06989366a5
Added pos_abs_ latch in encoder::update()
2020-07-17 13:22:11 +02:00
samuelsadok
9bf5a8df85
Merge pull request #439 from zytra/rc-v0.5.0
...
Added pos_abs_ latch in encoder::update()
2020-07-17 13:18:17 +02:00
PAJohnson
e1b1641d70
Changed from radians internally to units of "turns" where a full rotation is 1.0 turn
...
Changed documentation to reflect the unit change
2020-07-14 20:02:59 -04:00
PAJohnson
256a76fed2
Changed old-school variable reuse to modern style declarations
2020-07-14 18:23:30 -04:00
PAJohnson
a2626889c5
Added pos_circular_ to Encoder for tracking position in a circular space
...
Corrected docs as they relate to unit changes
Added pos_estimate_linear and pos_estimate_circular to Controller and eliminated pointer switching logic in Controller::select_encoder()
2020-07-14 17:22:39 -04:00
Stephen Mounioloux
bdb935ee99
Added pos_abs_ latch in encoder::update()
2020-07-13 22:03:21 -07:00
PAJohnson
9d5b2bc6d8
Changed conditions and sources of wrapping for the circular setpoint feature as it related to this unit change. setpoints_in_cpr is still not exposed as an endpoint due to implementation changes when input_mode was introduced.
2020-07-13 23:31:57 +01:00
PAJohnson
aa79b7ebe0
Merge branch 'counts_to_rads' of https://github.com/madcowswe/ODrive into counts_to_rads
2020-07-13 21:05:41 +01:00