|
AM64x MCU+ SDK
08.04.00
|
|
Go to the documentation of this file.
46 #include <motor_control/position_sense/endat/include/endat_interface.h>
48 #define PRUICSS_PRUx PRUICSS_PRU1
51 (*((volatile uint32_t *)(x)))
53 (*((volatile uint8_t *)(x)))
55 (*((volatile uint16_t *)(x)))
59 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE0 0xA1
61 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE1 0xA3
63 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE2 0xA5
66 #define ENDAT_TX_30BITS (30 + 1)
68 #define ENDAT_TX_6BITS (6 + 1)
69 #define ENDAT_RX_29BITS 29
71 #define ENDAT_RX_46BITS 46
73 #define APP_ENDAT_WORD_0 0
74 #define APP_ENDAT_WORD_1 1
75 #define APP_ENDAT_WORD_2 2
76 #define APP_ENDAT_WORD_3 3
77 #define APP_ENDAT_WORD_4 4
78 #define APP_ENDAT_WORD_5 5
79 #define APP_ENDAT_WORD_6 6
80 #define APP_ENDAT_WORD_7 7
81 #define APP_ENDAT_WORD_8 8
82 #define APP_ENDAT_WORD_9 9
83 #define APP_ENDAT_WORD_10 10
84 #define APP_ENDAT_WORD_11 11
85 #define APP_ENDAT_WORD_12 12
86 #define APP_ENDAT_WORD_13 13
87 #define APP_ENDAT_WORD_14 14
88 #define APP_ENDAT_WORD_15 15
89 #define APP_ENDAT_WORD_16 16
90 #define APP_ENDAT_WORD_17 17
91 #define APP_ENDAT_WORD_18 18
92 #define APP_ENDAT_WORD_19 19
94 #define ENDAT_NUM_BITS_POSITION_CRC 5
95 #define ENDAT_NUM_BITS_F1 1
96 #define ENDAT_NUM_BITS_F2 1
97 #define ENDAT_NUM_BITS_PARAMETER 16
98 #define ENDAT_NUM_BITS_ADDRESS 8
220 #define VALID_2_1_CMD(x) (((x) == 1) || ((x) == 2) || ((x) == 3) || ((x) == 4) || ((x) == 5) || ((x) == 6) || ((x) == 7) )
221 #define VALID_2_2_CMD(x) (((x) == 8) || ((x) == 9) || ((x) == 10) || ((x) == 11) || ((x) == 12) || ((x) == 13) || ((x) == 14))
223 #define ENDAT_NUM_ADDITIONAL_INFO_DUMMY_BIT 1
224 #define ENDAT_NUM_BYTES_ADDITIONAL_INFO 3
226 #define ENDAT_STATUS_WARN_SHIFT 7
227 #define ENDAT_STATUS_RM_SHIFT 6
228 #define ENDAT_STATUS_BUSY_SHIFT 5
229 #define ENDAT_STATUS_WARN_MASK (1 << ENDAT_STATUS_WARN_SHIFT)
230 #define ENDAT_STATUS_RM_MASK (1 << ENDAT_STATUS_RM_SHIFT)
231 #define ENDAT_STATUS_BUSY_MASK (1 << ENDAT_STATUS_BUSY_SHIFT)
232 #define ENDAT_INFORMATION_MASK 0x1f
234 #define ENDAT_21_F1_SHIFT 31
235 #define ENDAT_21_F1_MASK (1 << ENDAT_21_F1_SHIFT)
236 #define ENDAT_22_F1_SHIFT ENDAT_21_F1_SHIFT
237 #define ENDAT_22_F1_MASK (1 << ENDAT_22_F1_SHIFT)
238 #define ENDAT_F2_SHIFT 30
239 #define ENDAT_F2_MASK (1 << ENDAT_F2_SHIFT)
241 #define ENDAT_ADDITIONAL_INFO_RX_BITS 30
243 #define ENDAT_SECTION2_MEMORY 0xBF
245 #define ENDAT_NUM_BITS_VALID_PAGE0_WORD13 6
247 #define ENDAT_NUM_BITS_VALID_PAGE1_WORD1 16
249 #define ENDAT_MRS_SHIFT_C7_C4 (4)
250 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO1 (0x4)
251 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO2 (0x5)
252 #define ENDAT_MRS_MASK_SELECT_ADDITIONAL_INFO (0xF << ENDAT_MRS_SHIFT_C7_C4)
253 #define ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO (0xF)
254 #define ENDAT_MRS_MASK_STOP_ADDITIONAL_INFO (ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO)
256 #define ENDAT_GET_POS_MULTI_TURN(pos, priv) (((pos) & (((unsigned long long) 1 << (priv)->pos_res) - 1)) >> (priv)->single_turn_res)
257 #define ENDAT_GET_POS_SINGLE_TURN(pos, priv) ((pos) & (((unsigned long long) 1 << (priv)->single_turn_res) - 1))
unsigned data
Definition: endat_drv.h:162
unsigned long long revolution
Definition: endat_drv.h:181
Definition: endat_drv.h:179
unsigned char f1
Definition: endat_drv.h:209
unsigned char crc
Definition: endat_drv.h:190
@ rotary
Definition: endat_drv.h:129
unsigned ascii
Definition: endat_drv.h:118
struct endat_addinfo addinfo1 addinfo2
Definition: endat_drv.h:196
unsigned cmd_set_2_2
Definition: endat_drv.h:142
unsigned info1
Definition: endat_drv.h:112
unsigned char crc
Definition: endat_drv.h:203
Definition: endat_drv.h:207
unsigned recvd3
Definition: endat_drv.h:175
unsigned long long recvd1
Definition: endat_drv.h:171
unsigned binary
Definition: endat_drv.h:119
unsigned short rx_en_cnt
Definition: endat_drv.h:146
unsigned frequency
Definition: endat_drv.h:165
unsigned recvd2
Definition: endat_drv.h:173
int channel
Definition: endat_drv.h:145
unsigned ascii_lsb
Definition: endat_drv.h:126
Definition: endat_drv.h:132
int multi_turn_res
Definition: endat_drv.h:135
unsigned short rx_en_cnt
Definition: endat_drv.h:106
unsigned address
Definition: endat_drv.h:161
unsigned pos_rx_bits_22
Definition: endat_drv.h:138
unsigned char crc
Definition: endat_drv.h:184
int step
Definition: endat_drv.h:136
unsigned char crc
Definition: endat_drv.h:210
int pos_res
Definition: endat_drv.h:133
unsigned ascii_msb
Definition: endat_drv.h:124
unsigned char f1
Definition: endat_drv.h:182
int type
Definition: endat_drv.h:143
unsigned pos_rx_bits_21
Definition: endat_drv.h:137
unsigned long long value
Definition: endat_drv.h:208
struct endat_pruss_xchg * pruss_xchg
Definition: endat_drv.h:147
Definition: endat_drv.h:117
Definition: endat_drv.h:103
struct endat_position position
Definition: endat_drv.h:195
Definition: endat_drv.h:169
unsigned char has_block_address
Definition: endat_drv.h:164
unsigned long long position
Definition: endat_drv.h:180
Definition: endat_drv.h:123
unsigned char address
Definition: endat_drv.h:201
unsigned char f2
Definition: endat_drv.h:183
unsigned short tx_div
Definition: endat_drv.h:105
unsigned info2
Definition: endat_drv.h:113
int raw_data
Definition: endat_drv.h:144
unsigned addinfo
Definition: endat_drv.h:189
void * pruss_cfg
Definition: endat_drv.h:149
int has_safety
Definition: endat_drv.h:148
unsigned binary
Definition: endat_drv.h:125
@ linear
Definition: endat_drv.h:129
unsigned short rx_div
Definition: endat_drv.h:104
int single_turn_res
Definition: endat_drv.h:134
Definition: endat_drv.h:188
unsigned short params
Definition: endat_drv.h:202
Definition: endat_drv.h:200
Definition: endat_drv.h:153
Definition: endat_drv.h:111
unsigned short rx_div_attr
Definition: endat_drv.h:107
unsigned block
Definition: endat_drv.h:163
Definition: endat_drv.h:194