Communicate with IAI Robotnet linear actuators
Dependents: IAILinearActuators
linactregdefs.h@0:de88dc2515d3, 2014-02-24 (annotated)
- Committer:
- henryeherman
- Date:
- Mon Feb 24 05:54:34 2014 +0000
- Revision:
- 0:de88dc2515d3
Initial commit of IAI code to mbed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
henryeherman | 0:de88dc2515d3 | 1 | #ifndef LINACTREGDEF_H |
henryeherman | 0:de88dc2515d3 | 2 | #define LINACTREGDEF_H |
henryeherman | 0:de88dc2515d3 | 3 | |
henryeherman | 0:de88dc2515d3 | 4 | #define IS_MBED |
henryeherman | 0:de88dc2515d3 | 5 | #ifdef IS_MBED |
henryeherman | 0:de88dc2515d3 | 6 | #include "mbed.h" |
henryeherman | 0:de88dc2515d3 | 7 | #endif |
henryeherman | 0:de88dc2515d3 | 8 | |
henryeherman | 0:de88dc2515d3 | 9 | #define GWADDR 0x3f // 63 or 0x3f fixed slave address |
henryeherman | 0:de88dc2515d3 | 10 | #define LINACT_READ_MULTI 0x03 |
henryeherman | 0:de88dc2515d3 | 11 | #define LINACT_WRITE 0x06 |
henryeherman | 0:de88dc2515d3 | 12 | #define LINACT_WRITE_MULTI 0x10 |
henryeherman | 0:de88dc2515d3 | 13 | |
henryeherman | 0:de88dc2515d3 | 14 | #define GWCTRL0 0xF600 |
henryeherman | 0:de88dc2515d3 | 15 | #define GWCTRL1 0xF601 |
henryeherman | 0:de88dc2515d3 | 16 | |
henryeherman | 0:de88dc2515d3 | 17 | #define GWCTRL_APP_SIG (1<<15) |
henryeherman | 0:de88dc2515d3 | 18 | |
henryeherman | 0:de88dc2515d3 | 19 | #define AXIS0_BASE_WR 0xF608 |
henryeherman | 0:de88dc2515d3 | 20 | #define AXIS1_BASE_WR 0xF60C |
henryeherman | 0:de88dc2515d3 | 21 | #define AXIS2_BASE_WR 0xF610 |
henryeherman | 0:de88dc2515d3 | 22 | #define AXIS3_BASE_WR 0xF614 |
henryeherman | 0:de88dc2515d3 | 23 | #define AXIS4_BASE_WR 0xF608 |
henryeherman | 0:de88dc2515d3 | 24 | #define AXIS5_BASE_WR 0xF61C |
henryeherman | 0:de88dc2515d3 | 25 | |
henryeherman | 0:de88dc2515d3 | 26 | #define POS_SET_LO_OFFSET 0x0 |
henryeherman | 0:de88dc2515d3 | 27 | |
henryeherman | 0:de88dc2515d3 | 28 | #define AXIS0_POS_SET_LO (AXIS0_BASE_WR + POS_SET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 29 | #define AXIS1_POS_SET_LO (AXIS1_BASE_WR + POS_SET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 30 | #define AXIS2_POS_SET_LO (AXIS2_BASE_WR + POS_SET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 31 | #define AXIS3_POS_SET_LO (AXIS3_BASE_WR + POS_SET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 32 | #define AXIS4_POS_SET_LO (AXIS4_BASE_WR + POS_SET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 33 | |
henryeherman | 0:de88dc2515d3 | 34 | #define POS_SET_HI_OFFSET 0x1 |
henryeherman | 0:de88dc2515d3 | 35 | |
henryeherman | 0:de88dc2515d3 | 36 | #define AXIS0_POS_SET_HI (AXIS0_BASE_WR + POS_SET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 37 | #define AXIS1_POS_SET_HI (AXIS1_BASE_WR + POS_SET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 38 | #define AXIS2_POS_SET_HI (AXIS2_BASE_WR + POS_SET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 39 | #define AXIS3_POS_SET_HI (AXIS3_BASE_WR + POS_SET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 40 | #define AXIS4_POS_SET_HI (AXIS4_BASE_WR + POS_SET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 41 | |
henryeherman | 0:de88dc2515d3 | 42 | #define CMD_POS_SET_OFFSET 0x2 |
henryeherman | 0:de88dc2515d3 | 43 | |
henryeherman | 0:de88dc2515d3 | 44 | #define AXIS0_CMD_POS_SET (AXIS0_BASE_WR + CMD_POS_SET_OFFSET) |
henryeherman | 0:de88dc2515d3 | 45 | #define AXIS1_CMD_POS_SET (AXIS1_BASE_WR + CMD_POS_SET_OFFSET) |
henryeherman | 0:de88dc2515d3 | 46 | #define AXIS2_CMD_POS_SET (AXIS2_BASE_WR + CMD_POS_SET_OFFSET) |
henryeherman | 0:de88dc2515d3 | 47 | #define AXIS3_CMD_POS_SET (AXIS3_BASE_WR + CMD_POS_SET_OFFSET) |
henryeherman | 0:de88dc2515d3 | 48 | #define AXIS4_CMD_POS_SET (AXIS4_BASE_WR + CMD_POS_SET_OFFSET) |
henryeherman | 0:de88dc2515d3 | 49 | |
henryeherman | 0:de88dc2515d3 | 50 | #define CNTRL_SIG_OFFSET 0x3 |
henryeherman | 0:de88dc2515d3 | 51 | |
henryeherman | 0:de88dc2515d3 | 52 | #define AXIS0_CTRL_SIG (AXIS0_BASE_WR + CNTRL_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 53 | #define AXIS1_CTRL_SIG (AXIS1_BASE_WR + CNTRL_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 54 | #define AXIS2_CTRL_SIG (AXIS2_BASE_WR + CNTRL_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 55 | #define AXIS3_CTRL_SIG (AXIS3_BASE_WR + CNTRL_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 56 | #define AXIS4_CTRL_SIG (AXIS4_BASE_WR + CNTRL_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 57 | |
henryeherman | 0:de88dc2515d3 | 58 | #define AXIS_CTRL_BKRL (1<<15) |
henryeherman | 0:de88dc2515d3 | 59 | #define AXIS_CTRL_MODE (1<<10) |
henryeherman | 0:de88dc2515d3 | 60 | #define AXIS_CTRL_PWRT (1<<9) |
henryeherman | 0:de88dc2515d3 | 61 | #define AXIS_CTRL_JOGP (1<<8) |
henryeherman | 0:de88dc2515d3 | 62 | #define AXIS_CTRL_JOGN (1<<7) |
henryeherman | 0:de88dc2515d3 | 63 | #define AXIS_CTRL_JVEL (1<<6) |
henryeherman | 0:de88dc2515d3 | 64 | #define AXIS_CTRL_JISL (1<<5) |
henryeherman | 0:de88dc2515d3 | 65 | #define AXIS_CTRL_SON (1<<4) |
henryeherman | 0:de88dc2515d3 | 66 | #define AXIS_CTRL_RES (1<<3) |
henryeherman | 0:de88dc2515d3 | 67 | #define AXIS_CTRL_STP (1<<2) // Pause command |
henryeherman | 0:de88dc2515d3 | 68 | #define AXIS_CTRL_HOME (1<<1) |
henryeherman | 0:de88dc2515d3 | 69 | #define AXIS_CTRL_CSTR (1<<0) |
henryeherman | 0:de88dc2515d3 | 70 | |
henryeherman | 0:de88dc2515d3 | 71 | #define LINACT_GWSTATUS0 0xF700 |
henryeherman | 0:de88dc2515d3 | 72 | #define LINACT_GWSTATUS1 0xF701 |
henryeherman | 0:de88dc2515d3 | 73 | |
henryeherman | 0:de88dc2515d3 | 74 | #define GWSTATUS0_RUN (1<<15) |
henryeherman | 0:de88dc2515d3 | 75 | #define GWSTATUS0_ERRT (1<<14) |
henryeherman | 0:de88dc2515d3 | 76 | #define GWSTATUS0_MOD (1<<12) |
henryeherman | 0:de88dc2515d3 | 77 | #define GWSTATUS0_W8B16 (1<<9) |
henryeherman | 0:de88dc2515d3 | 78 | #define GWSTATUE0_W8B8 (1<<8) |
henryeherman | 0:de88dc2515d3 | 79 | #define GWSTATUS0_W8B4 (1<<7) |
henryeherman | 0:de88dc2515d3 | 80 | #define GWSTATUS0_W8B2 (1<<6) |
henryeherman | 0:de88dc2515d3 | 81 | #define GWSTATUS0_W8B1 (1<<5) |
henryeherman | 0:de88dc2515d3 | 82 | #define GWSTATUS0_W4B16 (1<<4) |
henryeherman | 0:de88dc2515d3 | 83 | #define GWSTATUS0_W4B8 (1<<3) |
henryeherman | 0:de88dc2515d3 | 84 | #define GWSTATUS0_W4B4 (1<<2) |
henryeherman | 0:de88dc2515d3 | 85 | #define GWSTATUS0_W4B2 (1<<1) |
henryeherman | 0:de88dc2515d3 | 86 | #define GWSTATUS0_W4B1 (1<<0) |
henryeherman | 0:de88dc2515d3 | 87 | |
henryeherman | 0:de88dc2515d3 | 88 | #define GWSTATUS1_LNK15 (1<<15) |
henryeherman | 0:de88dc2515d3 | 89 | #define GWSTATUS1_LNK14 (1<<14) |
henryeherman | 0:de88dc2515d3 | 90 | #define GWSTATUS1_LNK13 (1<<13) |
henryeherman | 0:de88dc2515d3 | 91 | #define GWSTATUS1_LNK12 (1<<12) |
henryeherman | 0:de88dc2515d3 | 92 | #define GWSTATUS1_LNK11 (1<<11) |
henryeherman | 0:de88dc2515d3 | 93 | #define GWSTATUS1_LNK10 (1<<10) |
henryeherman | 0:de88dc2515d3 | 94 | #define GWSTATUS1_LNK9 (1<<9) |
henryeherman | 0:de88dc2515d3 | 95 | #define GWSTATUS1_LNK8 (1<<8) |
henryeherman | 0:de88dc2515d3 | 96 | #define GWSTATUS1_LNK7 (1<<7) |
henryeherman | 0:de88dc2515d3 | 97 | #define GWSTATUS1_LNK6 (1<<6) |
henryeherman | 0:de88dc2515d3 | 98 | #define GWSTATUS1_LNK5 (1<<5) |
henryeherman | 0:de88dc2515d3 | 99 | #define GWSTATUS1_LNK4 (1<<4) |
henryeherman | 0:de88dc2515d3 | 100 | #define GWSTATUS1_LNK3 (1<<3) |
henryeherman | 0:de88dc2515d3 | 101 | #define GWSTATUS1_LNK2 (1<<2) |
henryeherman | 0:de88dc2515d3 | 102 | #define GWSTATUS1_LNK1 (1<<1) |
henryeherman | 0:de88dc2515d3 | 103 | #define GWSTATUS1_LNK0 (1<<0) |
henryeherman | 0:de88dc2515d3 | 104 | |
henryeherman | 0:de88dc2515d3 | 105 | |
henryeherman | 0:de88dc2515d3 | 106 | |
henryeherman | 0:de88dc2515d3 | 107 | #define AXIS0_BASE_RD 0xF708 |
henryeherman | 0:de88dc2515d3 | 108 | #define AXIS1_BASE_RD 0xF70C |
henryeherman | 0:de88dc2515d3 | 109 | #define AXIS2_BASE_RD 0xF710 |
henryeherman | 0:de88dc2515d3 | 110 | #define AXIS3_BASE_RD 0xF714 |
henryeherman | 0:de88dc2515d3 | 111 | #define AXIS4_BASE_RD 0xF718 |
henryeherman | 0:de88dc2515d3 | 112 | |
henryeherman | 0:de88dc2515d3 | 113 | |
henryeherman | 0:de88dc2515d3 | 114 | #define POS_GET_LO_OFFSET 0x0 |
henryeherman | 0:de88dc2515d3 | 115 | |
henryeherman | 0:de88dc2515d3 | 116 | #define AXIS0_POS_GET_LO (AXIS0_BASE_RD + POS_GET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 117 | #define AXIS1_POS_GET_LO (AXIS1_BASE_RD + POS_GET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 118 | #define AXIS2_POS_GET_LO (AXIS2_BASE_RD + POS_GET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 119 | #define AXIS3_POS_GET_LO (AXIS3_BASE_RD + POS_GET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 120 | #define AXIS4_POS_GET_LO (AXIS4_BASE_RD + POS_GET_LO_OFFSET) |
henryeherman | 0:de88dc2515d3 | 121 | |
henryeherman | 0:de88dc2515d3 | 122 | #define POS_GET_HI_OFFSET 0x1 |
henryeherman | 0:de88dc2515d3 | 123 | |
henryeherman | 0:de88dc2515d3 | 124 | #define AXIS0_POS_GET_HI (AXIS0_BASE_RD + POS_GET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 125 | #define AXIS1_POS_GET_HI (AXIS1_BASE_RD + POS_GET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 126 | #define AXIS2_POS_GET_HI (AXIS2_BASE_RD + POS_GET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 127 | #define AXIS3_POS_GET_HI (AXIS3_BASE_RD + POS_GET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 128 | #define AXIS4_POS_GET_HI (AXIS4_BASE_RD + POS_GET_HI_OFFSET) |
henryeherman | 0:de88dc2515d3 | 129 | |
henryeherman | 0:de88dc2515d3 | 130 | #define CMPLT_POS_OFFSET 0x2 |
henryeherman | 0:de88dc2515d3 | 131 | |
henryeherman | 0:de88dc2515d3 | 132 | #define AXIS0_CMPLT_POS (AXIS0_BASE_RD + CMPLT_POS_OFFSET) |
henryeherman | 0:de88dc2515d3 | 133 | #define AXIS1_CMPLT_POS (AXIS1_BASE_RD + CMPLT_POS_OFFSET) |
henryeherman | 0:de88dc2515d3 | 134 | #define AXIS2_CMPLT_POS (AXIS2_BASE_RD + CMPLT_POS_OFFSET) |
henryeherman | 0:de88dc2515d3 | 135 | #define AXIS3_CMPLT_POS (AXIS3_BASE_RD + CMPLT_POS_OFFSET) |
henryeherman | 0:de88dc2515d3 | 136 | #define AXIS4_CMPLT_POS (AXIS4_BASE_RD + CMPLT_POS_OFFSET) |
henryeherman | 0:de88dc2515d3 | 137 | |
henryeherman | 0:de88dc2515d3 | 138 | #define STATUS_SIG_OFFSET 0x3 |
henryeherman | 0:de88dc2515d3 | 139 | |
henryeherman | 0:de88dc2515d3 | 140 | #define AXIS0_STATUS_SIG (AXIS0_BASE_RD + STATUS_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 141 | #define AXIS1_STATUS_SIG (AXIS1_BASE_RD + STATUS_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 142 | #define AXIS2_STATUS_SIG (AXIS2_BASE_RD + STATUS_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 143 | #define AXIS3_STATUS_SIG (AXIS3_BASE_RD + STATUS_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 144 | #define AXIS4_STATUS_SIG (AXIS4_BASE_RD + STATUS_SIG_OFFSET) |
henryeherman | 0:de88dc2515d3 | 145 | |
henryeherman | 0:de88dc2515d3 | 146 | #define AXIS_STATUS_EMGS (1<<15) |
henryeherman | 0:de88dc2515d3 | 147 | #define AXIS_STATUS_CRDY (1<<14) |
henryeherman | 0:de88dc2515d3 | 148 | #define AXIS_STATUS_ZONE1 (1<<13) |
henryeherman | 0:de88dc2515d3 | 149 | #define AXIS_STATUS_ZONE2 (1<<12) |
henryeherman | 0:de88dc2515d3 | 150 | #define AXIS_STATUS_PZONE (1<<11) |
henryeherman | 0:de88dc2515d3 | 151 | #define AXIS_STATUS_MODES (1<<10) |
henryeherman | 0:de88dc2515d3 | 152 | #define AXIS_STATUS_WEND (1<<9) |
henryeherman | 0:de88dc2515d3 | 153 | #define AXIS_STATUS_PSFL (1<<5) |
henryeherman | 0:de88dc2515d3 | 154 | #define AXIS_STATUS_SV (1<<4) |
henryeherman | 0:de88dc2515d3 | 155 | #define AXIS_STATUS_ALM (1<<3) |
henryeherman | 0:de88dc2515d3 | 156 | #define AXIS_STATUS_MOVE (1<<2) |
henryeherman | 0:de88dc2515d3 | 157 | #define AXIS_STATUS_HEND (1<<1) |
henryeherman | 0:de88dc2515d3 | 158 | #define AXIS_STATUS_PEND (1<<0) |
henryeherman | 0:de88dc2515d3 | 159 | |
henryeherman | 0:de88dc2515d3 | 160 | #define LINACT_BUFLEN (64) |
henryeherman | 0:de88dc2515d3 | 161 | |
henryeherman | 0:de88dc2515d3 | 162 | #define TO_HEX(i) (i <= 9 : '0' + i ? 'A' - 10 + i) |
henryeherman | 0:de88dc2515d3 | 163 | |
henryeherman | 0:de88dc2515d3 | 164 | #endif // end linactregdef |