Initialize BiSS-C firmware interface address and get the pointer to struct bissc_priv instance.
contains ICSS slice, load share, data lengths, channel, safety specific information and a pointer to bissc_pruicss_xchg structure.
Data Fields | |
int32_t | pruicss_slicex |
int32_t | load_share |
int32_t | data_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
int32_t | single_turn_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
int32_t | multi_turn_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
int32_t | channel [NUM_ED_CH_MAX] |
struct bissc_pruicss_xchg * | pruicss_xchg |
int32_t | has_safety |
void * | pruicss_cfg |
int64_t | raw_data |
struct bissc_position_info | enc_pos_data [NUM_ED_CH_MAX] |
struct bissc_control_info | enc_ctrl_data [NUM_ED_CH_MAX] |
int32_t | pd_crc_err_cnt [NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
int32_t | ctrl_crc_err_cnt [NUM_ED_CH_MAX] |
int32_t | num_encoders [NUM_ED_CH_MAX] |
int32_t | totalchannels |
uint16_t | proc_delay [NUM_ED_CH_MAX] |
uint32_t | baud_rate |
uint32_t | core_clk_freq |
uint32_t | uart_clk_freq |
int32_t bissc_priv::pruicss_slicex |
PRU ICSS slice number
int32_t bissc_priv::load_share |
Load share flag
int32_t bissc_priv::data_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Resolution of each encoder connected in daisy chain config to each channel
int32_t bissc_priv::single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Single turn resolution of each encoder connected in daisy chain config to each channel
int32_t bissc_priv::multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Multi turn resolution of each encoder connected in daisy chain config to each channel
int32_t bissc_priv::channel[NUM_ED_CH_MAX] |
Array of all configured channel
struct bissc_pruicss_xchg* bissc_priv::pruicss_xchg |
Structure defining BiSSC interface
int32_t bissc_priv::has_safety |
Status for safety support
void* bissc_priv::pruicss_cfg |
PRU-ICSS cfg registers base offset
int64_t bissc_priv::raw_data |
Raw data received from encoder
struct bissc_position_info bissc_priv::enc_pos_data[NUM_ED_CH_MAX] |
Structure containing encoders position data results for each channel
struct bissc_control_info bissc_priv::enc_ctrl_data[NUM_ED_CH_MAX] |
Structure containing encoders control communication results for each PRU
int32_t bissc_priv::pd_crc_err_cnt[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Position data crc error count for each encoder connected in daisy chain to each channel
int32_t bissc_priv::ctrl_crc_err_cnt[NUM_ED_CH_MAX] |
Control communication crc error count for each encoder connected to each PRU in load share
int32_t bissc_priv::num_encoders[NUM_ED_CH_MAX] |
Number of encoders connected in daisy chain to each PRU in load share
int32_t bissc_priv::totalchannels |
Total number of channels configured
uint16_t bissc_priv::proc_delay[NUM_ED_CH_MAX] |
Measured Processing delay of individual channel
uint32_t bissc_priv::baud_rate |
Input baudrate
uint32_t bissc_priv::core_clk_freq |
Core clock frequency
uint32_t bissc_priv::uart_clk_freq |
UART clock frequency