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