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.
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[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Status for safety support
int32_t bissc_priv::sign_of_life_cnt[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
6-bit sign of life counter, it'll give number of cycles triggered since power on
int32_t bissc_priv::rcv_safety_crc[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Received 16-bit safety crc
int32_t bissc_priv::calc_safety_crc[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Calculated 16-bit safety crc
int32_t bissc_priv::is_continuous_mode |
Continuous Mode is opted
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
int8_t bissc_priv::ctrl_write_status[NUM_ED_CH_MAX] |
Control communication Read or Write status
uint32_t bissc_priv::ctrl_reg_address[NUM_ED_CH_MAX] |
Control communication register address
uint32_t bissc_priv::ctrl_reg_data[NUM_ED_CH_MAX] |
Control communication register data
uint32_t bissc_priv::ctrl_enc_id[NUM_ED_CH_MAX] |
Encoder ID for control communication
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
void* bissc_priv::pruicss_iep |
ICSS IEP base address
int64_t bissc_priv::cmp3 |
IEP CMP3 reg used in periodic trigger mode