|
AM243x Motor Control SDK
09.02.00
|
|
int32_t bissc_get_pos(struct bissc_priv *priv)
Get single cycle BiSS-C position data.
void bissc_disable_safety(struct bissc_priv *priv)
Disable Safety for connected BiSS-C encoder.
uint32_t ctrl_reg_address[NUM_ED_CH_MAX]
Definition: bissc_drv.h:196
void bissc_hw_init(struct bissc_priv *priv)
Initialize BiSSC hardware interface.
uint32_t bissc_get_current_channel(struct bissc_priv *priv, uint32_t ch_idx)
Retrives the current channel in use.
void bissc_set_default_initialization(struct bissc_priv *priv, uint64_t icssgclk)
Set default configuration parameters for BiSSC receiver firmware.
uint32_t ctrl_reg_data[NUM_ED_CH_MAX]
Definition: bissc_drv.h:198
int32_t bissc_command_process(struct bissc_priv *priv)
Send the BiSSC command and wait till firmware acknowledges.
void bissc_config_periodic_trigger(struct bissc_priv *priv)
Configure periodic trigger operation mode.
int32_t bissc_calc_clock(struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg)
Calculate Rx and Tx divisors for given frequency.
void bissc_config_channel(struct bissc_priv *priv, int32_t mask, int32_t totalch)
Select channel to be used by BiSSC receiver.
void bissc_config_load_share(struct bissc_priv *priv, int32_t mask)
Configure the channels to be used by BiSSC receiver.
void bissc_enable_load_share_mode(struct bissc_priv *priv)
Enable load share mode for BiSSC receiver.
void bissc_enable_safety(struct bissc_priv *priv, uint32_t enc_num, uint32_t ch_num)
Enable Safety for connected BiSS-C encoder.
Initialize BiSS-C firmware interface address and get the pointer to struct bissc_priv instance.
Definition: bissc_drv.h:155
void bissc_config_primary_core_mask(struct bissc_priv *priv, uint8_t mask)
Configure the primary core for load share mode.
void bissc_update_max_proc_delay(struct bissc_priv *priv)
Update max processing time and bit index to poll in fifo data.
int8_t ctrl_write_status[NUM_ED_CH_MAX]
Definition: bissc_drv.h:194
void bissc_get_enc_proc_delay(struct bissc_priv *priv)
Get measured processing delay of individual channel.
void bissc_config_endat_mode(struct bissc_priv *priv)
Configure the receiver for EnDat mode.
void bissc_command_send(struct bissc_priv *priv)
Trigger sending the BiSSC command in PRU.
uint32_t bissc_generate_ctrl_cmd(struct bissc_priv *priv, int8_t ls_ch, uint32_t ctrl_write_status, uint32_t ctrl_reg_address, uint32_t ctrl_reg_data, uint32_t ctrl_enc_id)
Generate control communication Hex equivalent command.
uint32_t bissc_get_totalchannels(struct bissc_priv *priv)
Retrives total number of channels configured.
void bissc_update_clock_freq(struct bissc_priv *priv, uint32_t frequency)
Update the operating bud rate as specified by the user.
int32_t bissc_wait_for_fw_initialization(struct bissc_priv *priv, uint32_t timeout, uint8_t mask)
Wait for BiSSC receiver firmware to initialize.
void bissc_config_clr_cfg0(struct bissc_priv *priv)
Clear the channel specific frame size cfg registers.
void bissc_config_host_trigger(struct bissc_priv *priv)
Configure host trigger operation mode.
int32_t bissc_command_wait(struct bissc_priv *priv)
Wait till PRU finishes BiSSC transaction.
void bissc_clear_data_len(struct bissc_priv *priv)
Clears all the encoder resolution parameters.
uint32_t ctrl_enc_id[NUM_ED_CH_MAX]
Definition: bissc_drv.h:200
int32_t multi_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: bissc_drv.h:164
uint32_t core_clk_freq
Definition: bissc_drv.h:208
void bissc_update_data_len(struct bissc_priv *priv, uint32_t single_turn_len[], uint32_t multi_turn_len[], int32_t ch_num)
Update data length with encoder bit width for BiSSC receiver firmware.
struct bissc_priv * bissc_init(PRUICSS_Handle gPruIcssXHandle, int32_t slice, uint32_t frequency, uint32_t core_clk_freq, uint32_t uart_clk_freq)
Initialize BiSSC firmware interface address and get the pointer to struct bissc_priv instance.
Structure defining EnDat clock configuration for selected frequency.
Definition: bissc_drv.h:103
void bissc_config_clock(struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg)
Configure EnDat clock.
int32_t bissc_set_ctrl_cmd_and_process(struct bissc_priv *priv, uint32_t ctrl_cmd[])
Set control command and process the ctrl communication read/write.
int32_t bissc_wait_measure_proc_delay(struct bissc_priv *priv, uint32_t timeout)
Wait for BiSSC receiver firmware to measure processing time.
int32_t single_turn_len[NUM_ED_CH_MAX][NUM_ENCODERS_MAX]
Definition: bissc_drv.h:162
uint32_t uart_clk_freq
Definition: bissc_drv.h:210