Bayley Wang
/
foc-ed_in_the_bot_compact
robot
Embed:
(wiki syntax)
Show/hide line numbers
prefs.h
00001 #ifndef __CONFIG_H 00002 #define __CONFIG_H 00003 00004 #include "mbed.h" 00005 00006 /*---programming flag---*/ 00007 #define _PREFS_VALID __int_reg[0] 00008 00009 /*---driving---*/ 00010 #define _TORQUE_MODE __int_reg[1] 00011 #define _MAX_TQPCT_PLUS __float_reg[0] 00012 #define _MAX_TQPCT_MINUS __float_reg[1] 00013 #define _TORQUE_MAX __float_reg[2] 00014 #define _W_MAX __float_reg[3] 00015 00016 /*---inverter---*/ 00017 #define _BUS_VOLTAGE __float_reg[4] 00018 #define _F_SW __float_reg[5] 00019 00020 /*---loop---*/ 00021 #define _K_LOOP_D __float_reg[6] 00022 #define _KI_BASE_D __float_reg[7] 00023 00024 #define _K_LOOP_Q __float_reg[8] 00025 #define _KI_BASE_Q __float_reg[9] 00026 00027 #define _F_SLOW_LOOP __float_reg[10] 00028 00029 #define _INTEGRAL_MAX __float_reg[11] 00030 00031 #define _W_FILTER_WINDOW __int_reg[2] 00032 #define _DQ_FILTER_STRENGTH __float_reg[12] 00033 #define _THROTTLE_FILTER_WINDOW __int_reg[3] 00034 00035 /*---motor---*/ 00036 #define _POLE_PAIRS __float_reg[13] 00037 #define _POS_OFFSET __float_reg[14] 00038 #define _RESOLVER_LOBES __float_reg[15] 00039 #define _CPR __int_reg[4] 00040 #define _Ld __float_reg[16] 00041 #define _Lq __float_reg[17] 00042 #define _FLUX_LINKAGE __float_reg[18] 00043 #define _Rs __float_reg[19] 00044 #define _KT __float_reg[20] 00045 #define _W_SAFE __float_reg[21] 00046 #define _W_CRAZY __float_reg[22] 00047 00048 /*---rc_throttle---*/ 00049 #define _TH_LIMIT_LOW __int_reg[5] 00050 #define _TH_LIMIT_HIGH __int_reg[6] 00051 00052 /*---table---*/ 00053 #define _W_STEP __float_reg[23] 00054 00055 /*---data logging---*/ 00056 #define _ENABLE_LOGGING __int_reg[7] 00057 #define _LOG_PAGE_SIZE __int_reg[8] 00058 #define _LOG_HEADER_SIZE __int_reg[9] 00059 #define _LOG_PACKET_SIZE __int_reg[10] 00060 #define _LOG_BAUD_RATE __int_reg[11] 00061 00062 /*---operating mode---*/ 00063 00064 #define BREMS_mode __int_reg[12] 00065 #define BREMS_src __int_reg[13] 00066 #define BREMS_op __int_reg[14] 00067 00068 /*---error handling---*/ 00069 #define ERR_ignores __int_reg[15] 00070 00071 /*---commutation tweaks---*/ 00072 #define _OVERMODULATION_FACTOR __float_reg[24] 00073 #define _V_PHASE_SWIZZLE __float_reg[25] 00074 00075 /*---speed loop---*/ 00076 #define _K_LOOP_W __float_reg[26] 00077 #define _KI_BASE_W __float_reg[27] 00078 #define _W_SETPOINT_MAX __float_reg[28] 00079 #define _W_LOOP_MAX_TQ __float_reg[29] 00080 00081 /*internal variables and macros*/ 00082 00083 extern float __float_reg[]; 00084 extern int __int_reg[]; 00085 00086 #define DEFAULT(a) _##a = a 00087 #define FPRINT(a) pc->printf("%s: %f\n", #a, _##a) 00088 #define DPRINT(a) pc->printf("%s: %d\n", #a, _##a) 00089 #define FPRINT2(a) pc->printf("%s: %f\n", #a, a); 00090 #define DPRINT2(a) pc->printf("%s: %d\n", #a, a) 00091 00092 #define NUM_MODES 4 00093 enum { 00094 MODE_RUN, 00095 MODE_CFG, 00096 MODE_ZERO, 00097 MODE_CHR, 00098 }; 00099 00100 #define NUM_OPS 4 00101 enum { 00102 OP_TORQUE, 00103 OP_DRIVING, 00104 OP_SPEED, 00105 OP_POSITION, 00106 }; 00107 00108 #define NUM_SRCS 6 00109 enum { 00110 CMD_SRC_RC, 00111 CMD_SRC_ANALOG, 00112 CMD_SRC_TERMINAL, 00113 CMD_SRC_SERIAL, 00114 CMD_SRC_CAN, 00115 CMD_SRC_INTERNAL 00116 }; 00117 00118 #endif
Generated on Tue Jul 12 2022 17:58:39 by 1.7.2