AM243x Motor Control SDK  09.01.00
bissc_priv Struct Reference

Detailed Description

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_xchgpruicss_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
 

Field Documentation

◆ pruicss_slicex

int32_t bissc_priv::pruicss_slicex

PRU ICSS slice number

◆ load_share

int32_t bissc_priv::load_share

Load share flag

◆ data_len

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

◆ single_turn_len

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

◆ multi_turn_len

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

◆ channel

int32_t bissc_priv::channel[NUM_ED_CH_MAX]

Array of all configured channel

◆ pruicss_xchg

struct bissc_pruicss_xchg* bissc_priv::pruicss_xchg

Structure defining BiSSC interface

◆ has_safety

int32_t bissc_priv::has_safety

Status for safety support

◆ pruicss_cfg

void* bissc_priv::pruicss_cfg

PRU-ICSS cfg registers base offset

◆ raw_data

int64_t bissc_priv::raw_data

Raw data received from encoder

◆ enc_pos_data

struct bissc_position_info bissc_priv::enc_pos_data[NUM_ED_CH_MAX]

Structure containing encoders position data results for each channel

◆ enc_ctrl_data

struct bissc_control_info bissc_priv::enc_ctrl_data[NUM_ED_CH_MAX]

Structure containing encoders control communication results for each PRU

◆ pd_crc_err_cnt

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

◆ ctrl_crc_err_cnt

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

◆ num_encoders

int32_t bissc_priv::num_encoders[NUM_ED_CH_MAX]

Number of encoders connected in daisy chain to each PRU in load share

◆ totalchannels

int32_t bissc_priv::totalchannels

Total number of channels configured

◆ proc_delay

uint16_t bissc_priv::proc_delay[NUM_ED_CH_MAX]

Measured Processing delay of individual channel

◆ baud_rate

uint32_t bissc_priv::baud_rate

Input baudrate

◆ core_clk_freq

uint32_t bissc_priv::core_clk_freq

Core clock frequency

◆ uart_clk_freq

uint32_t bissc_priv::uart_clk_freq

UART clock frequency