AM243x Motor Control SDK  09.02.00
nikon_priv Struct Reference

Detailed Description

Initialize NIKON firmware interface address and get the pointer to struct nikon_priv instance.

contains ICSS slice, load share, data lengths, channel, safety specific information and a pointer to nikon_pruicss_xchg structure.

Data Fields

uint32_t pruicss_slicex
 
uint32_t load_share
 
uint32_t data_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
uint32_t num_encoders [NUM_ED_CH_MAX]
 
uint32_t num_enc_access [NUM_ED_CH_MAX]
 
uint32_t single_turn_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
uint32_t multi_turn_len [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
uint32_t channel [NUM_ED_CH_MAX]
 
struct nikon_pruicss_xchgpruicss_xchg
 
uint32_t has_safety
 
void * pruicss_cfg
 
uint32_t tx_cdf [NUM_ED_CH_MAX]
 
uint32_t tx_mdf
 
uint32_t num_rx_frames
 
uint32_t totalchannels
 
float_t baud_rate
 
uint32_t core_clk_freq
 
uint32_t uart_clk_freq
 
uint32_t eax [NUM_ED_CH_MAX]
 
uint32_t fc
 
uint32_t sync_code
 
uint32_t tx_crc
 
uint32_t mem_data [NUM_MDF_CMD_MAX]
 
struct pos_data_info pos_data_info [NUM_ED_CH_MAX]
 
struct enc_info enc_info [NUM_ED_CH_MAX]
 
uint32_t temperature [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
uint32_t identification_code [NUM_ED_CH_MAX]
 
uint32_t alm_field [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
struct alm_bits alm_bits [NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
 
uint32_t abs_len
 
uint32_t is_continuous_mode
 
void * pruicss_iep
 
uint64_t cmp3
 

Field Documentation

◆ pruicss_slicex

uint32_t nikon_priv::pruicss_slicex

PRU ICSS slice number

◆ load_share

uint32_t nikon_priv::load_share

Load share flag

◆ data_len

uint32_t nikon_priv::data_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Resolution of encoder

◆ num_encoders

uint32_t nikon_priv::num_encoders[NUM_ED_CH_MAX]

Number of encoders connected in bus to each PRU in load share

◆ num_enc_access

uint32_t nikon_priv::num_enc_access[NUM_ED_CH_MAX]

Number of encoders to access based on provided command code

◆ single_turn_len

uint32_t nikon_priv::single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Single turn resolution

◆ multi_turn_len

uint32_t nikon_priv::multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Multi turn resolution

◆ channel

uint32_t nikon_priv::channel[NUM_ED_CH_MAX]

Arrray of all configured channel

◆ pruicss_xchg

struct nikon_pruicss_xchg* nikon_priv::pruicss_xchg

Structure defining NIKON interface

◆ has_safety

uint32_t nikon_priv::has_safety

Status for safety support

◆ pruicss_cfg

void* nikon_priv::pruicss_cfg

PRU-ICSS cfg registers base offset

◆ tx_cdf

uint32_t nikon_priv::tx_cdf[NUM_ED_CH_MAX]

Command data frame to be transmitted to encoder

◆ tx_mdf

uint32_t nikon_priv::tx_mdf

Memory data frame to be transmitted to encoder

◆ num_rx_frames

uint32_t nikon_priv::num_rx_frames

Number of Rx frames to be receive

◆ totalchannels

uint32_t nikon_priv::totalchannels

Total number of channels configured

◆ baud_rate

float_t nikon_priv::baud_rate

Input baudrate

◆ core_clk_freq

uint32_t nikon_priv::core_clk_freq

Core clock frequency

◆ uart_clk_freq

uint32_t nikon_priv::uart_clk_freq

UART clock frequency

◆ eax

uint32_t nikon_priv::eax[NUM_ED_CH_MAX]

Encoder address from the user

◆ fc

uint32_t nikon_priv::fc

Frame code specified by the user

◆ sync_code

uint32_t nikon_priv::sync_code

Synchronization code

◆ tx_crc

uint32_t nikon_priv::tx_crc

Tx 3 bit crc

◆ mem_data

uint32_t nikon_priv::mem_data[NUM_MDF_CMD_MAX]

Memory data in indexes 0,1 and memory address in index 2

◆ pos_data_info

struct pos_data_info nikon_priv::pos_data_info[NUM_ED_CH_MAX]

ABS, ALM, EEPROM or Identification code information extracted from the data receive

◆ enc_info

struct enc_info nikon_priv::enc_info[NUM_ED_CH_MAX]

Encoder's information(Encoder address, Encoder status and command given to the encoder) extracted from the data receive

◆ temperature

uint32_t nikon_priv::temperature[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

Temperature

◆ identification_code

uint32_t nikon_priv::identification_code[NUM_ED_CH_MAX]

Identification code of the current encoder

◆ alm_field

uint32_t nikon_priv::alm_field[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

ALM field receivedd from the encoder

◆ alm_bits

struct alm_bits nikon_priv::alm_bits[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]

ALM bits receivedd from the encoder

◆ abs_len

uint32_t nikon_priv::abs_len

Length of absolute data receivedd from encoder

◆ is_continuous_mode

uint32_t nikon_priv::is_continuous_mode

Flag for continuous mode triggered

◆ pruicss_iep

void* nikon_priv::pruicss_iep

ICSS IEP base address

◆ cmp3

uint64_t nikon_priv::cmp3

IEP CMP3 reg used in periodic trigger mode