AM243x Motor Control SDK  09.01.00
bissc_api.h File Reference

Go to the source code of this file.

Functions

int32_t bissc_command_process (struct bissc_priv *priv)
 Send the BiSSC command and wait till firmware acknowledges. More...
 
void bissc_command_send (struct bissc_priv *priv)
 Trigger sending the BiSSC command in PRU. More...
 
int32_t bissc_command_wait (struct bissc_priv *priv)
 Wait till PRU finishes BiSSC transaction. More...
 
int32_t bissc_get_pos (struct bissc_priv *priv)
 Get single cycle BiSS-C position data. More...
 
void bissc_config_clock (struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg)
 Configure EnDat clock. More...
 
void bissc_config_channel (struct bissc_priv *priv, int32_t mask, int32_t totalch)
 Select channel to be used by BiSSC master. More...
 
void bissc_config_load_share (struct bissc_priv *priv, int32_t mask)
 Configure the channels to be used by BiSSC master. More...
 
void bissc_enable_load_share_mode (struct bissc_priv *priv)
 Enable load share mode for BiSSC master. More...
 
void bissc_config_primary_core_mask (struct bissc_priv *priv, uint8_t mask)
 Configure the primary core for load share mode. More...
 
int32_t bissc_wait_for_fw_initialization (struct bissc_priv *priv, uint32_t timeout, uint8_t mask)
 Wait for BiSSC master firmware to initialize. More...
 
void bissc_hw_init (struct bissc_priv *priv)
 Initialize BiSSC hardware interface. More...
 
struct bissc_privbissc_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. More...
 
void bissc_update_max_proc_delay (struct bissc_priv *priv)
 Update max processing time and bit index to poll in fifo data. More...
 
int32_t bissc_wait_measure_proc_delay (struct bissc_priv *priv, uint32_t timeout)
 Wait for BiSSC master firmware to measure processing time. More...
 
void bissc_set_default_initialization (struct bissc_priv *priv, uint64_t icssgclk)
 Set default configuration parameters for BiSSC Master firmware. More...
 
void bissc_update_data_len (struct bissc_priv *priv, uint32_t single_turn_len[], uint32_t multi_turn_len[], int32_t num_pru)
 Update data length with encoder bit width for BiSSC Master firmware. More...
 
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. More...
 
void bissc_config_endat_mode (struct bissc_priv *priv)
 Configure the master for EnDat mode. More...
 
void bissc_config_clr_cfg0 (struct bissc_priv *priv)
 Clear the channel specific frame size cfg registers. More...
 
void bissc_get_enc_proc_delay (struct bissc_priv *priv)
 Get measured processing delay of individual channel. More...
 
int32_t bissc_calc_clock (struct bissc_priv *priv, struct bissc_clk_cfg *clk_cfg)
 Calculate Rx and Tx divisors for given frequency. More...