robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Thu Feb 08 02:16:04 2018 +0000
Revision:
178:4e721c904fd7
Child:
179:935f9d78d936
02/07/2018 21:15 - moved PreferenceWriter and prefs.h back from test project, code still compiles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 178:4e721c904fd7 1 #ifndef __CONFIG_H
bwang 178:4e721c904fd7 2 #define __CONFIG_H
bwang 178:4e721c904fd7 3
bwang 178:4e721c904fd7 4 #include "mbed.h"
bwang 178:4e721c904fd7 5
bwang 178:4e721c904fd7 6 /*---driving---*/
bwang 178:4e721c904fd7 7 #define _TORQUE_MODE __int_reg[0]
bwang 178:4e721c904fd7 8 #define _MAX_TQPCT_PLUS __float_reg[0]
bwang 178:4e721c904fd7 9 #define _MAX_TQPCT_MINUS __float_reg[1]
bwang 178:4e721c904fd7 10 #define _TORQUE_MAX __float_reg[2]
bwang 178:4e721c904fd7 11 #define _W_MAX __float_reg[3]
bwang 178:4e721c904fd7 12
bwang 178:4e721c904fd7 13 /*---inverter---*/
bwang 178:4e721c904fd7 14 #define _BUS_VOLTAGE __float_reg[4]
bwang 178:4e721c904fd7 15 #define _F_SW __float_reg[5]
bwang 178:4e721c904fd7 16
bwang 178:4e721c904fd7 17 /*---logging---*/
bwang 178:4e721c904fd7 18 #define _ENABLE_LOGGING __int_reg[1]
bwang 178:4e721c904fd7 19 #define _LOG_FREQUENCY __float_reg[6]
bwang 178:4e721c904fd7 20
bwang 178:4e721c904fd7 21 /*---loop---*/
bwang 178:4e721c904fd7 22 #define _K_LOOP_D __float_reg[7]
bwang 178:4e721c904fd7 23 #define _KI_BASE_D __float_reg[8]
bwang 178:4e721c904fd7 24
bwang 178:4e721c904fd7 25 #define _K_LOOP_Q __float_reg[9]
bwang 178:4e721c904fd7 26 #define _KI_BASE_Q __float_reg[10]
bwang 178:4e721c904fd7 27
bwang 178:4e721c904fd7 28 #define _F_SLOW_LOOP __float_reg[11]
bwang 178:4e721c904fd7 29
bwang 178:4e721c904fd7 30 #define _INTEGRAL_MAX __float_reg[12]
bwang 178:4e721c904fd7 31
bwang 178:4e721c904fd7 32 #define _W_FILTER_STRENGTH __float_reg[13]
bwang 178:4e721c904fd7 33 #define _DQ_FILTER_STRENGTH __float_reg[14]
bwang 178:4e721c904fd7 34 #define _THROTTLE_FILTER_STRENGTH __float_reg[15]
bwang 178:4e721c904fd7 35
bwang 178:4e721c904fd7 36 #define _KP_D __float_reg[17]
bwang 178:4e721c904fd7 37 #define _KI_D __float_reg[18]
bwang 178:4e721c904fd7 38
bwang 178:4e721c904fd7 39 #define _KP_Q __float_reg[19]
bwang 178:4e721c904fd7 40 #define _KI_Q __float_reg[20]
bwang 178:4e721c904fd7 41
bwang 178:4e721c904fd7 42 #define _SLOW_LOOP_COUNTER __float_reg[21]
bwang 178:4e721c904fd7 43
bwang 178:4e721c904fd7 44 /*---motor---*/
bwang 178:4e721c904fd7 45 #define _POLE_PAIRS __float_reg[22]
bwang 178:4e721c904fd7 46 #define _POS_OFFSET __float_reg[23]
bwang 178:4e721c904fd7 47 #define _RESOLVER_LOBES __float_reg[24]
bwang 178:4e721c904fd7 48 #define _CPR __int_reg[2]
bwang 178:4e721c904fd7 49 #define _Ld __float_reg[25]
bwang 178:4e721c904fd7 50 #define _Lq __float_reg[26]
bwang 178:4e721c904fd7 51 #define _FLUX_LINKAGE __float_reg[27]
bwang 178:4e721c904fd7 52 #define _Rs __float_reg[28]
bwang 178:4e721c904fd7 53 #define _KT __float_reg[29]
bwang 178:4e721c904fd7 54 #define _W_SAFE __float_reg[30]
bwang 178:4e721c904fd7 55 #define _W_CRAZY __float_reg[31]
bwang 178:4e721c904fd7 56
bwang 178:4e721c904fd7 57 /*---rc_throttle---*/
bwang 178:4e721c904fd7 58 #define _TH_LIMIT_LOW __int_reg[3]
bwang 178:4e721c904fd7 59 #define _TH_LIMIT_HIGH __int_reg[4]
bwang 178:4e721c904fd7 60 #define _TH_LIMIT_CRAZY __int_reg[5]
bwang 178:4e721c904fd7 61
bwang 178:4e721c904fd7 62 /*---table---*/
bwang 178:4e721c904fd7 63 #define _ROWS __int_reg[6]
bwang 178:4e721c904fd7 64 #define _COLUMNS __int_reg[7]
bwang 178:4e721c904fd7 65 #define _W_STEP __float_reg[8]
bwang 178:4e721c904fd7 66
bwang 178:4e721c904fd7 67 /*---operating mode---*/
bwang 178:4e721c904fd7 68
bwang 178:4e721c904fd7 69 #define BREMS_mode __int_reg[8]
bwang 178:4e721c904fd7 70 #define BREMS_src __int_reg[9]
bwang 178:4e721c904fd7 71 #define BREMS_op __int_reg[10]
bwang 178:4e721c904fd7 72
bwang 178:4e721c904fd7 73 /*---error handling---*/
bwang 178:4e721c904fd7 74 #define ERR_ignores __int_reg[11]
bwang 178:4e721c904fd7 75
bwang 178:4e721c904fd7 76 /*internal variables and macros*/
bwang 178:4e721c904fd7 77
bwang 178:4e721c904fd7 78 extern float __float_reg[];
bwang 178:4e721c904fd7 79 extern int __int_reg[];
bwang 178:4e721c904fd7 80
bwang 178:4e721c904fd7 81 #define DEFAULT(a) _##a = a
bwang 178:4e721c904fd7 82 #define FPRINT(a) pc->printf("%s: %f\n", #a, _##a)
bwang 178:4e721c904fd7 83 #define DPRINT(a) pc->printf("%s: %d\n", #a, _##a)
bwang 178:4e721c904fd7 84
bwang 178:4e721c904fd7 85 #define NUM_MODES 4
bwang 178:4e721c904fd7 86 enum {
bwang 178:4e721c904fd7 87 MODE_RUN,
bwang 178:4e721c904fd7 88 MODE_CFG,
bwang 178:4e721c904fd7 89 MODE_ZERO,
bwang 178:4e721c904fd7 90 MODE_CHR,
bwang 178:4e721c904fd7 91 };
bwang 178:4e721c904fd7 92
bwang 178:4e721c904fd7 93 #define NUM_OPS 4
bwang 178:4e721c904fd7 94 enum {
bwang 178:4e721c904fd7 95 OP_TORQUE,
bwang 178:4e721c904fd7 96 OP_DRIVING,
bwang 178:4e721c904fd7 97 OP_SPEED,
bwang 178:4e721c904fd7 98 OP_POSITION,
bwang 178:4e721c904fd7 99 };
bwang 178:4e721c904fd7 100
bwang 178:4e721c904fd7 101 #define NUM_SRCS 6
bwang 178:4e721c904fd7 102 enum {
bwang 178:4e721c904fd7 103 CMD_SRC_RC,
bwang 178:4e721c904fd7 104 CMD_SRC_ANALOG,
bwang 178:4e721c904fd7 105 CMD_SRC_TERMINAL,
bwang 178:4e721c904fd7 106 CMD_SRC_SERIAL,
bwang 178:4e721c904fd7 107 CMD_SRC_CAN,
bwang 178:4e721c904fd7 108 CMD_SRC_INTERNAL
bwang 178:4e721c904fd7 109 };
bwang 178:4e721c904fd7 110
bwang 178:4e721c904fd7 111 #endif