Unknown
ffbf24ff31
Merge branch 'devel' into feature/CAN
2018-10-28 18:37:49 -04: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
Unknown
82c21c6a03
Merge branch 'devel' into feature/CAN
2018-10-06 13:32:44 -04:00
Oskar Weigl
85540cb1ab
move check_for_errors to inline
2018-10-06 01:39:53 -07:00
Unknown
4fa09d6bbc
Get CAN_SIMPLE to compile
2018-10-05 22:20:04 -04: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
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