![Logo](ti_logo.svg) |
AM243x Motor Control SDK
09.01.00
|
|
Go to the documentation of this file.
44 #include <drivers/pruicss.h>
45 #include <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)
50 (*((volatile uint32_t *)(x)))
52 (*((volatile uint8_t *)(x)))
54 (*((volatile uint16_t *)(x)))
58 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE0 0xA1
60 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE1 0xA3
62 #define MRS_CODE_PARAM_ENCODER_MANUFACTURER_PAGE2 0xA5
65 #define ENDAT_TX_30BITS (30 + 1)
67 #define ENDAT_TX_6BITS (6 + 1)
68 #define ENDAT_RX_29BITS 29
70 #define ENDAT_RX_46BITS 46
72 #define APP_ENDAT_WORD_0 0
73 #define APP_ENDAT_WORD_1 1
74 #define APP_ENDAT_WORD_2 2
75 #define APP_ENDAT_WORD_3 3
76 #define APP_ENDAT_WORD_4 4
77 #define APP_ENDAT_WORD_5 5
78 #define APP_ENDAT_WORD_6 6
79 #define APP_ENDAT_WORD_7 7
80 #define APP_ENDAT_WORD_8 8
81 #define APP_ENDAT_WORD_9 9
82 #define APP_ENDAT_WORD_10 10
83 #define APP_ENDAT_WORD_11 11
84 #define APP_ENDAT_WORD_12 12
85 #define APP_ENDAT_WORD_13 13
86 #define APP_ENDAT_WORD_14 14
87 #define APP_ENDAT_WORD_15 15
88 #define APP_ENDAT_WORD_16 16
89 #define APP_ENDAT_WORD_17 17
90 #define APP_ENDAT_WORD_18 18
91 #define APP_ENDAT_WORD_19 19
93 #define ENDAT_NUM_BITS_POSITION_CRC 5
94 #define ENDAT_NUM_BITS_F1 1
95 #define ENDAT_NUM_BITS_F2 1
96 #define ENDAT_NUM_BITS_PARAMETER 16
97 #define ENDAT_NUM_BITS_ADDRESS 8
233 #define VALID_2_1_CMD(x) (((x) == 1) || ((x) == 2) || ((x) == 3) || ((x) == 4) || ((x) == 5) || ((x) == 6) || ((x) == 7) )
234 #define VALID_2_2_CMD(x) (((x) == 8) || ((x) == 9) || ((x) == 10) || ((x) == 11) || ((x) == 12) || ((x) == 13) || ((x) == 14))
236 #define ENDAT_NUM_ADDITIONAL_INFO_DUMMY_BIT 1
237 #define ENDAT_NUM_BYTES_ADDITIONAL_INFO 3
239 #define ENDAT_STATUS_WARN_SHIFT 7
240 #define ENDAT_STATUS_RM_SHIFT 6
241 #define ENDAT_STATUS_BUSY_SHIFT 5
242 #define ENDAT_STATUS_WARN_MASK (1 << ENDAT_STATUS_WARN_SHIFT)
243 #define ENDAT_STATUS_RM_MASK (1 << ENDAT_STATUS_RM_SHIFT)
244 #define ENDAT_STATUS_BUSY_MASK (1 << ENDAT_STATUS_BUSY_SHIFT)
245 #define ENDAT_INFORMATION_MASK 0x1f
247 #define ENDAT_21_F1_SHIFT 31
248 #define ENDAT_21_F1_MASK (1 << ENDAT_21_F1_SHIFT)
249 #define ENDAT_22_F1_SHIFT ENDAT_21_F1_SHIFT
250 #define ENDAT_22_F1_MASK (1 << ENDAT_22_F1_SHIFT)
251 #define ENDAT_F2_SHIFT 30
252 #define ENDAT_F2_MASK (1 << ENDAT_F2_SHIFT)
254 #define ENDAT_ADDITIONAL_INFO_RX_BITS 30
256 #define ENDAT_SECTION2_MEMORY 0xBF
258 #define ENDAT_NUM_BITS_VALID_PAGE0_WORD13 6
260 #define ENDAT_NUM_BITS_VALID_PAGE1_WORD1 16
262 #define ENDAT_MRS_SHIFT_C7_C4 (4)
263 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO1 (0x4)
264 #define ENDAT_MRS_VAL_C7_C4_SELECT_ADDITIONAL_INFO2 (0x5)
265 #define ENDAT_MRS_MASK_SELECT_ADDITIONAL_INFO (0xF << ENDAT_MRS_SHIFT_C7_C4)
266 #define ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO (0xF)
267 #define ENDAT_MRS_MASK_STOP_ADDITIONAL_INFO (ENDAT_MRS_VAL_STOP_ADDITIONAL_INFO)
269 #define ENDAT_GET_POS_MULTI_TURN(pos, priv) (((pos) & (((unsigned long long) 1 << (priv)->pos_res) - 1)) >> (priv)->single_turn_res)
270 #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:173
uint32_t address
Definition: endat_drv.h:171
uint32_t binary
Definition: endat_drv.h:118
Definition: endat_drv.h:192
uint8_t crc
Definition: endat_drv.h:197
uint16_t tx_div
Definition: endat_drv.h:104
@ rotary
Definition: endat_drv.h:128
uint8_t crc
Definition: endat_drv.h:203
uint16_t rx_en_cnt
Definition: endat_drv.h:150
struct endat_addinfo addinfo1 addinfo2
Definition: endat_drv.h:209
int32_t multi_turn_res
Definition: endat_drv.h:135
Definition: endat_drv.h:220
uint32_t recvd3
Definition: endat_drv.h:188
uint8_t crc
Definition: endat_drv.h:216
uint16_t rx_div
Definition: endat_drv.h:103
uint32_t pos_rx_bits_21_TXPRU
Definition: endat_drv.h:139
uint32_t pos_rx_bits_22_TXPRU
Definition: endat_drv.h:142
uint16_t params
Definition: endat_drv.h:215
uint32_t frequency
Definition: endat_drv.h:175
void * pruss_iep
Definition: endat_drv.h:155
uint16_t rx_div_attr
Definition: endat_drv.h:106
Definition: endat_drv.h:131
uint64_t cmp5
Definition: endat_drv.h:177
uint32_t pos_rx_bits_22_PRU
Definition: endat_drv.h:141
uint32_t info2
Definition: endat_drv.h:112
uint8_t f1
Definition: endat_drv.h:195
uint64_t cmp3
Definition: endat_drv.h:156
int32_t channel
Definition: endat_drv.h:149
uint32_t ascii_lsb
Definition: endat_drv.h:125
uint32_t data
Definition: endat_drv.h:172
uint32_t ascii
Definition: endat_drv.h:117
int32_t pruicss_slicex
Definition: endat_drv.h:131
uint64_t position
Definition: endat_drv.h:193
uint8_t f2
Definition: endat_drv.h:196
struct endat_pruss_xchg * pruss_xchg
Definition: endat_drv.h:151
Definition: endat_drv.h:116
Definition: endat_drv.h:102
uint32_t recvd2
Definition: endat_drv.h:186
struct endat_position position
Definition: endat_drv.h:208
Definition: endat_drv.h:182
uint8_t has_block_address
Definition: endat_drv.h:174
uint32_t cmd_set_2_2
Definition: endat_drv.h:146
int32_t single_turn_res
Definition: endat_drv.h:134
uint32_t pos_rx_bits_21_RTUPRU
Definition: endat_drv.h:137
Definition: endat_drv.h:122
uint8_t f1
Definition: endat_drv.h:222
uint64_t cmp6
Definition: endat_drv.h:178
uint64_t cmp3
Definition: endat_drv.h:176
int32_t has_safety
Definition: endat_drv.h:153
int32_t raw_data
Definition: endat_drv.h:148
uint8_t address
Definition: endat_drv.h:214
uint32_t pos_rx_bits_22_RTUPRU
Definition: endat_drv.h:140
uint8_t crc
Definition: endat_drv.h:223
uint32_t ascii_msb
Definition: endat_drv.h:123
uint16_t rx_en_cnt
Definition: endat_drv.h:105
uint64_t recvd1
Definition: endat_drv.h:184
uint32_t info1
Definition: endat_drv.h:111
int32_t type
Definition: endat_drv.h:147
uint32_t binary
Definition: endat_drv.h:124
struct endatChRxInfo * endatChRxInfo
Definition: endat_drv.h:152
void * pruss_cfg
Definition: endat_drv.h:154
int32_t load_share
Definition: endat_drv.h:132
@ linear
Definition: endat_drv.h:128
uint64_t value
Definition: endat_drv.h:221
uint64_t revolution
Definition: endat_drv.h:194
int32_t step
Definition: endat_drv.h:136
Definition: endat_drv.h:201
uint64_t cmp6
Definition: endat_drv.h:158
uint32_t addinfo
Definition: endat_drv.h:202
Definition: endat_drv.h:213
Definition: endat_drv.h:163
Definition: endat_drv.h:110
uint32_t pos_rx_bits_21_PRU
Definition: endat_drv.h:138
uint64_t cmp5
Definition: endat_drv.h:157
int32_t pos_res
Definition: endat_drv.h:133
Definition: endat_drv.h:207