Synergy Software Package User's Manual

#include <r_ioport_api.h>

Data Fields

ssp_err_t(* init )(const ioport_cfg_t *p_cfg)
 
ssp_err_t(* pinsCfg )(const ioport_cfg_t *p_cfg)
 
ssp_err_t(* pinCfg )(ioport_port_pin_t pin, uint32_t cfg)
 
ssp_err_t(* pinDirectionSet )(ioport_port_pin_t pin, ioport_direction_t direction)
 
ssp_err_t(* pinEventInputRead )(ioport_port_pin_t pin, ioport_level_t *p_pin_event)
 
ssp_err_t(* pinEventOutputWrite )(ioport_port_pin_t pin, ioport_level_t pin_value)
 
ssp_err_t(* pinEthernetModeCfg )(ioport_ethernet_channel_t channel, ioport_ethernet_mode_t mode)
 
ssp_err_t(* pinRead )(ioport_port_pin_t pin, ioport_level_t *p_pin_value)
 
ssp_err_t(* pinWrite )(ioport_port_pin_t pin, ioport_level_t level)
 
ssp_err_t(* portDirectionSet )(ioport_port_t port, ioport_size_t direction_values, ioport_size_t mask)
 
ssp_err_t(* portEventInputRead )(ioport_port_t port, ioport_size_t *p_event_data)
 
ssp_err_t(* portEventOutputWrite )(ioport_port_t port, ioport_size_t event_data, ioport_size_t mask_value)
 
ssp_err_t(* portRead )(ioport_port_t port, ioport_size_t *p_port_value)
 
ssp_err_t(* portWrite )(ioport_port_t port, ioport_size_t value, ioport_size_t mask)
 
ssp_err_t(* versionGet )(ssp_version_t *p_data)
 

Detailed Description

IOPort driver structure. IOPort functions implemented at the HAL layer will follow this API.

Field Documentation

◆ init

ssp_err_t(* ioport_api_t::init) (const ioport_cfg_t *p_cfg)

Initialize internal driver data and initial pin configurations. Called during startup. Do not call this API during runtime. Use ioport_api_t::pinsCfg for runtime reconfiguration of multiple pins.

Implemented as
Parameters
[in]p_cfgPointer to pin configuration data array.

◆ pinCfg

ssp_err_t(* ioport_api_t::pinCfg) (ioport_port_pin_t pin, uint32_t cfg)

Configure settings for an individual pin.

Implemented as
Parameters
[in]pinPin to be read.
[in]cfgConfiguration options for the pin.

◆ pinDirectionSet

ssp_err_t(* ioport_api_t::pinDirectionSet) (ioport_port_pin_t pin, ioport_direction_t direction)

Set the pin direction of a pin.

Implemented as
Parameters
[in]pinPin being configured.
[in]directionDirection to set pin to which is a member of ioport_direction_t.

◆ pinEthernetModeCfg

ssp_err_t(* ioport_api_t::pinEthernetModeCfg) (ioport_ethernet_channel_t channel, ioport_ethernet_mode_t mode)

Configure the PHY mode of the Ethernet channels.

Implemented as
Parameters
[in]channelChannel configuration will be set for.
[in]modePHY mode to set the channel to.

◆ pinEventInputRead

ssp_err_t(* ioport_api_t::pinEventInputRead) (ioport_port_pin_t pin, ioport_level_t *p_pin_event)

Read the event input data of the specified pin and return the level.

Implemented as
Parameters
[in]pinPin to be read.
[in]p_pin_eventPointer to return the event data.

◆ pinEventOutputWrite

ssp_err_t(* ioport_api_t::pinEventOutputWrite) (ioport_port_pin_t pin, ioport_level_t pin_value)

Write pin event data.

Implemented as
Parameters
[in]pinPin event data is to be written to.
[in]pin_valueLevel to be written to pin output event.

◆ pinRead

ssp_err_t(* ioport_api_t::pinRead) (ioport_port_pin_t pin, ioport_level_t *p_pin_value)

Read level of a pin.

Implemented as
Parameters
[in]pinPin to be read.
[in]p_pin_valuePointer to return the pin level.

◆ pinsCfg

ssp_err_t(* ioport_api_t::pinsCfg) (const ioport_cfg_t *p_cfg)

Configure multiple pins.

Implemented as
Parameters
[in]p_cfgPointer to pin configuration data array.

◆ pinWrite

ssp_err_t(* ioport_api_t::pinWrite) (ioport_port_pin_t pin, ioport_level_t level)

Write specified level to a pin.

Implemented as
Parameters
[in]pinPin to be written to.
[in]levelState to be written to the pin.

◆ portDirectionSet

ssp_err_t(* ioport_api_t::portDirectionSet) (ioport_port_t port, ioport_size_t direction_values, ioport_size_t mask)

Set the direction of one or more pins on a port.

Implemented as
Parameters
[in]portPort being configured.
[in]direction_valuesValue controlling direction of pins on port (1 - output, 0 - input).
[in]maskMask controlling which pins on the port are to be configured.

◆ portEventInputRead

ssp_err_t(* ioport_api_t::portEventInputRead) (ioport_port_t port, ioport_size_t *p_event_data)

Read captured event data for a port.

Implemented as
Parameters
[in]portPort to be read.
[in]p_event_dataPointer to return the event data.

◆ portEventOutputWrite

ssp_err_t(* ioport_api_t::portEventOutputWrite) (ioport_port_t port, ioport_size_t event_data, ioport_size_t mask_value)

Write event output data for a port.

Implemented as
Parameters
[in]portPort event data will be written to.
[in]event_dataData to be written as event data to specified port.
[in]mask_valueEach bit set to 1 in the mask corresponds to that bit's value in event data. being written to port.

◆ portRead

ssp_err_t(* ioport_api_t::portRead) (ioport_port_t port, ioport_size_t *p_port_value)

Read states of pins on the specified port.

Implemented as
Parameters
[in]portPort to be read.
[in]p_port_valuePointer to return the port value.

◆ portWrite

ssp_err_t(* ioport_api_t::portWrite) (ioport_port_t port, ioport_size_t value, ioport_size_t mask)

Write to multiple pins on a port.

Implemented as
Parameters
[in]portPort to be written to.
[in]valueValue to be written to the port.
[in]maskMask controlling which pins on the port are written to.

◆ versionGet

ssp_err_t(* ioport_api_t::versionGet) (ssp_version_t *p_data)

Return the version of the IOPort driver.

Implemented as
Parameters
[out]p_dataMemory address to return version information to.

The documentation for this struct was generated from the following file: