 |
AM261x Motor Control SDK
10.02.00
|
|
uint32_t uart_clk_freq
Definition: nikon_drv.h:420
void nikon_update_eeprom_addr(struct nikon_priv *priv, uint8_t addr, uint32_t ls_ch)
Access encoder's EEPROM location specified by the user.
uint64_t nikon_reverse_bits(uint64_t bits, uint32_t num_bits)
Reverse the bits (LSB to be sent out first) provided as parameters.
void nikon_config_clock(struct nikon_priv *priv, struct nikon_clk_cfg *clk_cfg)
Configure Nikon clock.
uint32_t tx_rx_clock_source
Definition: nikon_drv.h:422
int32_t nikon_get_pos(struct nikon_priv *priv, uint32_t cmd)
Get single cycle Nikon position data.
void nikon_update_enc_addr(struct nikon_priv *priv, uint32_t enc_addr, uint32_t ls_ch)
Update encoder address as specified by the user. Default initial address is 0.
uint32_t nikon_get_totalchannels(struct nikon_priv *priv)
Retrives total number of channels configured.
uint8_t protocol_version
Definition: nikon_drv.h:462
void nikon_config_host_trigger(struct nikon_priv *priv)
Configure host trigger operation mode.
uint32_t core_clk_freq
Definition: nikon_drv.h:418
uint32_t nikon_calc_3bitcrc(struct nikon_priv *priv, uint32_t cmd)
Calculate 3 bit otf crc and generate tx command.
void nikon_update_clock_freq(struct nikon_priv *priv, float_t frequency)
Update the operating baud rate as user specified baud rate through UART menu.
int32_t nikon_wait_for_encoder_detection(struct nikon_priv *priv)
Detect whether the connected encoder is of selected frequency.
int32_t nikon_command_wait(struct nikon_priv *priv)
Wait till PRU finishes Nikon transaction.
Initialize NIKON firmware interface address and get the pointer to struct nikon_priv instance.
Definition: nikon_drv.h:387
void nikon_update_enc_len(struct nikon_priv *priv, uint32_t num_encoders, uint32_t single_turn_len[], uint32_t multi_turn_len[], uint32_t ch)
Update number of encoders connected in bus or one-to-one and update data lengths of those encoders.
uint32_t single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:398
int32_t nikon_calc_clock(struct nikon_priv *priv, struct nikon_clk_cfg *clk_cfg)
Calculate Rx and Tx divisors for given frequency.
Structure defining 3-ch peripheral interface clock configuration for selected frequency.
Definition: nikon_drv.h:249
uint32_t multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: nikon_drv.h:400
void nikon_config_clr_cfg0(struct nikon_priv *priv)
Clear the channel specific frame size cfg registers.
void nikon_config_load_share(struct nikon_priv *priv, uint8_t mask)
Configure Load Share mode for Nikon receiver.
void nikon_update_velocity_coefficient(struct nikon_priv *priv, uint32_t data, uint32_t ls_ch)
Assign the specified 19 bits as velocity coefficient of encoder.
uint32_t num_encoders[NUM_ED_CH_MAX]
Definition: nikon_drv.h:394
uint32_t nikon_get_current_channel(struct nikon_priv *priv, uint32_t ch_idx)
Retrives the current channel in use.
struct nikon_priv * nikon_init(PRUICSS_Handle gPruIcssXHandle, uint32_t slice, float_t frequency, uint32_t core_clk_freq, uint32_t uart_clk_freq, uint32_t tx_rx_clock_source, uint32_t mask, uint32_t totalch, uint32_t protocol_version)
Initialize Nikon firmware interface address and get the pointer to struct nikon_priv instance.
void nikon_update_id_code(struct nikon_priv *priv, uint32_t data, uint32_t ls_ch)
Assign the specified 24bits as Identification code of encoder.
void nikon_update_eeprom_bank(struct nikon_priv *priv, uint8_t bank, uint32_t ls_ch)
Configure bank for memory operations in Nikon 3.0.
void nikon_config_periodic_trigger(struct nikon_priv *priv)
Configure periodic trigger operation mode.
void nikon_generate_cdf(struct nikon_priv *priv, uint32_t cmd)
Generate CDF command to be sent to encoder. Update encoder ID appropriately with nikon_update_enc_add...
void nikon_update_eeprom_data(struct nikon_priv *priv, uint16_t data, uint32_t ls_ch)
Write data at specified EEPROM location.