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.
uint32_t nikon_priv::pruicss_slicex |
PRU ICSS slice number
uint32_t nikon_priv::load_share |
Load share flag
uint32_t nikon_priv::data_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Resolution of encoder
uint32_t nikon_priv::num_encoders[NUM_ED_CH_MAX] |
Number of encoders connected in bus to each PRU in load share
uint32_t nikon_priv::num_enc_access[NUM_ED_CH_MAX] |
Number of encoders to access based on provided command code
uint32_t nikon_priv::single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Single turn resolution
uint32_t nikon_priv::multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Multi turn resolution
uint32_t nikon_priv::channel[NUM_ED_CH_MAX] |
Arrray of all configured channel
struct nikon_pruicss_xchg* nikon_priv::pruicss_xchg |
Structure defining NIKON interface
uint32_t nikon_priv::has_safety |
Status for safety support
void* nikon_priv::pruicss_cfg |
PRU-ICSS cfg registers base offset
uint32_t nikon_priv::tx_cdf[NUM_ED_CH_MAX] |
Command data frame to be transmitted to encoder
uint32_t nikon_priv::tx_mdf |
Memory data frame to be transmitted to encoder
uint32_t nikon_priv::num_rx_frames |
Number of Rx frames to be receive
uint32_t nikon_priv::totalchannels |
Total number of channels configured
float_t nikon_priv::baud_rate |
Input baudrate
uint32_t nikon_priv::core_clk_freq |
Core clock frequency
uint32_t nikon_priv::uart_clk_freq |
UART clock frequency
uint32_t nikon_priv::eax[NUM_ED_CH_MAX] |
Encoder address from the user
uint32_t nikon_priv::fc |
Frame code specified by the user
uint32_t nikon_priv::sync_code |
Synchronization code
uint32_t nikon_priv::tx_crc |
Tx 3 bit crc
uint32_t nikon_priv::mem_data[NUM_MDF_CMD_MAX] |
Memory data in indexes 0,1 and memory address in index 2
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
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
uint32_t nikon_priv::temperature[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
Temperature
uint32_t nikon_priv::identification_code[NUM_ED_CH_MAX] |
Identification code of the current encoder
uint32_t nikon_priv::alm_field[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
ALM field receivedd from the encoder
struct alm_bits nikon_priv::alm_bits[NUM_ED_CH_MAX][NUM_ENCODERS_MAX] |
ALM bits receivedd from the encoder
uint32_t nikon_priv::abs_len |
Length of absolute data receivedd from encoder
uint32_t nikon_priv::is_continuous_mode |
Flag for continuous mode triggered
void* nikon_priv::pruicss_iep |
ICSS IEP base address
uint64_t nikon_priv::cmp3 |
IEP CMP3 reg used in periodic trigger mode