Commit Graph
75 Commits
Author SHA1 Message Date
Paul Guenette e720b5239d Fix GPIO Subscribe issues 2019-04-23 22:03:25 +02:00
Paul Guenette 1e5b82ca8b Merge branch 'devel' into Endstops 2019-04-23 21:48:43 +02:00
Oskar Weigl e94230275e add python side enum, fix instant timout on 1st iteration 2019-03-18 21:09:46 -07:00
Oskar Weigl fe0486aa8d Merge branch 'devel' into pr/Nomadluap/316 2019-03-18 20:24:19 -07:00
Paul Belanger 42384f3ef9 Initial implementation of comms watchdog
- Added watchdog timeout property to Axis::Config_t:
  axis.config.watchdog_timeout

- Added axis protocol function to feed watchdog timer:
  axis.watchdog_feed()

- Axis::run_control_loop now checks for watchdog expiration.

- Ascii protocol: add support for watchdog

  - The following ASCII commands now automatically update the watchdog:
    p, v, t, c, q

  - Added a 'u' command to update the watchdog of a motor without
    modifying setpoints.

  - Updated ascii protocol documentation to reflect new commands and
    effects.

- Updated getting started guide to mention watchdog settings and
  functions in protocol.

Please note: due to unavailability of hardware at this time, I have been
unable to test this code on an Odrive.
2019-03-06 14:40:59 -05:00
Oskar Weigl e3785a2aa2 make index only active when required 2019-02-11 18:42:22 -08:00
Oskar Weigl f17c96360f push index and dir search into encoder object 2019-02-11 17:32:48 -08:00
Oskar Weigl 4b998a8b64 add vel argument to constant speed spoolup 2019-02-10 20:12:32 -08:00
Oskar Weigl 2a12c1ac61 Merge branch 'devel' into preroll 2019-02-10 20:11:18 -08:00
Oskar Weigl a86fb3e59b add coherent sampling and 1.5 cycle pwm phase advance 2019-02-01 21:01:45 -08:00
Oskar Weigl 15983cc4f0 Thermal current limit with linear derating 2019-01-16 01:19:36 -08:00
Unknown e6dfa54d00 Merge branch 'devel' into Endstops 2018-12-06 23:37:04 -05:00
Oskar Weigl b3890ef9ff add option to keep encoder count from startup value 2018-10-30 01:13:39 -07:00
Oskar Weigl b09d1e9e25 make step/dir pins configurable 2018-10-22 21:03:13 -07:00
Oskar Weigl 3cb9a8d584 rename axis.enable_step_dir to axis.step_dir_active 2018-10-20 18:24:25 -07:00
Oskar Weigl d7644daaca make encoder dir find and overspeed check 2018-10-10 15:35:41 -07:00
Oskar Weigl 8c286f0a6d Lockin based index search working, clean out old search 2018-10-10 14:23:10 -07:00
Oskar Weigl b28f453833 explicit state prerequisite checks 2018-10-08 19:59:18 -07:00
Oskar Weigl 3a61b4a6ac lockin with enc sense working 2018-10-08 19:40:44 -07:00
Oskar Weigl 123d79ee46 hm something causes a hardfault 2018-10-07 23:30:24 -07:00
Unknown a2ebb7085c Merge branch 'devel' into Endstops 2018-10-06 13:33:21 -04:00
Oskar Weigl 85540cb1ab move check_for_errors to inline 2018-10-06 01:39:53 -07:00
Oskar Weigl ca83df6155 can do lockin spin at constant speed 2018-10-02 01:35:32 -07:00
Oskar Weigl a65212e2b7 move check_for_errors to inline 2018-10-02 00:44:42 -07:00
Unknown dc693ebd9c Merge branch 'devel' into Endstops 2018-09-27 20:42:30 -04:00
Oskar Weigl e88abb56eb pull in configs and enum into class for Axis and Motor, for consistency 2018-09-24 22:59:36 -07:00
Oskar Weigl 327ac51abf rewrite cpp side of trapezoidal trajectory 2018-09-24 22:45:04 -07:00
Unknown f7f2452973 Add endstop debouncing 2018-09-08 18:57:25 -04:00
Unknown 9b0bc6f840 Make Endstops objects instead of structs in Axis 2018-09-08 18:25:51 -04:00
Unknown 21bdf453c3 Fix bugs in homing by actually testing and using the debugger... 2018-09-02 01:59:35 -04:00
Unknown 03bf297bd8 Add TrapTraj to Axis and Controller. Add move_to_pos funciton 2018-09-01 23:39:31 -04:00
Unknown dd74eed54b Add <axis>.startup_homing configuration value 2018-08-29 22:49:11 -04:00
Unknown 965a42a928 Adjust pullup and interrupt mode based on endstop polarity. 2018-08-28 23:33:11 -04:00
Unknown 725f19dff0 Move endstop polarity check to avoid flipping a disabled endstop 2018-08-28 23:12:53 -04:00
Unknown ccfdddbc80 Add is_active_high config var to endstops 2018-08-28 23:12:53 -04:00
Unknown ef954aa84d Add endstop pressed errors in closed_loop_control mode 2018-08-28 23:12:53 -04:00
Unknown 41a590773f Add axis homing function and AXIS state 2018-08-28 23:12:53 -04:00
Unknown b96b4465ec Add setup and callback functions for endstops 2018-08-28 23:12:53 -04:00
Unknown 92fe075b9e Fix existing calls to GPIO_Subscribe 2018-08-28 23:12:53 -04:00
Unknown 14e917171d Rename pll_vel to vel_estimate 2018-08-23 22:26:26 -04:00
Oskar Weigl 19e3c779ae force offset cal after idx search, index now homes axis 2018-08-17 23:39:43 -07:00
Oskar Weigl 5cc1a9546d implement axis temp reading 2018-07-01 01:11:44 -07:00
Oskar Weigl 5253d1ce89 Made sensorless control configurable, and also smooth vel_setpoint transition 2018-06-23 22:38:48 -07:00
Oskar Weigl 7188e2a1c2 clean state machine level error writing 2018-05-10 14:42:35 -07:00
Oskar Weigl 0d07c71f95 push estimator updates into control loop prefix 2018-05-10 07:33:54 -07:00
Oskar Weigl a94096b64d Make subcomponent errors to always set relevant axis error; use do_checks and set_error 2018-05-10 06:56:13 -07:00
Samuel Sadok 1f504d1d99 Merge branch 'sam_testing' into sam_oskar_testing 2018-04-21 23:11:36 -07:00
Samuel Sadok 741a51442f split communication into multiple files 2018-04-20 23:44:55 -07:00
Oskar Weigl 8407721744 fix external interrupts, step dir now working 2018-04-17 03:21:03 -07:00
Samuel Sadok 44fd8090e1 add overvoltage protection
The motor phases will go into floating state as soon as an overvoltage condition is detected.
2018-04-10 15:49:16 -07:00