![Logo](ti_logo.svg) |
AM243x Motor Control SDK
09.00.00
|
|
Go to the documentation of this file.
52 #include <kernel/dpl/DebugP.h>
54 #include <drivers/pruicss.h>
55 #include <drivers/hw_include/cslr_soc.h>
56 #include <drivers/hw_include/hw_types.h>
66 #define MAX_WAIT 20000
68 #define HDSL_ICSSG0_INST 0U
69 #define HDSL_ICSSG1_INST 1U
72 (*((volatile uint32_t *)(x)))
74 (*((volatile uint8_t *)(x)))
76 (*((volatile uint16_t *)(x)))
81 #define SYNCEVENT_INTRTR_IN_27 27
85 #define SYNCEVT_RTR_SYNC28_EVT 0x64
87 #define SYNCEVT_RTR_SYNC29_EVT 0x68
89 #define SYNCEVT_RTR_SYNC30_EVT 0x6C
91 #define SYNCEVT_RTR_SYNC31_EVT 0x70
93 #define SYNCEVT_RTR_SYNC10_EVT 0x2C
95 #define ONLINE_STATUS_1_L_FRES (1<<0)
224 typedef struct HDSL_Config_s {
449 void HDSL_write_pc_buffer(
HDSL_Handle hdslHandle, uint8_t pc_buf0, uint8_t pc_buf1, uint8_t pc_buf2, uint8_t pc_buf3, uint8_t pc_buf4, uint8_t pc_buf5, uint8_t pc_buf6, uint8_t pc_buf7);
Definition: hdsl_drv.h:224
volatile uint8_t POSTX
Definition: hdsl_drv.h:207
volatile uint8_t resvd3
Definition: hdsl_drv.h:176
@ MENU_SAFE_POSITION
Definition: hdsl_drv.h:98
void HDSL_iep_init(HDSL_Handle hdslHandle)
Initialize IEP and Use OCP as IEP CLK src.
volatile uint8_t VPOSCRC2_L
Definition: hdsl_drv.h:206
volatile uint8_t PC_OFF_H
Definition: hdsl_drv.h:170
volatile uint8_t VERSION
Definition: hdsl_drv.h:139
volatile uint8_t resvd2
Definition: hdsl_drv.h:152
volatile uint8_t ONLINE_STATUS_D_H
Definition: hdsl_drv.h:210
volatile uint8_t VPOS20
Definition: hdsl_drv.h:204
volatile uint8_t VPOS23
Definition: hdsl_drv.h:201
uint32_t * baseMemAddr
Definition: hdsl_drv.h:231
@ MENU_DIRECT_READ_RID81_LENGTH8
Definition: hdsl_drv.h:107
void hdsl_enable_load_share_mode(void *gPru_cfg, uint32_t PRU_SLICE)
enable load share mode for multi-channel HDSL
volatile uint8_t SAFE_CTRL
Definition: hdsl_drv.h:181
int HDSL_enable_sync_signal(uint8_t ES, uint32_t period)
Enable IEP *Enable SYNC0 and program pulse width Enable cyclic mod Program CMP1 TSR configura...
volatile uint8_t EVENT_L
Definition: hdsl_drv.h:133
volatile uint8_t resvd14
Definition: hdsl_drv.h:208
volatile uint8_t resvd11
Definition: hdsl_drv.h:188
uint32_t icssCore
Definition: hdsl_drv.h:227
volatile uint8_t resvd1
Definition: hdsl_drv.h:140
volatile uint8_t EDGES
Definition: hdsl_drv.h:137
volatile uint8_t PC_BUFFER5
Definition: hdsl_drv.h:165
uint8_t HDSL_get_sync_ctrl(HDSL_Handle hdslHandle)
Returns Synchronization control value.
uint64_t mask
Definition: hdsl_drv.h:239
volatile uint8_t PC_ADD_H
Definition: hdsl_drv.h:168
@ MENU_PC_SHORT_MSG_WRITE
Definition: hdsl_drv.h:104
volatile uint8_t ONLINE_STATUS_1_H
Definition: hdsl_drv.h:212
volatile uint8_t VPOS0
Definition: hdsl_drv.h:157
volatile uint8_t resvd10
Definition: hdsl_drv.h:187
Definition: hdsl_drv.h:127
volatile uint8_t VPOSCRC_H
Definition: hdsl_drv.h:158
volatile uint8_t VPOS3
Definition: hdsl_drv.h:154
volatile uint8_t resvd0
Definition: hdsl_drv.h:130
void HDSL_set_pc_addr(HDSL_Handle hdslHandle, uint8_t pc_addrh, uint8_t pc_addrl, uint8_t pc_offh, uint8_t pc_offl)
Write PC_AAD_L ,PC_ADD_H ,PC_OFF_L,PC_OFF_H and PC_CTRL values in hdsl interface.
uint32_t res
Definition: hdsl_drv.h:237
uint8_t HDSL_get_acc_err_cnt(HDSL_Handle hdslHandle)
Acceleration error counter.
volatile uint8_t resvd6
Definition: hdsl_drv.h:179
void HDSL_set_sync_ctrl(HDSL_Handle hdslHandle, uint8_t val)
Writes Synchronization control value.
volatile uint8_t ENC_ID2
Definition: hdsl_drv.h:141
uint8_t HDSL_get_sum(HDSL_Handle hdslHandle)
Getting Summarized slave status.
volatile uint8_t ONLINE_STATUS_2_H
Definition: hdsl_drv.h:214
volatile uint8_t POS0
Definition: hdsl_drv.h:148
volatile uint8_t PC_DATA
Definition: hdsl_drv.h:175
volatile uint8_t S_PC_DATA
Definition: hdsl_drv.h:183
volatile uint8_t MASTER_QM
Definition: hdsl_drv.h:131
volatile uint8_t SAFE_SUM
Definition: hdsl_drv.h:182
volatile uint8_t EVENT_H
Definition: hdsl_drv.h:132
void * HDSL_get_src_loc(HDSL_Handle hdslHandle)
Get memory location for HDSL interface struct.
@ MENU_DIRECT_READ_RID0_LENGTH8
Definition: hdsl_drv.h:106
void HDSL_set_pc_ctrl(HDSL_Handle hdslHandle, uint8_t value)
To set the direction read/write for long message communication.
volatile uint8_t ONLINE_STATUS_1_L
Definition: hdsl_drv.h:213
@ MENU_HDSL_REG_INTO_MEMORY
Definition: hdsl_drv.h:111
volatile uint8_t resvd5
Definition: hdsl_drv.h:178
volatile uint8_t PIPE_S
Definition: hdsl_drv.h:173
@ MENU_EVENTS
Definition: hdsl_drv.h:100
volatile uint8_t resvd4
Definition: hdsl_drv.h:177
volatile uint8_t ACC_ERR_CNT
Definition: hdsl_drv.h:184
uint8_t HDSL_get_edges(HDSL_Handle hdslHandle)
Returns Cable bit sampling time control.
volatile uint8_t PC_OFF_L
Definition: hdsl_drv.h:171
uint32_t multi_turn
Definition: hdsl_drv.h:235
volatile uint8_t VPOS1
Definition: hdsl_drv.h:156
volatile uint8_t SLAVE_REG_CTRL
Definition: hdsl_drv.h:192
@ MENU_INVALID
Definition: hdsl_drv.h:113
uint64_t HDSL_get_pos(HDSL_Handle hdslHandle, int position_id)
Calculate fast position,safe position1,safe position2.
volatile uint8_t PC_BUFFER2
Definition: hdsl_drv.h:162
volatile uint8_t VPOS24
Definition: hdsl_drv.h:200
volatile uint8_t VPOSCRC_L
Definition: hdsl_drv.h:159
volatile uint8_t MASK_H
Definition: hdsl_drv.h:134
volatile uint8_t MASK_S
Definition: hdsl_drv.h:190
volatile uint8_t resvd7
Definition: hdsl_drv.h:180
uint8_t HDSL_get_enc_id(HDSL_Handle hdslHandle, int byte)
Read encoder id bytes(byte no. 0-2)
volatile uint8_t PC_BUFFER1
Definition: hdsl_drv.h:161
@ MENU_INDIRECT_WRITE_RID0_LENGTH8
Definition: hdsl_drv.h:110
volatile uint8_t PC_BUFFER6
Definition: hdsl_drv.h:166
volatile uint8_t PC_BUFFER0
Definition: hdsl_drv.h:160
uint8_t HDSL_get_rssi(HDSL_Handle hdslHandle)
Read RSSI value.
volatile uint8_t resvd13
Definition: hdsl_drv.h:195
volatile uint8_t ENC_ID0
Definition: hdsl_drv.h:143
volatile uint8_t PIPE_D
Definition: hdsl_drv.h:174
volatile uint8_t ONLINE_STATUS_D_L
Definition: hdsl_drv.h:211
struct HDSL_Config_s * HDSL_Handle
Definition: hdsl_drv.h:116
@ MENU_INDIRECT_WRITE_RID0_LENGTH8_OFFSET0
Definition: hdsl_drv.h:109
volatile uint8_t resvd9
Definition: hdsl_drv.h:186
uint8_t HDSL_get_qm(HDSL_Handle hdslHandle)
Getting quality monitoring value.
volatile uint8_t VERSION2
Definition: hdsl_drv.h:197
uint32_t HDSL_get_length(HDSL_Handle hdslHandle)
Get size of memory used by HDSL interface struct.
volatile uint8_t MASK_SUM
Definition: hdsl_drv.h:136
PRUICSS_Handle icssgHandle
Definition: hdsl_drv.h:225
uint16_t HDSL_get_online_status_d(HDSL_Handle hdslHandle)
Taking values of Online Status D (ONLINE_STATUS_D) register.
volatile uint8_t EVENT_S
Definition: hdsl_drv.h:189
volatile uint8_t DELAY
Definition: hdsl_drv.h:138
volatile uint8_t ENC_ID1
Definition: hdsl_drv.h:142
volatile uint8_t VPOS2
Definition: hdsl_drv.h:155
volatile uint8_t PC_ADD_L
Definition: hdsl_drv.h:169
volatile uint8_t ACC_ERR_CNT_THRESH
Definition: hdsl_drv.h:193
uint16_t HDSL_get_online_status_1(HDSL_Handle hdslHandle)
Taking values of Online Status D (ONLINE_STATUS_D) register.
volatile uint8_t POS3
Definition: hdsl_drv.h:145
volatile uint8_t PC_BUFFER4
Definition: hdsl_drv.h:164
volatile uint8_t resvd8
Definition: hdsl_drv.h:185
uint8_t HDSL_read_pc_buffer(HDSL_Handle hdslHandle, uint8_t buff_off)
Returns Parameters channel buffer for different bytes(bytes 0-7)
uint8_t HDSL_get_safe_events(HDSL_Handle hdslHandle)
Taking values of Safe Event (EVENT_S) register.
uint16_t HDSL_get_online_status_2(HDSL_Handle hdslHandle)
Taking values of Online Status D (ONLINE_STATUS_D) register.
volatile uint8_t VPOS4
Definition: hdsl_drv.h:153
volatile uint8_t VEL1
Definition: hdsl_drv.h:150
volatile uint8_t resvd12
Definition: hdsl_drv.h:194
volatile uint8_t ONLINE_STATUS_2_L
Definition: hdsl_drv.h:215
int32_t HDSL_read_pc_short_msg(HDSL_Handle hdslHandle, uint8_t addr, uint8_t *data, uint64_t timeout)
Read Response of Short message parameters channel Read for safe1 channel(S_PC_DATA) and write Short m...
@ MENU_SUMMARY
Definition: hdsl_drv.h:101
uint8_t HDSL_get_delay(HDSL_Handle hdslHandle)
Returns Run time delay of system cable and signal strength.
HDSL_Interface * hdslInterface
Definition: hdsl_drv.h:233
@ MENU_LIMIT
Definition: hdsl_drv.h:112
@ MENU_DIRECT_READ_RID81_LENGTH2
Definition: hdsl_drv.h:108
volatile uint8_t SYS_CTRL
Definition: hdsl_drv.h:128
volatile uint8_t POS2
Definition: hdsl_drv.h:146
@ MENU_RSSI
Definition: hdsl_drv.h:103
HDSL_Handle HDSL_open(PRUICSS_Handle icssgHandle, uint32_t icssCore, uint8_t PRU_mode)
Open HDSL handle for the specified core (interrupt mapping should already be completed)
volatile uint8_t PC_CTRL
Definition: hdsl_drv.h:172
volatile uint8_t POS4
Definition: hdsl_drv.h:144
volatile uint8_t PC_BUFFER7
Definition: hdsl_drv.h:167
volatile uint8_t POS1
Definition: hdsl_drv.h:147
void HDSL_write_pc_buffer(HDSL_Handle hdslHandle, uint8_t pc_buf0, uint8_t pc_buf1, uint8_t pc_buf2, uint8_t pc_buf3, uint8_t pc_buf4, uint8_t pc_buf5, uint8_t pc_buf6, uint8_t pc_buf7)
Write Parameters channel buffer for different bytes(bytes 0-7)
volatile uint8_t VPOS21
Definition: hdsl_drv.h:203
void HDSL_generate_memory_image(HDSL_Handle hdslHandle)
Generates memory image.
volatile uint8_t SYNC_CTRL
Definition: hdsl_drv.h:129
volatile uint8_t ENC2_ID
Definition: hdsl_drv.h:198
uint16_t HDSL_get_events(HDSL_Handle hdslHandle)
Taking values of High bytes event (EVENT_H) and Low bytes event(EVENT_L)
@ MENU_QUALITY_MONITORING
Definition: hdsl_drv.h:99
volatile uint8_t PC_BUFFER3
Definition: hdsl_drv.h:163
@ MENU_ACC_ERR_CNT
Definition: hdsl_drv.h:102
volatile uint8_t VEL0
Definition: hdsl_drv.h:151
volatile uint8_t MASK_L
Definition: hdsl_drv.h:135
@ MENU_PC_SHORT_MSG_READ
Definition: hdsl_drv.h:105
volatile uint8_t DUMMY
Definition: hdsl_drv.h:191
volatile uint8_t VPOSCRC2_H
Definition: hdsl_drv.h:205
int32_t HDSL_write_pc_short_msg(HDSL_Handle hdslHandle, uint8_t addr, uint8_t data, uint64_t timeout)
Write Response of Short message parameters channel Read for safe1 channel(S_PC_DATA) with gPc_data an...
volatile uint8_t STATUS2
Definition: hdsl_drv.h:199
volatile uint8_t VPOS22
Definition: hdsl_drv.h:202
uint8_t HDSL_get_master_qm(HDSL_Handle hdslHandle)
Returns Quality monitoring value.
volatile uint8_t VEL2
Definition: hdsl_drv.h:149