Commit Graph
53 Commits
Author SHA1 Message Date
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
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
Samuel Sadok b4fa53c849 fix encoder offset calibration and error handling 2018-04-10 15:49:00 -07:00
Samuel Sadok 23009d1e93 add overvoltage protection
The motor phases will go into floating state as soon as an overvoltage condition is detected.
2018-04-10 00:25:19 -07:00
Samuel Sadok 09f361de61 fix encoder offset calibration and error handling 2018-04-09 19:32:36 -07:00
Samuel Sadok ae9a208f1f turn error enums into flags 2018-04-06 13:12:39 -07:00
Samuel Sadok ab698a9dce turn error enums into flags 2018-04-05 22:27:20 -07:00
Samuel Sadok b8b483c9d6 Firmware hardening
- check return code of enqueue_modulation_timings
 - wrap all hardware access to safety critical hardware timer registers in safety_critical_ sections. These functions like the armed-ness of each PWM output to a corresponding armed state that can only be set at start or by the user
 - ensure NaN in any variables doesn't cause unpredictable behavior on the safety critical PWM outputs
2018-03-30 22:32:07 -07:00
Samuel Sadok 69e1b5331a make encoder index search and encoder offset calibration independent
These two activities are now separate states of the axis state machine.
Each of them can be invoked independently at any time (provided the motor is calibrated).
2018-03-23 17:09:52 -07:00
Samuel Sadok 2bf05b303a rename Axis::ERROR_BAD_VOLTAGE 2018-03-13 14:35:52 -07:00
Samuel Sadok 6131519b25 increase axis thread stack size to 2k 2018-03-09 16:45:38 -08:00
Samuel Sadok 9486f9ed15 make stuff working again, improve state machine design, add underscore to member names 2018-03-09 13:37:07 -08:00
Samuel Sadok 97aedd46e9 Sanitize error handling and state machine, move common stuff to odrive_main.hpp 2018-03-04 15:49:48 -08:00
Samuel Sadok b32c87df5a [TEMP] refactoring: compile works, motors initialize as usual 2018-03-02 22:03:24 -08:00
Oskar Weigl 2c8c712eda Merge branch 'devel' into sam_nvm 2018-02-25 23:42:14 -08:00
Oskar Weigl 368b4d5cbb add axis to config 2018-02-24 00:24:47 -08:00
Oskar Weigl 72efd17f31 implement dc bus brownout check 2018-02-19 00:32:01 -08:00
Oskar Weigl 1f8bba475e index searching works 2018-01-26 22:10:16 -08:00
Oskar Weigl 9b7d201276 manual idx search on M1 working, not on M0 2018-01-26 21:02:58 -08:00
Oskar Weigl 13deca5394 Keep rotor estimation up to date while idling 2018-01-26 19:15:48 -08:00
Oskar Weigl 5dd1d01688 add comments 2017-11-08 22:15:16 -08:00
Oskar Weigl 3d16f41400 fix some issues with moving anticogging 2017-11-08 16:29:12 -08:00
Oskar Weigl 62f5061ed0 Merge branch 'devel' into sam_protocol 2017-11-08 01:14:50 -08:00
Oskar Weigl 7a8f5e24a9 fix delay and timings 2017-10-28 13:57:37 -07:00