Bayley Wang
/
foc-ed_in_the_bot_compact
robot
errors.cpp@187:523cf8c962e4, 2018-02-09 (annotated)
- Committer:
- bwang
- Date:
- Fri Feb 09 23:24:25 2018 +0000
- Revision:
- 187:523cf8c962e4
- Parent:
- 181:d3510c8beab6
- Child:
- 193:3abadeecf908
02/09/2018 18:22 - moved hard-coded config values to defaults.h, started filling out errors.cpp and callbacks.cpp
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bwang | 181:d3510c8beab6 | 1 | #include "errors.h" |
bwang | 187:523cf8c962e4 | 2 | #include "globals.h" |
bwang | 187:523cf8c962e4 | 3 | #include "defaults.h" |
bwang | 181:d3510c8beab6 | 4 | |
bwang | 181:d3510c8beab6 | 5 | int errors = 0, moded_errors = 0; |
bwang | 181:d3510c8beab6 | 6 | int masks[32]; |
bwang | 181:d3510c8beab6 | 7 | |
bwang | 181:d3510c8beab6 | 8 | void init_masks() { |
bwang | 181:d3510c8beab6 | 9 | masks[ERR_THROTTLE_DISABLED] = _MASK_MODE_RUN | |
bwang | 181:d3510c8beab6 | 10 | _MASK_OP_TORQUE | _MASK_OP_DRIVING | _MASK_OP_SPEED | _MASK_OP_POSITION | |
bwang | 181:d3510c8beab6 | 11 | _MASK_SRC_RC | _MASK_SRC_ANALOG; |
bwang | 181:d3510c8beab6 | 12 | masks[ERR_POS_INVALID] = _MASK_MODE_RUN | _MASK_MODE_ZERO | _MASK_MODE_CFG | |
bwang | 181:d3510c8beab6 | 13 | _MASK_OP_TORQUE | _MASK_OP_DRIVING | _MASK_OP_SPEED | _MASK_OP_POSITION | |
bwang | 181:d3510c8beab6 | 14 | _MASK_SRC_RC | _MASK_SRC_ANALOG | _MASK_SRC_TERMINAL | _MASK_SRC_SERIAL | |
bwang | 181:d3510c8beab6 | 15 | _MASK_SRC_CAN | _MASK_SRC_INTERNAL; |
bwang | 181:d3510c8beab6 | 16 | masks[ERR_NOT_DRIVING] = _MASK_MODE_RUN | |
bwang | 181:d3510c8beab6 | 17 | _MASK_OP_TORQUE | _MASK_OP_DRIVING | |
bwang | 181:d3510c8beab6 | 18 | _MASK_SRC_RC | _MASK_SRC_ANALOG | _MASK_SRC_TERMINAL | _MASK_SRC_SERIAL | |
bwang | 181:d3510c8beab6 | 19 | _MASK_SRC_CAN | _MASK_SRC_INTERNAL; |
bwang | 187:523cf8c962e4 | 20 | } |
bwang | 187:523cf8c962e4 | 21 | |
bwang | 187:523cf8c962e4 | 22 | void go_enabled() { |
bwang | 187:523cf8c962e4 | 23 | control.enabled = true; |
bwang | 187:523cf8c962e4 | 24 | io.en->write(1); |
bwang | 187:523cf8c962e4 | 25 | } |
bwang | 187:523cf8c962e4 | 26 | |
bwang | 187:523cf8c962e4 | 27 | void go_disabled() { |
bwang | 187:523cf8c962e4 | 28 | control.d_integral = 0.0f; |
bwang | 187:523cf8c962e4 | 29 | control.q_integral = 0.0f; |
bwang | 187:523cf8c962e4 | 30 | control.enabled = false; |
bwang | 187:523cf8c962e4 | 31 | io.en->write(0); |
bwang | 187:523cf8c962e4 | 32 | } |
bwang | 187:523cf8c962e4 | 33 | |
bwang | 187:523cf8c962e4 | 34 | bool is_driving() { |
bwang | 187:523cf8c962e4 | 35 | return control.torque_percent > 0.01f || fabsf(read.w) > W_SAFE; |
bwang | 181:d3510c8beab6 | 36 | } |