AM64x MCU+ SDK  08.06.00
hdsl_drv.h File Reference

Go to the source code of this file.

Data Structures

struct  HDSL_Interface
 
struct  HDSL_Config
 

Macros

#define MAX_WAIT   20000
 
#define HDSL_ICSSG0_INST   0U
 
#define HDSL_ICSSG1_INST   1U
 
#define HWREG(x)    (*((volatile uint32_t *)(x)))
 
#define HWREGB(x)    (*((volatile uint8_t *)(x)))
 
#define HWREGH(x)    (*((volatile uint16_t *)(x)))
 
#define SYNCEVENT_INTRTR_IN_27   27
 
#define SYNCEVT_RTR_SYNC28_EVT   0x64
 
#define SYNCEVT_RTR_SYNC29_EVT   0x68
 
#define SYNCEVT_RTR_SYNC30_EVT   0x6C
 
#define SYNCEVT_RTR_SYNC31_EVT   0x70
 
#define SYNCEVT_RTR_SYNC10_EVT   0x2C
 

Typedefs

typedef struct HDSL_Config_s * HDSL_Handle
 

Enumerations

enum  {
  linear, rotary, MENU_SAFE_POSITION, MENU_QUALITY_MONITORING,
  MENU_EVENTS, MENU_SUMMARY, MENU_ACC_ERR_CNT, MENU_RSSI,
  MENU_PC_SHORT_MSG_WRITE, MENU_PC_SHORT_MSG_READ, MENU_PC_LONG_MSG_WRITE, MENU_HDSL_REG_INTO_DDR,
  MENU_HDSL_REG_INTO_DDR_GPIO, MENU_DIRECT_READ_RID0_LENGTH8, MENU_DIRECT_READ_RID81_LENGTH8, MENU_DIRECT_READ_RID81_LENGTH2,
  MENU_INDIRECT_WRITE_RID0_LENGTH8_OFFSET0, MENU_INDIRECT_WRITE_RID0_LENGTH8, MENU_DIRECT_READ_RID0_LENGTH8_OFFSET6, MENU_LIMIT,
  MENU_INVALID
}
 

Functions

void hdsl_enable_load_share_mode (void *gPru_cfg, uint32_t PRU_SLICE)
 enable load share mode for multi-channel HDSL More...
 
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) More...
 
void HDSL_iep_init (HDSL_Handle hdslHandle)
 Initialize IEP and Use OCP as IEP CLK src. More...
 
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 configuration
More...
 
uint64_t HDSL_get_pos (HDSL_Handle hdslHandle, int position_id)
 Calculate fast position,safe position1,safe position2. More...
 
uint8_t HDSL_get_qm (HDSL_Handle hdslHandle)
 Getting quality monitoring value. More...
 
uint16_t HDSL_get_events (HDSL_Handle hdslHandle)
 Taking values of High bytes event (EVENT_H) and Low bytes event(EVENT_L) More...
 
uint8_t HDSL_get_safe_events (HDSL_Handle hdslHandle)
 Taking values of Safe Event (EVENT_S) register. More...
 
uint16_t HDSL_get_online_status_d (HDSL_Handle hdslHandle)
 Taking values of Online Status D (ONLINE_STATUS_D) register. More...
 
uint16_t HDSL_get_online_status_1 (HDSL_Handle hdslHandle)
 Taking values of Online Status D (ONLINE_STATUS_D) register. More...
 
uint16_t HDSL_get_online_status_2 (HDSL_Handle hdslHandle)
 Taking values of Online Status D (ONLINE_STATUS_D) register. More...
 
uint8_t HDSL_get_sum (HDSL_Handle hdslHandle)
 Getting Summarized slave status. More...
 
uint8_t HDSL_get_acc_err_cnt (HDSL_Handle hdslHandle)
 Acceleration error counter. More...
 
uint8_t HDSL_get_rssi (HDSL_Handle hdslHandle)
 Read RSSI value. More...
 
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 and Short message control value(SLAVE_REG_CTRL) in hdsl interface. More...
 
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 message control value(SLAVE_REG_CTRL) with gPc_addr in hdsl interface. More...
 
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. More...
 
void HDSL_set_pc_ctrl (HDSL_Handle hdslHandle, uint8_t value)
 To set the direction read/write for long message communication. More...
 
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) More...
 
uint8_t HDSL_read_pc_buffer (HDSL_Handle hdslHandle, uint8_t buff_off)
 Returns Parameters channel buffer for different bytes(bytes 0-7) More...
 
uint8_t HDSL_get_sync_ctrl (HDSL_Handle hdslHandle)
 Returns Synchronization control value. More...
 
void HDSL_set_sync_ctrl (HDSL_Handle hdslHandle, uint8_t val)
 Writes Synchronization control value. More...
 
uint8_t HDSL_get_master_qm (HDSL_Handle hdslHandle)
 Returns Quality monitoring value. More...
 
uint8_t HDSL_get_edges (HDSL_Handle hdslHandle)
 Returns Cable bit sampling time control. More...
 
uint8_t HDSL_get_delay (HDSL_Handle hdslHandle)
 Returns Run time delay of system cable and signal strength. More...
 
uint8_t HDSL_get_enc_id (HDSL_Handle hdslHandle, int byte)
 Read encoder id bytes(byte no. 0-2) More...
 
void HDSL_generate_memory_image (HDSL_Handle hdslHandle)
 Generates memory image. More...
 
void * HDSL_get_src_loc (HDSL_Handle hdslHandle)
 Get memory location for HDSL interface struct. More...
 
uint32_t HDSL_get_length (HDSL_Handle hdslHandle)
 Get size of memory used by HDSL interface struct. More...