Go to the source code of this file.
Data Structures | |
struct | HDSL_Interface |
struct | HDSL_Config |
struct | HDSL_CopyTable |
Macros | |
#define | HDSL_MAX_CHANNELS (3U) |
#define | CHANNEL_0_ENABLED (1<<0) |
#define | CHANNEL_1_ENABLED (1<<1) |
#define | CHANNEL_2_ENABLED (1<<2) |
#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 |
HDSL Long Message Addressing Types | |
#define | HDSL_LONG_MSG_ADDR_DIRECT (0U) |
Direct addressing of long messages. More... | |
#define | HDSL_LONG_MSG_ADDR_INDIRECT (1U) |
Indirect addressing of long messages. More... | |
HDSL Long Message Addressing with/without offset | |
#define | HDSL_LONG_MSG_ADDR_WITHOUT_OFFSET (0U) |
Addressing of long messages without offset. More... | |
#define | HDSL_LONG_MSG_ADDR_WITH_OFFSET (1U) |
Addressing of long messages with offset. More... | |
HDSL Long Message Data Lengths | |
#define | HDSL_LONG_MSG_LENGTH_0 (0U) |
No data bytes. More... | |
#define | HDSL_LONG_MSG_LENGTH_2 (1U) |
2 data bytes More... | |
#define | HDSL_LONG_MSG_LENGTH_4 (2U) |
4 data bytes More... | |
#define | HDSL_LONG_MSG_LENGTH_8 (3U) |
8 data bytes More... | |
Typedefs | |
typedef struct HDSL_Config_s * | HDSL_Handle |
Functions | |
void | hdsl_enable_load_share_mode (void *pruCfg, uint32_t pruSlice) |
enable load share mode for multi-channel HDSL More... | |
HDSL_Handle | HDSL_open (PRUICSS_Handle icssgHandle, uint32_t icssCore, uint8_t pruMode) |
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) |
Trigger a short message write operation using parameters channel After the required registers are written for write operation, the firmware takes < 250 us for completing short message write operation, i.e. FRES bit will be unset for < 250 us. More... | |
int32_t | HDSL_read_pc_short_msg (HDSL_Handle hdslHandle, uint8_t addr, uint8_t *data, uint64_t timeout) |
Trigger a short message read operation using parameters channel. After the required registers are written for read operation, the firmware takes < 250 us for completing short message read operation, i.e. FRES bit will be unset for < 250 us. More... | |
int32_t | HDSL_write_pc_long_msg (HDSL_Handle hdslHandle, uint16_t addr, uint8_t offsetEnable, uint8_t addrType, uint8_t length, uint16_t offset, uint64_t timeout) |
Trigger a long message write operation using parameters channel. Call HDSL_write_pc_buffer before this to write the data to be sent using long message. After the required registers are written for write operation, the firmware takes < 3.5 ms for completing short message write operation, i.e. FREL bit will be unset for < 3.5 ms. More... | |
int32_t | HDSL_read_pc_long_msg (HDSL_Handle hdslHandle, uint16_t addr, uint8_t offsetEnable, uint8_t addrType, uint8_t length, uint16_t offset, uint64_t timeout) |
Trigger a long message read operation using parameters channel If this API returns SystemP_SUCCESS, call HDSL_read_pc_buffer after this to read the data received using long message. After the required registers are written for read operation, the firmware takes < 3.5 ms for completing short message read operation, i.e. FREL bit will be unset for < 3.5 ms. More... | |
void | HDSL_write_pc_buffer (HDSL_Handle hdslHandle, uint8_t buff_off, uint8_t data) |
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... | |
int32_t | HDSL_config_copy_table (HDSL_Handle hdslHandle, HDSL_CopyTable *copyTable) |
Configure the copy table entries for two overlayed firmware parts for channel 2. More... | |
int32_t | HDSL_config_channel_mask (HDSL_Handle hdslHandle, uint8_t channelMask) |
Configure the channel mask. More... | |