Commit Graph
172 Commits
Author SHA1 Message Date
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