|
AM243x MCU+ SDK
08.06.00
|
|
Go to the documentation of this file.
45 #include <motor_control/position_sense/endat/include/endat_interface.h>
46 #define ENDAT_MODE_SINGLE_CHANNEL_SINGLE_PRU (0U)
47 #define ENDAT_MODE_MULTI_CHANNEL_SINGLE_PRU (1U)
48 #define ENDAT_MODE_MULTI_CHANNEL_MULTI_PRU (2U)
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
225 #define VALID_2_1_CMD(x) (((x) == 1) || ((x) == 2) || ((x) == 3) || ((x) == 4) || ((x) == 5) || ((x) == 6) || ((x) == 7) )
226 #define VALID_2_2_CMD(x) (((x) == 8) || ((x) == 9) || ((x) == 10) || ((x) == 11) || ((x) == 12) || ((x) == 13) || ((x) == 14))
228 #define ENDAT_NUM_ADDITIONAL_INFO_DUMMY_BIT 1
229 #define ENDAT_NUM_BYTES_ADDITIONAL_INFO 3
231 #define ENDAT_STATUS_WARN_SHIFT 7
232 #define ENDAT_STATUS_RM_SHIFT 6
233 #define ENDAT_STATUS_BUSY_SHIFT 5
234 #define ENDAT_STATUS_WARN_MASK (1 << ENDAT_STATUS_WARN_SHIFT)
235 #define ENDAT_STATUS_RM_MASK (1 << ENDAT_STATUS_RM_SHIFT)
236 #define ENDAT_STATUS_BUSY_MASK (1 << ENDAT_STATUS_BUSY_SHIFT)
237 #define ENDAT_INFORMATION_MASK 0x1f
239 #define ENDAT_21_F1_SHIFT 31
240 #define ENDAT_21_F1_MASK (1 << ENDAT_21_F1_SHIFT)
241 #define ENDAT_22_F1_SHIFT ENDAT_21_F1_SHIFT
242 #define ENDAT_22_F1_MASK (1 << ENDAT_22_F1_SHIFT)
243 #define ENDAT_F2_SHIFT 30
244 #define ENDAT_F2_MASK (1 << ENDAT_F2_SHIFT)
246 #define ENDAT_ADDITIONAL_INFO_RX_BITS 30
248 #define ENDAT_SECTION2_MEMORY 0xBF
250 #define ENDAT_NUM_BITS_VALID_PAGE0_WORD13 6
252 #define ENDAT_NUM_BITS_VALID_PAGE1_WORD1 16
254 #define ENDAT_MRS_SHIFT_C7_C4 (4)
255 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO1 (0x4)
256 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO2 (0x5)
257 #define ENDAT_MRS_MASK_SELECT_ADDITIONAL_INFO (0xF << ENDAT_MRS_SHIFT_C7_C4)
258 #define ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO (0xF)
259 #define ENDAT_MRS_MASK_STOP_ADDITIONAL_INFO (ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO)
261 #define ENDAT_GET_POS_MULTI_TURN(pos, priv) (((pos) & (((unsigned long long) 1 << (priv)->pos_res) - 1)) >> (priv)->single_turn_res)
262 #define ENDAT_GET_POS_SINGLE_TURN(pos, priv) ((pos) & (((unsigned long long) 1 << (priv)->single_turn_res) - 1))
uint32_t block
Definition: endat_drv.h:168
uint32_t address
Definition: endat_drv.h:166
uint32_t binary
Definition: endat_drv.h:119
Definition: endat_drv.h:184
uint8_t crc
Definition: endat_drv.h:189
uint16_t tx_div
Definition: endat_drv.h:105
@ rotary
Definition: endat_drv.h:129
uint8_t crc
Definition: endat_drv.h:195
uint16_t rx_en_cnt
Definition: endat_drv.h:151
struct endat_addinfo addinfo1 addinfo2
Definition: endat_drv.h:201
int32_t multi_turn_res
Definition: endat_drv.h:136
Definition: endat_drv.h:212
uint32_t recvd3
Definition: endat_drv.h:180
uint8_t crc
Definition: endat_drv.h:208
uint16_t rx_div
Definition: endat_drv.h:104
uint32_t pos_rx_bits_21_TXPRU
Definition: endat_drv.h:140
uint32_t pos_rx_bits_22_TXPRU
Definition: endat_drv.h:143
uint16_t params
Definition: endat_drv.h:207
uint32_t frequency
Definition: endat_drv.h:170
uint16_t rx_div_attr
Definition: endat_drv.h:107
Definition: endat_drv.h:132
uint32_t pos_rx_bits_22_PRU
Definition: endat_drv.h:142
uint32_t info2
Definition: endat_drv.h:113
uint8_t f1
Definition: endat_drv.h:187
int32_t channel
Definition: endat_drv.h:150
uint32_t ascii_lsb
Definition: endat_drv.h:126
uint32_t data
Definition: endat_drv.h:167
uint32_t ascii
Definition: endat_drv.h:118
int32_t pruicss_slicex
Definition: endat_drv.h:132
uint64_t position
Definition: endat_drv.h:185
uint8_t f2
Definition: endat_drv.h:188
struct endat_pruss_xchg * pruss_xchg
Definition: endat_drv.h:152
Definition: endat_drv.h:117
Definition: endat_drv.h:103
uint32_t recvd2
Definition: endat_drv.h:178
struct endat_position position
Definition: endat_drv.h:200
Definition: endat_drv.h:174
uint8_t has_block_address
Definition: endat_drv.h:169
uint32_t cmd_set_2_2
Definition: endat_drv.h:147
int32_t single_turn_res
Definition: endat_drv.h:135
uint32_t pos_rx_bits_21_RTUPRU
Definition: endat_drv.h:138
Definition: endat_drv.h:123
uint8_t f1
Definition: endat_drv.h:214
int32_t has_safety
Definition: endat_drv.h:153
int32_t raw_data
Definition: endat_drv.h:149
uint8_t address
Definition: endat_drv.h:206
uint32_t pos_rx_bits_22_RTUPRU
Definition: endat_drv.h:141
uint8_t crc
Definition: endat_drv.h:215
uint32_t ascii_msb
Definition: endat_drv.h:124
uint16_t rx_en_cnt
Definition: endat_drv.h:106
uint64_t recvd1
Definition: endat_drv.h:176
uint32_t info1
Definition: endat_drv.h:112
int32_t type
Definition: endat_drv.h:148
uint32_t binary
Definition: endat_drv.h:125
void * pruss_cfg
Definition: endat_drv.h:154
int32_t load_share
Definition: endat_drv.h:133
@ linear
Definition: endat_drv.h:129
uint64_t value
Definition: endat_drv.h:213
uint64_t revolution
Definition: endat_drv.h:186
int32_t step
Definition: endat_drv.h:137
Definition: endat_drv.h:193
uint32_t addinfo
Definition: endat_drv.h:194
Definition: endat_drv.h:205
Definition: endat_drv.h:158
Definition: endat_drv.h:111
uint32_t pos_rx_bits_21_PRU
Definition: endat_drv.h:139
int32_t pos_res
Definition: endat_drv.h:134
Definition: endat_drv.h:199