|
AM64x MCU+ SDK
08.04.00
|
|
void endat_command_send(struct endat_priv *priv)
trigger sending the EnDat command in PRU
void endat_config_rx_arm_cnt(struct endat_priv *priv, unsigned short val)
configure rx arm counter
unsigned int endat_get_prop_delay(struct endat_priv *priv)
get propagation delay automatically estimated by the firmware
int endat_command_build(struct endat_priv *priv, int cmd, struct cmd_supplement *cmd_supplement)
setup the EnDat command in the PRU interface buffer
void endat_addinfo_track(struct endat_priv *priv, int cmd, struct cmd_supplement *cmd_supplement)
track presence of additional information in priv
void endat_config_wire_delay(struct endat_priv *priv, unsigned short val)
configure wire delay for the selected channel
Definition: endat_drv.h:132
int endat_command_process(struct endat_priv *priv, int cmd, struct cmd_supplement *cmd_supplement)
send the EnDat command and wait till firmware acknowledges
int endat_wait_initialization(struct endat_priv *priv, unsigned timeout)
wait for EnDat master firmware to initialize
void endat_stop_continuous_mode(struct endat_priv *priv)
stop continuous mode
int endat_get_2_2_angle(struct endat_priv *priv)
Read EnDat 2.2 angular position in steps for rotary encoders (prior to invoking this,...
void endat_config_channel(struct endat_priv *priv, int ch)
select channel to be used by EnDat master
struct endat_pruss_xchg * pruss_xchg
Definition: endat_drv.h:147
Definition: endat_drv.h:103
int endat_recvd_process(struct endat_priv *priv, int cmd, union endat_format_data *u)
process raw recieved data and format based on the command
void endat_config_clock(struct endat_priv *priv, struct endat_clk_cfg *clk_cfg)
configure EnDat clock
unsigned char endat_multi_channel_detected(struct endat_priv *priv)
select channels detected in multi channel configuration by EnDat master. required to be invoked onl...
struct endat_priv * endat_init(struct endat_pruss_xchg *pruss_xchg, void *pruss_cfg)
Initialize EnDat firmware interface address and get the pointer to struct endat_priv instance.
void endat_multi_channel_set_cur(struct endat_priv *priv, int ch)
In multi channel configuration, select channel before receive processing in multi channel configura...
void endat_config_multi_channel_mask(struct endat_priv *priv, unsigned char mask)
select mask of channels to be used in multi channel configuration by EnDat master
void endat_config_tst_delay(struct endat_priv *priv, unsigned short delay)
configure tST delay
void endat_command_wait(struct endat_priv *priv)
wait till PRU finishes EnDat transaction
void * pruss_cfg
Definition: endat_drv.h:149
void endat_config_periodic_trigger(struct endat_priv *priv)
configure EnDat master in periodic trigger mode
void endat_config_rx_clock_disable(struct endat_priv *priv, unsigned short val)
configure clocks to be disabled at the end of rx to account for tD
int endat_start_continuous_mode(struct endat_priv *priv)
start continuous mode
int endat_get_encoder_info(struct endat_priv *priv)
update priv with position resolution, id, serial number, encoder type and supported command set
void endat_config_host_trigger(struct endat_priv *priv)
configure EnDat master for host trigger mode
unsigned endat_recvd_validate(struct endat_priv *priv, int cmd, union endat_format_data *u)
CRC result indicated in return value as follows, 0th bit high position/address/params/test CRC succ...
Definition: endat_drv.h:153