AM243x Motor Control SDK  09.02.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 [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
int32_t sign_of_life_cnt [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
int32_t rcv_safety_crc [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
int32_t calc_safety_crc [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
int32_t is_continuous_mode
 
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]
 
int8_t ctrl_write_status [NUM_ED_CH_MAX]
 
uint32_t ctrl_reg_address [NUM_ED_CH_MAX]
 
uint32_t ctrl_reg_data [NUM_ED_CH_MAX]
 
uint32_t ctrl_enc_id [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
 
void * pruicss_iep
 
int64_t cmp3
 

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[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Status for safety support

◆ sign_of_life_cnt

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

◆ rcv_safety_crc

int32_t bissc_priv::rcv_safety_crc[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Received 16-bit safety crc

◆ calc_safety_crc

int32_t bissc_priv::calc_safety_crc[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Calculated 16-bit safety crc

◆ is_continuous_mode

int32_t bissc_priv::is_continuous_mode

Continuous Mode is opted

◆ 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

◆ ctrl_write_status

int8_t bissc_priv::ctrl_write_status[NUM_ED_CH_MAX]

Control communication Read or Write status

◆ ctrl_reg_address

uint32_t bissc_priv::ctrl_reg_address[NUM_ED_CH_MAX]

Control communication register address

◆ ctrl_reg_data

uint32_t bissc_priv::ctrl_reg_data[NUM_ED_CH_MAX]

Control communication register data

◆ ctrl_enc_id

uint32_t bissc_priv::ctrl_enc_id[NUM_ED_CH_MAX]

Encoder ID for control communication

◆ 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

◆ pruicss_iep

void* bissc_priv::pruicss_iep

ICSS IEP base address

◆ cmp3

int64_t bissc_priv::cmp3

IEP CMP3 reg used in periodic trigger mode