z ysaito
/
CPro_DemoB1B2_4_ResAnaCtrl
2018.08.03 1st commit of demo main res ctrl
common.h@1:85e8e2c8f283, 2018-08-03 (annotated)
- Committer:
- sayzyas
- Date:
- Fri Aug 03 02:28:22 2018 +0000
- Revision:
- 1:85e8e2c8f283
- Parent:
- 0:f8373bf202a6
2018.08.03
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sayzyas | 0:f8373bf202a6 | 1 | /* |
sayzyas | 0:f8373bf202a6 | 2 | * mbed LPC824-Max header |
sayzyas | 0:f8373bf202a6 | 3 | * |
sayzyas | 0:f8373bf202a6 | 4 | */ |
sayzyas | 0:f8373bf202a6 | 5 | |
sayzyas | 0:f8373bf202a6 | 6 | // If you use moving type winch , then should comment out followings !! |
sayzyas | 0:f8373bf202a6 | 7 | // #define FFWinchPhaseSetting // Valid if Fix falling winch system is using. |
sayzyas | 0:f8373bf202a6 | 8 | |
sayzyas | 0:f8373bf202a6 | 9 | #define __DEBUG__ |
sayzyas | 0:f8373bf202a6 | 10 | #ifdef __DEBUG__ |
sayzyas | 0:f8373bf202a6 | 11 | #define DEBUG_PRINT(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 12 | #else |
sayzyas | 0:f8373bf202a6 | 13 | #define DEBUG_PRINT(...) ; |
sayzyas | 0:f8373bf202a6 | 14 | //#define DEBUG_PRINT(...) 1 ? (void)0 : pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 15 | #endif |
sayzyas | 0:f8373bf202a6 | 16 | /* Information */ |
sayzyas | 0:f8373bf202a6 | 17 | #define LatestUpDate "2016.09.27" |
sayzyas | 0:f8373bf202a6 | 18 | #define ProgramRevision "Rev 2.30" |
sayzyas | 0:f8373bf202a6 | 19 | #define Author "Y.Saito(zinsor)" |
sayzyas | 0:f8373bf202a6 | 20 | #define Company "Revast Co.,Ltd" |
sayzyas | 0:f8373bf202a6 | 21 | |
sayzyas | 0:f8373bf202a6 | 22 | |
sayzyas | 0:f8373bf202a6 | 23 | /* Debug macro */ |
sayzyas | 0:f8373bf202a6 | 24 | #define __DEBUG_L0__ |
sayzyas | 0:f8373bf202a6 | 25 | #define __DEBUG_L1__ |
sayzyas | 0:f8373bf202a6 | 26 | //#define __DEBUG_L2__ |
sayzyas | 0:f8373bf202a6 | 27 | //#define __DEBUG_L3__ |
sayzyas | 0:f8373bf202a6 | 28 | //#define __DEBUG_L4__ |
sayzyas | 0:f8373bf202a6 | 29 | |
sayzyas | 0:f8373bf202a6 | 30 | #ifdef __DEBUG_L0__ |
sayzyas | 0:f8373bf202a6 | 31 | #define DEBUG_PRINT_L0(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 32 | #else |
sayzyas | 0:f8373bf202a6 | 33 | #define DEBUG_PRINT_L0(...) |
sayzyas | 0:f8373bf202a6 | 34 | #endif |
sayzyas | 0:f8373bf202a6 | 35 | #ifdef __DEBUG_L1__ |
sayzyas | 0:f8373bf202a6 | 36 | #define DEBUG_PRINT_L1(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 37 | #else |
sayzyas | 0:f8373bf202a6 | 38 | #define DEBUG_PRINT_L1(...) |
sayzyas | 0:f8373bf202a6 | 39 | #endif |
sayzyas | 0:f8373bf202a6 | 40 | #ifdef __DEBUG_L2__ |
sayzyas | 0:f8373bf202a6 | 41 | #define DEBUG_PRINT_L2(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 42 | #else |
sayzyas | 0:f8373bf202a6 | 43 | #define DEBUG_PRINT_L2(...) |
sayzyas | 0:f8373bf202a6 | 44 | #endif |
sayzyas | 0:f8373bf202a6 | 45 | #ifdef __DEBUG_L3__ |
sayzyas | 0:f8373bf202a6 | 46 | #define DEBUG_PRINT_L3(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 47 | #else |
sayzyas | 0:f8373bf202a6 | 48 | #define DEBUG_PRINT_L3(...) |
sayzyas | 0:f8373bf202a6 | 49 | #endif |
sayzyas | 0:f8373bf202a6 | 50 | #ifdef __DEBUG_L4__ |
sayzyas | 0:f8373bf202a6 | 51 | #define DEBUG_PRINT_L4(...) pc.printf(__VA_ARGS__) |
sayzyas | 0:f8373bf202a6 | 52 | #else |
sayzyas | 0:f8373bf202a6 | 53 | #define DEBUG_PRINT_L4(...) |
sayzyas | 0:f8373bf202a6 | 54 | #endif |
sayzyas | 0:f8373bf202a6 | 55 | |
sayzyas | 0:f8373bf202a6 | 56 | enum{ |
sayzyas | 0:f8373bf202a6 | 57 | MOTOR_RFCRW, // RF crawler |
sayzyas | 0:f8373bf202a6 | 58 | MOTOR_LBCRW, // LB crawler |
sayzyas | 0:f8373bf202a6 | 59 | MOTOR_RFTFM, // RF Transform |
sayzyas | 0:f8373bf202a6 | 60 | MOTOR_LBTFM, // LB transform |
sayzyas | 0:f8373bf202a6 | 61 | MOTOR_WINCH, // Winch |
sayzyas | 0:f8373bf202a6 | 62 | MOTOR_CMPAN, // Pan/Tilt |
sayzyas | 0:f8373bf202a6 | 63 | MOTOR_CTILT |
sayzyas | 0:f8373bf202a6 | 64 | }; |
sayzyas | 0:f8373bf202a6 | 65 | |
sayzyas | 0:f8373bf202a6 | 66 | enum{ |
sayzyas | 0:f8373bf202a6 | 67 | MOTOR_DIR_FWD, // Motor forwaed rotation |
sayzyas | 0:f8373bf202a6 | 68 | MOTOR_DIR_RVS, // Motor reverse rotation |
sayzyas | 0:f8373bf202a6 | 69 | MOTOR_DIR_STP // Motor stop |
sayzyas | 0:f8373bf202a6 | 70 | }; |
sayzyas | 0:f8373bf202a6 | 71 | |
sayzyas | 0:f8373bf202a6 | 72 | #define NumberOfI2CCommand 12 |
sayzyas | 0:f8373bf202a6 | 73 | enum{ |
sayzyas | 0:f8373bf202a6 | 74 | I2C_CP_COMMAND, // instruction command |
sayzyas | 0:f8373bf202a6 | 75 | I2C_CP_MOTORNO, // motor number |
sayzyas | 0:f8373bf202a6 | 76 | I2C_CP_M_DIR, // motor rotation direction |
sayzyas | 0:f8373bf202a6 | 77 | I2C_CP_M_CNTTH_U, // motor current limit detection threshold upper byte |
sayzyas | 0:f8373bf202a6 | 78 | I2C_CP_M_CNTTH_L, // motor current limit detection threshold lower byte |
sayzyas | 0:f8373bf202a6 | 79 | I2C_CP_WDRAM_DIA_UPPER, // winch dram motor diameter upper |
sayzyas | 0:f8373bf202a6 | 80 | I2C_CP_WDRAM_DIA_LOWER, // winch dram motor diameter lower |
sayzyas | 0:f8373bf202a6 | 81 | I2C_CP_CCABLE_DIA_UPPER, // cable diameter upper byte |
sayzyas | 0:f8373bf202a6 | 82 | I2C_CP_CCABLE_DIA_LOWER, // cable diameter lower byte |
sayzyas | 0:f8373bf202a6 | 83 | I2C_CP_RESOLVER_RESO, // resolver resolution (bit) |
sayzyas | 0:f8373bf202a6 | 84 | I2C_CP_PRESET_CPOS_UPPER, // preset position upper |
sayzyas | 0:f8373bf202a6 | 85 | I2C_CP_PRESET_CPOS_LOWER, // preset position lower |
sayzyas | 0:f8373bf202a6 | 86 | }; |
sayzyas | 0:f8373bf202a6 | 87 | |
sayzyas | 0:f8373bf202a6 | 88 | |
sayzyas | 0:f8373bf202a6 | 89 | #define ROTATE_PER_RESOLUTION 24 |
sayzyas | 0:f8373bf202a6 | 90 | #define REAL_THREAD_DIAMETER 63 // 60+3 |
sayzyas | 0:f8373bf202a6 | 91 | //#define ROTATION_DISTANCE 197.82f // (60+3)*3.14 |
sayzyas | 0:f8373bf202a6 | 92 | #define ROTATION_PULSE_PER_1ROUND 16384 // 2^12(bit) * 4 |
sayzyas | 0:f8373bf202a6 | 93 | #define PAI 3.14159265359 |
sayzyas | 0:f8373bf202a6 | 94 | |
sayzyas | 0:f8373bf202a6 | 95 | /* ***************** */ |
sayzyas | 0:f8373bf202a6 | 96 | /* Target definition */ |
sayzyas | 0:f8373bf202a6 | 97 | /* ***************** */ |
sayzyas | 0:f8373bf202a6 | 98 | #define I2C_ADDRESS_RESOLVER 0x02 |
sayzyas | 0:f8373bf202a6 | 99 | |
sayzyas | 0:f8373bf202a6 | 100 | /* Command Packet */ |
sayzyas | 0:f8373bf202a6 | 101 | #define CLEAR_RESOLVER_POSITION 'X' |
sayzyas | 0:f8373bf202a6 | 102 | #define HELLO_PACKET 'A' |
sayzyas | 0:f8373bf202a6 | 103 | |
sayzyas | 0:f8373bf202a6 | 104 | #define LED_ON 0 |
sayzyas | 0:f8373bf202a6 | 105 | #define LED_OFF 1 |