ああ
Dependencies: F7_Ethernet mbed mbed-rtos
common.h@9:a4cc7dc2d92f, 2020-09-14 (annotated)
- Committer:
- sayzyas
- Date:
- Mon Sep 14 06:38:16 2020 +0000
- Revision:
- 9:a4cc7dc2d92f
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sayzyas | 9:a4cc7dc2d92f | 1 | /* |
sayzyas | 9:a4cc7dc2d92f | 2 | DEBUG PRINT MACRO |
sayzyas | 9:a4cc7dc2d92f | 3 | http://qiita.com/saltheads/items/e1b0ab54d3d6029c9593 |
sayzyas | 9:a4cc7dc2d92f | 4 | http://tricky-code.net/nicecode/code10.php |
sayzyas | 9:a4cc7dc2d92f | 5 | */ |
sayzyas | 9:a4cc7dc2d92f | 6 | /* Information */ |
sayzyas | 9:a4cc7dc2d92f | 7 | #define LatestUpDate "2020.07.02" |
sayzyas | 9:a4cc7dc2d92f | 8 | #define ProgramRevision "Rev 0.01" |
sayzyas | 9:a4cc7dc2d92f | 9 | #define Author "y.saito" |
sayzyas | 9:a4cc7dc2d92f | 10 | #define Company "Sanei Co.,Ltd." |
sayzyas | 9:a4cc7dc2d92f | 11 | |
sayzyas | 9:a4cc7dc2d92f | 12 | //#define __CREATE_SETTING_FILE__ |
sayzyas | 9:a4cc7dc2d92f | 13 | //#define __TARGET_BOARD_CHECK__ |
sayzyas | 9:a4cc7dc2d92f | 14 | |
sayzyas | 9:a4cc7dc2d92f | 15 | |
sayzyas | 9:a4cc7dc2d92f | 16 | //#define __WInchDebug__ // For debugging |
sayzyas | 9:a4cc7dc2d92f | 17 | |
sayzyas | 9:a4cc7dc2d92f | 18 | |
sayzyas | 9:a4cc7dc2d92f | 19 | // Comment out if net setting is FIX. |
sayzyas | 9:a4cc7dc2d92f | 20 | // #define __NET_SETTING_FROM_LFS__ |
sayzyas | 9:a4cc7dc2d92f | 21 | |
sayzyas | 9:a4cc7dc2d92f | 22 | |
sayzyas | 9:a4cc7dc2d92f | 23 | // Read motor current |
sayzyas | 9:a4cc7dc2d92f | 24 | #define __READ_TFM_MOTOR_CURRENT__ |
sayzyas | 9:a4cc7dc2d92f | 25 | |
sayzyas | 9:a4cc7dc2d92f | 26 | #define __IIC_COMAMND_SEND__ |
sayzyas | 9:a4cc7dc2d92f | 27 | |
sayzyas | 9:a4cc7dc2d92f | 28 | #define __SET_WINCH_MOTOR_SPEED_BY_VOLUME__ |
sayzyas | 9:a4cc7dc2d92f | 29 | |
sayzyas | 9:a4cc7dc2d92f | 30 | /********************************************** |
sayzyas | 9:a4cc7dc2d92f | 31 | For Debugging |
sayzyas | 9:a4cc7dc2d92f | 32 | ***********************************************/ |
sayzyas | 9:a4cc7dc2d92f | 33 | #define __DEBUG_L0__ |
sayzyas | 9:a4cc7dc2d92f | 34 | #define __DEBUG_L1__ |
sayzyas | 9:a4cc7dc2d92f | 35 | #define __DEBUG_L2__ |
sayzyas | 9:a4cc7dc2d92f | 36 | #define __DEBUG_L3__ |
sayzyas | 9:a4cc7dc2d92f | 37 | #define __DEBUG_L4__ |
sayzyas | 9:a4cc7dc2d92f | 38 | #define __DEBUG_L5__ |
sayzyas | 9:a4cc7dc2d92f | 39 | |
sayzyas | 9:a4cc7dc2d92f | 40 | #ifdef __DEBUG_L0__ |
sayzyas | 9:a4cc7dc2d92f | 41 | #define DEBUG_PRINT_L0(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 42 | #else |
sayzyas | 9:a4cc7dc2d92f | 43 | #define DEBUG_PRINT_L0(...) |
sayzyas | 9:a4cc7dc2d92f | 44 | #endif |
sayzyas | 9:a4cc7dc2d92f | 45 | #ifdef __DEBUG_L1__ |
sayzyas | 9:a4cc7dc2d92f | 46 | #define DEBUG_PRINT_L1(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 47 | #else |
sayzyas | 9:a4cc7dc2d92f | 48 | #define DEBUG_PRINT_L1(...) |
sayzyas | 9:a4cc7dc2d92f | 49 | #endif |
sayzyas | 9:a4cc7dc2d92f | 50 | #ifdef __DEBUG_L2__ |
sayzyas | 9:a4cc7dc2d92f | 51 | #define DEBUG_PRINT_L2(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 52 | #else |
sayzyas | 9:a4cc7dc2d92f | 53 | #define DEBUG_PRINT_L2(...) |
sayzyas | 9:a4cc7dc2d92f | 54 | #endif |
sayzyas | 9:a4cc7dc2d92f | 55 | #ifdef __DEBUG_L3__ |
sayzyas | 9:a4cc7dc2d92f | 56 | #define DEBUG_PRINT_L3(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 57 | #else |
sayzyas | 9:a4cc7dc2d92f | 58 | #define DEBUG_PRINT_L3(...) |
sayzyas | 9:a4cc7dc2d92f | 59 | #endif |
sayzyas | 9:a4cc7dc2d92f | 60 | #ifdef __DEBUG_L4__ |
sayzyas | 9:a4cc7dc2d92f | 61 | #define DEBUG_PRINT_L4(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 62 | #else |
sayzyas | 9:a4cc7dc2d92f | 63 | #define DEBUG_PRINT_L4(...) |
sayzyas | 9:a4cc7dc2d92f | 64 | #endif |
sayzyas | 9:a4cc7dc2d92f | 65 | #ifdef __DEBUG_L5__ |
sayzyas | 9:a4cc7dc2d92f | 66 | #define DEBUG_PRINT_L5(...) pc.printf(__VA_ARGS__) |
sayzyas | 9:a4cc7dc2d92f | 67 | #else |
sayzyas | 9:a4cc7dc2d92f | 68 | #define DEBUG_PRINT_L5(...) |
sayzyas | 9:a4cc7dc2d92f | 69 | #endif |
sayzyas | 9:a4cc7dc2d92f | 70 | |
sayzyas | 9:a4cc7dc2d92f | 71 | |
sayzyas | 9:a4cc7dc2d92f | 72 | |
sayzyas | 9:a4cc7dc2d92f | 73 | /* ***** |
sayzyas | 9:a4cc7dc2d92f | 74 | Constant definition |
sayzyas | 9:a4cc7dc2d92f | 75 | ***** */ |
sayzyas | 9:a4cc7dc2d92f | 76 | #define BLINKING_RATE_MS 100 /* Blinking rate */ |
sayzyas | 9:a4cc7dc2d92f | 77 | |
sayzyas | 9:a4cc7dc2d92f | 78 | |
sayzyas | 9:a4cc7dc2d92f | 79 | #define DIR_CCW 1 |
sayzyas | 9:a4cc7dc2d92f | 80 | #define DIR_CW 0 |
sayzyas | 9:a4cc7dc2d92f | 81 | #define MOTOR_ON 1 |
sayzyas | 9:a4cc7dc2d92f | 82 | #define MOTOR_OFF 0 |
sayzyas | 9:a4cc7dc2d92f | 83 | |
sayzyas | 9:a4cc7dc2d92f | 84 | #define L_001mm 1000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 85 | #define L_002mm 2000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 86 | #define L_003mm 3000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 87 | #define L_004mm 4000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 88 | #define L_005mm 5000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 89 | #define L_006mm 6000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 90 | #define L_007mm 7000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 91 | #define L_008mm 8000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 92 | #define L_009mm 9000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 93 | #define L_010mm 10000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 94 | #define L_050mm 50000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 95 | #define L_100mm 100000 * 2 |
sayzyas | 9:a4cc7dc2d92f | 96 | |
sayzyas | 9:a4cc7dc2d92f | 97 | |
sayzyas | 9:a4cc7dc2d92f | 98 | |
sayzyas | 9:a4cc7dc2d92f | 99 | |
sayzyas | 9:a4cc7dc2d92f | 100 | |
sayzyas | 9:a4cc7dc2d92f | 101 | |
sayzyas | 9:a4cc7dc2d92f | 102 | |
sayzyas | 9:a4cc7dc2d92f | 103 | |
sayzyas | 9:a4cc7dc2d92f | 104 | |
sayzyas | 9:a4cc7dc2d92f | 105 | |
sayzyas | 9:a4cc7dc2d92f | 106 | |
sayzyas | 9:a4cc7dc2d92f | 107 | |
sayzyas | 9:a4cc7dc2d92f | 108 | |
sayzyas | 9:a4cc7dc2d92f | 109 | |
sayzyas | 9:a4cc7dc2d92f | 110 | |
sayzyas | 9:a4cc7dc2d92f | 111 | |
sayzyas | 9:a4cc7dc2d92f | 112 | |
sayzyas | 9:a4cc7dc2d92f | 113 | |
sayzyas | 9:a4cc7dc2d92f | 114 | |
sayzyas | 9:a4cc7dc2d92f | 115 | |
sayzyas | 9:a4cc7dc2d92f | 116 | |
sayzyas | 9:a4cc7dc2d92f | 117 | |
sayzyas | 9:a4cc7dc2d92f | 118 | |
sayzyas | 9:a4cc7dc2d92f | 119 | |
sayzyas | 9:a4cc7dc2d92f | 120 | |
sayzyas | 9:a4cc7dc2d92f | 121 | |
sayzyas | 9:a4cc7dc2d92f | 122 | |
sayzyas | 9:a4cc7dc2d92f | 123 | /* Above is still under construction ..... */ |
sayzyas | 9:a4cc7dc2d92f | 124 | |
sayzyas | 9:a4cc7dc2d92f | 125 | #define __DISP_GAMAPAD_STATUS_ALL__ |
sayzyas | 9:a4cc7dc2d92f | 126 | #define __DISP_WRITE_VALUE__ |
sayzyas | 9:a4cc7dc2d92f | 127 | |
sayzyas | 9:a4cc7dc2d92f | 128 | #define I2C_ADDRESS_HANDY 0x20 |
sayzyas | 9:a4cc7dc2d92f | 129 | #define I2C_ADDRESS_WINCH 0x10 |
sayzyas | 9:a4cc7dc2d92f | 130 | #define I2C_ADDRESS_TRANSFORM 0x08 |
sayzyas | 9:a4cc7dc2d92f | 131 | #define I2C_ADDRESS_CRAWLER 0x04 |
sayzyas | 9:a4cc7dc2d92f | 132 | #define I2C_ADDRESS_RESOLVER 0x02 |
sayzyas | 9:a4cc7dc2d92f | 133 | |
sayzyas | 9:a4cc7dc2d92f | 134 | |
sayzyas | 9:a4cc7dc2d92f | 135 | #define _OK_ 1 |
sayzyas | 9:a4cc7dc2d92f | 136 | #define _NG_ 0 |
sayzyas | 9:a4cc7dc2d92f | 137 | #define _FAIL_ 0 |
sayzyas | 9:a4cc7dc2d92f | 138 | |
sayzyas | 9:a4cc7dc2d92f | 139 | #define ON 1 |
sayzyas | 9:a4cc7dc2d92f | 140 | #define OFF 0 |
sayzyas | 9:a4cc7dc2d92f | 141 | |
sayzyas | 9:a4cc7dc2d92f | 142 | #define LFS_READ_COUNT 3 |
sayzyas | 9:a4cc7dc2d92f | 143 | #define TARGET_CHECK_COUNT 10 |
sayzyas | 9:a4cc7dc2d92f | 144 | |
sayzyas | 9:a4cc7dc2d92f | 145 | //#define __DSP_MOTOR_CURRENT_ |
sayzyas | 9:a4cc7dc2d92f | 146 | |
sayzyas | 9:a4cc7dc2d92f | 147 | /* Usually this should be comment out */ |
sayzyas | 9:a4cc7dc2d92f | 148 | //#define _COMMUNCATE_PC_BY_SERIAL_ |
sayzyas | 9:a4cc7dc2d92f | 149 | |
sayzyas | 9:a4cc7dc2d92f | 150 | // Should validate this definition when you use DHCP. |
sayzyas | 9:a4cc7dc2d92f | 151 | //#define __ETERNET_DHCP__ |
sayzyas | 9:a4cc7dc2d92f | 152 | |
sayzyas | 9:a4cc7dc2d92f | 153 | #define NumberOfPcCommand 11 |
sayzyas | 9:a4cc7dc2d92f | 154 | #define NumberOfI2CCommand 14 |
sayzyas | 9:a4cc7dc2d92f | 155 | |
sayzyas | 9:a4cc7dc2d92f | 156 | /* I2C Command packet to motor controller */ |
sayzyas | 9:a4cc7dc2d92f | 157 | /* For motor controller */ |
sayzyas | 9:a4cc7dc2d92f | 158 | enum{ |
sayzyas | 9:a4cc7dc2d92f | 159 | I2C_CP_PREAMBLE, // Preamble of command packet |
sayzyas | 9:a4cc7dc2d92f | 160 | I2C_CP_COMMAND, // instruction command |
sayzyas | 9:a4cc7dc2d92f | 161 | I2C_CP_M1_DIR, // motor1 rotation direction |
sayzyas | 9:a4cc7dc2d92f | 162 | I2C_CP_M1_SPEED, // motor1 rotation speed |
sayzyas | 9:a4cc7dc2d92f | 163 | I2C_CP_M1_FWD_CNTTH_U, // motor1 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 164 | I2C_CP_M1_FWD_CNTTH_L, // motor1 current limit detection threshold lower byte |
sayzyas | 9:a4cc7dc2d92f | 165 | I2C_CP_M1_RVS_CNTTH_U, // motor1 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 166 | I2C_CP_M1_RVS_CNTTH_L, // motor1 current limit detection threshold lower byte |
sayzyas | 9:a4cc7dc2d92f | 167 | I2C_CP_M2_DIR, // motor2 rotation direction |
sayzyas | 9:a4cc7dc2d92f | 168 | I2C_CP_M2_SPEED, // motor2 rotation speed |
sayzyas | 9:a4cc7dc2d92f | 169 | I2C_CP_M2_FWD_CNTTH_U, // motor2 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 170 | I2C_CP_M2_FWD_CNTTH_L, // motor2 current limit detection threshold lower byte |
sayzyas | 9:a4cc7dc2d92f | 171 | I2C_CP_M2_RVS_CNTTH_U, // motor2 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 172 | I2C_CP_M2_RVS_CNTTH_L, // motor2 current limit detection threshold lower byte |
sayzyas | 9:a4cc7dc2d92f | 173 | }; |
sayzyas | 9:a4cc7dc2d92f | 174 | /* For resolver reader controller */ |
sayzyas | 9:a4cc7dc2d92f | 175 | enum{ |
sayzyas | 9:a4cc7dc2d92f | 176 | I2C_CP_PREAMBLE_R, // Sub command |
sayzyas | 9:a4cc7dc2d92f | 177 | I2C_CP_COMMAND_R, // instruction command |
sayzyas | 9:a4cc7dc2d92f | 178 | I2C_CP_WDRAM_DIA_UPPER, // motor1 rotation direction |
sayzyas | 9:a4cc7dc2d92f | 179 | I2C_CP_WDRAM_DIA_LOWER, // motor1 rotation speed |
sayzyas | 9:a4cc7dc2d92f | 180 | I2C_CP_CCABLE_DIA_UPPER, // motor1 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 181 | I2C_CP_CCABLE_DIA_LOWER, // motor1 current limit detection threshold lower byte |
sayzyas | 9:a4cc7dc2d92f | 182 | I2C_CP_RESOLVER_RESO, // motor1 current limit detection threshold upper byte |
sayzyas | 9:a4cc7dc2d92f | 183 | I2C_CP_PRESET_CPOS_UPPER, // reserved |
sayzyas | 9:a4cc7dc2d92f | 184 | I2C_CP_PRESET_CPOS_LOWER, // reserved |
sayzyas | 9:a4cc7dc2d92f | 185 | I2C_CP_RES3, // reserved |
sayzyas | 9:a4cc7dc2d92f | 186 | I2C_CP_RES4, // reserved |
sayzyas | 9:a4cc7dc2d92f | 187 | I2C_CP_RES5, // reserved |
sayzyas | 9:a4cc7dc2d92f | 188 | I2C_CP_RES6, // reserved |
sayzyas | 9:a4cc7dc2d92f | 189 | I2C_CP_RES7, // reserved |
sayzyas | 9:a4cc7dc2d92f | 190 | }; |
sayzyas | 9:a4cc7dc2d92f | 191 | |
sayzyas | 9:a4cc7dc2d92f | 192 | |
sayzyas | 9:a4cc7dc2d92f | 193 | |
sayzyas | 9:a4cc7dc2d92f | 194 | /* Winch Operating mode */ |
sayzyas | 9:a4cc7dc2d92f | 195 | enum{ |
sayzyas | 9:a4cc7dc2d92f | 196 | WINCH_POSITION_CLEAR, |
sayzyas | 9:a4cc7dc2d92f | 197 | WINCH_PRESET_BASEDATA, |
sayzyas | 9:a4cc7dc2d92f | 198 | WINCH_MMODE_RELATIVE, |
sayzyas | 9:a4cc7dc2d92f | 199 | WINCH_MMODE_ABSOLUTE, |
sayzyas | 9:a4cc7dc2d92f | 200 | WINCH_STEPDOWN_BTN_ON, |
sayzyas | 9:a4cc7dc2d92f | 201 | WINCH_STEPDOWN_BTN_OFF, |
sayzyas | 9:a4cc7dc2d92f | 202 | WINCH_STEPUP_BTN_ON, |
sayzyas | 9:a4cc7dc2d92f | 203 | WINCH_STEPUP_BTN_OFF, |
sayzyas | 9:a4cc7dc2d92f | 204 | WINCH_U_STEPDOWN_BTN_ON, |
sayzyas | 9:a4cc7dc2d92f | 205 | WINCH_U_STEPDOWN_BTN_OFF, |
sayzyas | 9:a4cc7dc2d92f | 206 | WINCH_U_STEPUP_BTN_ON, |
sayzyas | 9:a4cc7dc2d92f | 207 | WINCH_U_STEPUP_BTN_OFF, |
sayzyas | 9:a4cc7dc2d92f | 208 | WINCH_PRESET_POSITION, |
sayzyas | 9:a4cc7dc2d92f | 209 | }; |
sayzyas | 9:a4cc7dc2d92f | 210 | |
sayzyas | 9:a4cc7dc2d92f | 211 | /* Game Pad defnition */ |
sayzyas | 9:a4cc7dc2d92f | 212 | #define GAMEPAD_VID_LOGICOOL 0x046d |
sayzyas | 9:a4cc7dc2d92f | 213 | #define GAMEPAD_PID_LOGICOOL_F710 0xc219 |
sayzyas | 9:a4cc7dc2d92f | 214 | #define GAMEPAD_PID_LOGICOOL_F310 0xc216 |
sayzyas | 9:a4cc7dc2d92f | 215 | |
sayzyas | 9:a4cc7dc2d92f | 216 | #define GAMEPAD_VID_SANWA 0x12bd |
sayzyas | 9:a4cc7dc2d92f | 217 | #define GAMEPAD_PID_SANWA_JYP70US 0xc003 |
sayzyas | 9:a4cc7dc2d92f | 218 | |
sayzyas | 9:a4cc7dc2d92f | 219 | #define GAMEPAD_VID_ELECOM 0x056e |
sayzyas | 9:a4cc7dc2d92f | 220 | #define GAMEPAD_PID_ELECOM_JCU3613M 0x2003 |
sayzyas | 9:a4cc7dc2d92f | 221 | |
sayzyas | 9:a4cc7dc2d92f | 222 | #define GAMEPAD_VID_RSTHANDY 0x1234 |
sayzyas | 9:a4cc7dc2d92f | 223 | #define GAMEPAD_PID_RSTHANDY 0x0006 |
sayzyas | 9:a4cc7dc2d92f | 224 | |
sayzyas | 9:a4cc7dc2d92f | 225 | |
sayzyas | 9:a4cc7dc2d92f | 226 | /* Ether net */ |
sayzyas | 9:a4cc7dc2d92f | 227 | #define TCP_SERVER_PORT 10002 |
sayzyas | 9:a4cc7dc2d92f | 228 | #define UDP_SERVER_PORT 10000 |
sayzyas | 9:a4cc7dc2d92f | 229 | //#define ECHO_SERVER_PORT 7 |
sayzyas | 9:a4cc7dc2d92f | 230 | |
sayzyas | 9:a4cc7dc2d92f | 231 | #define MOTOR_FWD 'F' /* Forward Rotation */ |
sayzyas | 9:a4cc7dc2d92f | 232 | #define MOTOR_RVS 'R' /* Reverse Rotation */ |
sayzyas | 9:a4cc7dc2d92f | 233 | #define MOTOR_STP 'S' /* Stop */ |
sayzyas | 9:a4cc7dc2d92f | 234 | |
sayzyas | 9:a4cc7dc2d92f | 235 | // ========================================================= |
sayzyas | 9:a4cc7dc2d92f | 236 | // Setting Values |
sayzyas | 9:a4cc7dc2d92f | 237 | // ========================================================= |
sayzyas | 9:a4cc7dc2d92f | 238 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 239 | int8_t sv_JS_ShapeMode; // JS Shape: 0=I, 1=KO |
sayzyas | 9:a4cc7dc2d92f | 240 | int8_t sv_JS_OpeMode; // JS Operation: 0=single, 1=dual |
sayzyas | 9:a4cc7dc2d92f | 241 | int8_t sv_WinchValid; // Winch function valid or not: 0=Tfm, Crawler valid, 1=Winch valid |
sayzyas | 9:a4cc7dc2d92f | 242 | int8_t res; |
sayzyas | 9:a4cc7dc2d92f | 243 | } basic_operation_t; |
sayzyas | 9:a4cc7dc2d92f | 244 | |
sayzyas | 9:a4cc7dc2d92f | 245 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 246 | uint16_t sv_WDM_ith_F; // 2 Current Threshold Winch Dram Motor Fwd rotation. |
sayzyas | 9:a4cc7dc2d92f | 247 | uint16_t sv_WDM_ith_R; // 2 Current Threshold Winch Dram Motor Rvs rotation. |
sayzyas | 9:a4cc7dc2d92f | 248 | uint16_t sv_WRM_ith_F; // 2 Current Threshold Winch .... Motor Fwd rotation. |
sayzyas | 9:a4cc7dc2d92f | 249 | uint16_t sv_WRM_ith_R; // 2 Current Threshold Winch .... Motor Rvs rotation. |
sayzyas | 9:a4cc7dc2d92f | 250 | uint8_t sv_WDM_hsrto_F; // 1 Winch Dram Motor high speed ratio Fwd |
sayzyas | 9:a4cc7dc2d92f | 251 | uint8_t sv_WDM_hsrto_R; // 1 Winch Dram Motor high speed ratio Rvs |
sayzyas | 9:a4cc7dc2d92f | 252 | uint8_t sv_WDM_lsrto_F; // 1 Winch Dram Motor low speed ratio Fwd |
sayzyas | 9:a4cc7dc2d92f | 253 | uint8_t sv_WDM_lsrto_R; // 1 Winch Dram Motor low speed ratio Rvs |
sayzyas | 9:a4cc7dc2d92f | 254 | uint8_t sv_WRM_hsrto_F; // 1 Winch .... Motor high speed limit Fwd |
sayzyas | 9:a4cc7dc2d92f | 255 | uint8_t sv_WRM_hsrto_R; // 1 Winch .... Motor high speed limit Rvs |
sayzyas | 9:a4cc7dc2d92f | 256 | uint8_t sv_WRM_lsrto_F; // 1 Winch .... Motor low speed ratio Fwd |
sayzyas | 9:a4cc7dc2d92f | 257 | uint8_t sv_WRM_lsrto_R; // 1 Winch .... Motor low speed ratio Rvs |
sayzyas | 9:a4cc7dc2d92f | 258 | uint16_t sv_WRS_DramDmrx100; // 2 Winch Dram diameter x 100; |
sayzyas | 9:a4cc7dc2d92f | 259 | uint16_t sv_WRS_CCableDmrx100; // 2 Winch CCable diameter x 100 |
sayzyas | 9:a4cc7dc2d92f | 260 | uint8_t sv_WRS_RResolution; // 1 Winch Resolver resolution (bit) |
sayzyas | 9:a4cc7dc2d92f | 261 | uint8_t reserved; // 1 reserved for future use |
sayzyas | 9:a4cc7dc2d92f | 262 | } winch_SetValue_t; // 22 byte |
sayzyas | 9:a4cc7dc2d92f | 263 | |
sayzyas | 9:a4cc7dc2d92f | 264 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 265 | uint16_t sv_RFTM_ith_F; // 2 RF transform motor Fwd roration current threshold |
sayzyas | 9:a4cc7dc2d92f | 266 | uint16_t sv_RFTM_ith_R; // 2 RF transform motor Rvs roration current threshold |
sayzyas | 9:a4cc7dc2d92f | 267 | uint16_t sv_LBTM_ith_F; // 2 LB transform motor Fwd roration current threshold |
sayzyas | 9:a4cc7dc2d92f | 268 | uint16_t sv_LBTM_ith_R; // 2 LB transform motor Rvs roration current threshold |
sayzyas | 9:a4cc7dc2d92f | 269 | uint8_t sv_RFTM_srto_F; // 1 RF transform motor Fwd rotation speed ratio |
sayzyas | 9:a4cc7dc2d92f | 270 | uint8_t sv_RFTM_srto_R; // 1 RF transform motor Rvs rotation speed ratio |
sayzyas | 9:a4cc7dc2d92f | 271 | uint8_t sv_LBTM_srto_F; // 1 LB transform motor Fwd rotation speed ratio |
sayzyas | 9:a4cc7dc2d92f | 272 | uint8_t sv_LBTM_srto_R; // 1 LB transform motor Rvs rotation speed ratio |
sayzyas | 9:a4cc7dc2d92f | 273 | } tfm_SetValue_t; // 12 byte |
sayzyas | 9:a4cc7dc2d92f | 274 | |
sayzyas | 9:a4cc7dc2d92f | 275 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 276 | uint16_t sv_RFCM_ith_F; // 2 RF Crawler motor Fwd rotation current threshold |
sayzyas | 9:a4cc7dc2d92f | 277 | uint16_t sv_RFCM_ith_R; // 2 RF Crawler motor Rvs rotation current threshold |
sayzyas | 9:a4cc7dc2d92f | 278 | uint16_t sv_LBCM_ith_F; // 2 LB Crawler motor Fwd rotation current threshold |
sayzyas | 9:a4cc7dc2d92f | 279 | uint16_t sv_LBCM_ith_R; // 2 LB Crawler motor Rvs rotation current threshold |
sayzyas | 9:a4cc7dc2d92f | 280 | uint8_t sv_RFCM_srto_F; // 1 RF Crawler motor Fwd rotation speed limnit |
sayzyas | 9:a4cc7dc2d92f | 281 | uint8_t sv_RFCM_srto_R; // 1 RF Crawler motor Rvs rotation speed limnit |
sayzyas | 9:a4cc7dc2d92f | 282 | uint8_t sv_LBCM_srto_F; // 1 LB Crawler motor Fwd rotation speed limnit |
sayzyas | 9:a4cc7dc2d92f | 283 | uint8_t sv_LBCM_srto_R; // 1 LB Crawler motor Rvs rotation speed limnit |
sayzyas | 9:a4cc7dc2d92f | 284 | uint8_t sv_RFCM_dzu; // 1 R-Joystick upper dead zone width |
sayzyas | 9:a4cc7dc2d92f | 285 | uint8_t sv_RFCM_dzc; // 1 R-Joystick center value |
sayzyas | 9:a4cc7dc2d92f | 286 | uint8_t sv_RFCM_dzl; // 1 R-Joystick lower dead zone width |
sayzyas | 9:a4cc7dc2d92f | 287 | uint8_t sv_LBCM_dzu; // 1 L-Joystick upper dead zone width |
sayzyas | 9:a4cc7dc2d92f | 288 | uint8_t sv_LBCM_dzc; // 1 L-Joystick center value |
sayzyas | 9:a4cc7dc2d92f | 289 | uint8_t sv_LBCM_dzl; // 1 L-Joystick lower dead zone width |
sayzyas | 9:a4cc7dc2d92f | 290 | uint8_t reserved1; // 1 |
sayzyas | 9:a4cc7dc2d92f | 291 | uint8_t reserved2; // 1 |
sayzyas | 9:a4cc7dc2d92f | 292 | } crawler_SetValue_t; // 20 byte |
sayzyas | 9:a4cc7dc2d92f | 293 | |
sayzyas | 9:a4cc7dc2d92f | 294 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 295 | uint8_t sv_centerValue; |
sayzyas | 9:a4cc7dc2d92f | 296 | uint8_t sv_nsenseBand_s; |
sayzyas | 9:a4cc7dc2d92f | 297 | uint8_t sv_nsenseBand_w; |
sayzyas | 9:a4cc7dc2d92f | 298 | } js_SetValue_t; |
sayzyas | 9:a4cc7dc2d92f | 299 | |
sayzyas | 9:a4cc7dc2d92f | 300 | typedef struct SetValue { |
sayzyas | 9:a4cc7dc2d92f | 301 | // operation_t operation; |
sayzyas | 9:a4cc7dc2d92f | 302 | winch_SetValue_t winchCtrl; |
sayzyas | 9:a4cc7dc2d92f | 303 | tfm_SetValue_t tfmCtrl; |
sayzyas | 9:a4cc7dc2d92f | 304 | crawler_SetValue_t crawlerCtrl; |
sayzyas | 9:a4cc7dc2d92f | 305 | // js_SetValue_t jsCtrl; |
sayzyas | 9:a4cc7dc2d92f | 306 | } setValue_t; |
sayzyas | 9:a4cc7dc2d92f | 307 | |
sayzyas | 9:a4cc7dc2d92f | 308 | |
sayzyas | 9:a4cc7dc2d92f | 309 | |
sayzyas | 9:a4cc7dc2d92f | 310 | |
sayzyas | 9:a4cc7dc2d92f | 311 | #define SLOWDOWN_DISTANCE 23 // <--10 2016.06.01 |
sayzyas | 9:a4cc7dc2d92f | 312 | #define SLOWDOWN_NEAR_DISTANCE 3 |
sayzyas | 9:a4cc7dc2d92f | 313 | /* |
sayzyas | 9:a4cc7dc2d92f | 314 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 315 | int16_t dt_WinchCntPosition; // Current winch posittion |
sayzyas | 9:a4cc7dc2d92f | 316 | int16_t dt_WinchRtvValue; // Winch Moving distance |
sayzyas | 9:a4cc7dc2d92f | 317 | int16_t dt_WinchDstPosition; // Destination Position |
sayzyas | 9:a4cc7dc2d92f | 318 | char operation; |
sayzyas | 9:a4cc7dc2d92f | 319 | int8_t dt_WinchMotorCurrent; // Winch motor current |
sayzyas | 9:a4cc7dc2d92f | 320 | } winchData_t; |
sayzyas | 9:a4cc7dc2d92f | 321 | */ |
sayzyas | 9:a4cc7dc2d92f | 322 | |
sayzyas | 9:a4cc7dc2d92f | 323 | typedef struct { |
sayzyas | 9:a4cc7dc2d92f | 324 | int16_t dt_WinchCntPosition; // Current winch posittion |
sayzyas | 9:a4cc7dc2d92f | 325 | int16_t dt_WinchRtvValue; // Winch Moving distance |
sayzyas | 9:a4cc7dc2d92f | 326 | int16_t dt_WinchDstPosition; // Destination Position |
sayzyas | 9:a4cc7dc2d92f | 327 | uint8_t operation; |
sayzyas | 9:a4cc7dc2d92f | 328 | uint8_t dt_WinchMotor1Current; // Winch motor 1 current |
sayzyas | 9:a4cc7dc2d92f | 329 | uint8_t dt_WinchMotor2Current; // Winch motor 2 current |
sayzyas | 9:a4cc7dc2d92f | 330 | uint8_t res; |
sayzyas | 9:a4cc7dc2d92f | 331 | } winchData_t; |
sayzyas | 9:a4cc7dc2d92f | 332 | |
sayzyas | 9:a4cc7dc2d92f | 333 | |
sayzyas | 9:a4cc7dc2d92f | 334 | #define ROTATE_PER_RESOLUTION 24 |
sayzyas | 9:a4cc7dc2d92f | 335 | |
sayzyas | 9:a4cc7dc2d92f | 336 | #define __READ_CURRENT_AT_CIF_TASK__ |
sayzyas | 9:a4cc7dc2d92f | 337 | |
sayzyas | 9:a4cc7dc2d92f | 338 | //mv_WinchMvData |