robot

Dependencies:   FastPWM3 mbed

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?

UserRevisionLine numberNew 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 }