ESOS32
ESOSOn32-bitProcessors
Files | Data Structures | Macros | Typedefs | Enumerations | Enumerator | Functions | Variables
ESOS_Simple_User_Interface_Service

Files

file  esos_hwxxxx_sui.c
 Template for creating hardware-specific support for the ESOS32 watchdog service.
 

Data Structures

struct  _st_esos_sui_Switch
 
struct  _st_esos_sui_LED
 

Macros

#define ESOS_SUI_NUM_MAX_SWITCHES   32
 
#define ESOS_SUI_NUM_MAX_LEDS   32
 
#define CLICK_TICK   200
 
#define DOUBLE_CLICK_TICK   200
 
#define HOLD_TICK   500
 
#define SWITCH_SINGLE_PRESS_LATENCY   100
 
#define SWITCH_DOUBLE_PRESS_MAX_LATENCY   200
 
#define __ESOS_SUI_TASK_PERIOD   (25*MILLISECONDS)
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED(x)   ESOS_TASK_WAIT_UNTIL( esos_sui_isSWPressed((x)) )
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_RELEASED(x)   ESOS_TASK_WAIT_UNTIL( esos_sui_isSWReleased((x)) )
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_AND_RELEASED(x)
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_TWICE(x)
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_EVENT(x)   ESOS_TASK_WAIT_WHILE( esos_sui_getSwitchLastEvent((x)) == ESOS_SUI_SWITCH_EVENT_NULL )
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_HOLD_EVENT(x)   ESOS_TASK_WAIT_UNTIL( esos_sui_getSwitchLastEvent((x)) == ESOS_SUI_SWITCH_EVENT_HOLD )
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_CLICK_EVENT(x)   ESOS_TASK_WAIT_UNTIL( esos_sui_getSwitchLastEvent((x)) == ESOS_SUI_SWITCH_EVENT_CLICK )
 
#define ESOS_TASK_WAIT_UNTIL_SUI_SW_DOUBLE_CLICK_EVENT(x)   ESOS_TASK_WAIT_UNTIL( esos_sui_getSwitchLastEvent((x)) == ESOS_SUI_SWITCH_EVENT_DOUBLE_CLICK )
 

Typedefs

typedef uint8_t ESOS_SUI_LED_HANDLE
 
typedef uint8_t ESOS_SUI_SWITCH_HANDLE
 

Enumerations

enum  esos_sui_switchStates { ESOS_SUI_SWSTATE_IDLE, ESOS_SUI_SWSTATE_WAIT_SW_UP, ESOS_SUI_SWSTATE_WAIT_CLICK_TIMEOUT, ESOS_SUI_SWSTATE_WAIT_DCLICK_TIMEOUT }
 
enum  esos_sui_switchEvents { ESOS_SUI_SWITCH_EVENT_NULL, ESOS_SUI_SWITCH_EVENT_HOLD, ESOS_SUI_SWITCH_EVENT_CLICK, ESOS_SUI_SWITCH_EVENT_DOUBLE_CLICK }
 
enum  esos_sui_LEDStates { ESOS_SUI_LED_STATE_ALL_OFF = 0, ESOS_SUI_LED_STATE_ON = 1, ESOS_SUI_LED_STATE_FLASHING = 2, ESOS_SUI_LED_STATE_ONE_SHOT = 4 }
 
enum  esos_sui_LEDEvents { ESOS_SUI_LED_EVENT_OFF = 1, ESOS_SUI_LED_EVENT_ON = 2 }
 

Functions

uint8_t esos_sui_getNumberOfSwitches (void)
 
uint8_t esos_sui_getNumberOfLEDs (void)
 
BOOL esos_sui_isSWPressed (ESOS_SUI_SWITCH_HANDLE h_sw)
 
BOOL esos_sui_isSWReleased (ESOS_SUI_SWITCH_HANDLE h_sw)
 
BOOL esos_sui_isSWDoublePressed (ESOS_SUI_SWITCH_HANDLE h_sw)
 
uint8_t esos_sui_getSwitchLastEvent (ESOS_SUI_SWITCH_HANDLE h_sw)
 
uint32_t esos_sui_getSwitchLastEventTime (ESOS_SUI_SWITCH_HANDLE h_sw)
 
uint32_t esos_sui_getSwitchUserData1 (ESOS_SUI_SWITCH_HANDLE h_sw)
 
uint32_t esos_sui_getSwitchUserData2 (ESOS_SUI_SWITCH_HANDLE h_sw)
 
BOOL esos_sui_isLEDOn (ESOS_SUI_LED_HANDLE h_led)
 
BOOL esos_sui_isLEDOff (ESOS_SUI_LED_HANDLE h_led)
 
BOOL esos_sui_isLEDFlashing (ESOS_SUI_LED_HANDLE h_led)
 
BOOL esos_sui_isLEDOneShot (ESOS_SUI_LED_HANDLE h_led)
 
uint16_t esos_sui_getLEDFlashPeriod (ESOS_SUI_LED_HANDLE h_led)
 
uint32_t esos_sui_getLEDLastEventTime (ESOS_SUI_LED_HANDLE h_led)
 
uint32_t esos_sui_getLEDUserData1 (ESOS_SUI_LED_HANDLE h_led)
 
uint32_t esos_sui_getLEDUserData2 (ESOS_SUI_LED_HANDLE h_led)
 
void esos_sui_turnLEDOn (ESOS_SUI_LED_HANDLE h_led)
 
void esos_sui_turnLEDOff (ESOS_SUI_LED_HANDLE h_led)
 
void esos_sui_toggleLED (ESOS_SUI_LED_HANDLE h_led)
 
void esos_sui_oneshotLED (ESOS_SUI_LED_HANDLE h_led, uint16_t u16_period)
 
void esos_sui_flashLED (ESOS_SUI_LED_HANDLE h_led, uint16_t u16_period)
 
void esos_sui_stopFlashLED (ESOS_SUI_LED_HANDLE h_led)
 
ESOS_SUI_LED_HANDLE esos_sui_registerLED (uint32_t u32_d1, uint32_t u32_d2)
 
ESOS_SUI_SWITCH_HANDLE esos_sui_registerSwitch (uint32_t u32_d1, uint32_t u32_d2)
 
 ESOS_USER_TASK (__esos_sui_task)
 
void __esos_InitSUI (void)
 
void esos_hw_sui_configLED (ESOS_SUI_LED_HANDLE h_led)
 
void esos_hw_sui_turnLEDOn (ESOS_SUI_LED_HANDLE h_led)
 
void esos_hw_sui_turnLEDOff (ESOS_SUI_LED_HANDLE h_led)
 
void esos_hw_sui_configSwitch (ESOS_SUI_SWITCH_HANDLE h_sw)
 
BOOL esos_hw_sui_isSwitchPressed (ESOS_SUI_SWITCH_HANDLE h_sw)
 
BOOL esos_hw_sui_isSwitchReleased (ESOS_SUI_SWITCH_HANDLE h_sw)
 

Variables

volatile uint8_t __u8_esosSuiNumLEDs = 0
 
volatile uint8_t __u8_esosSuiNumSWs = 0
 
volatile _st_esos_sui_Switch __ast_esosSuiSwitches [ESOS_SUI_NUM_MAX_SWITCHES]
 
volatile _st_esos_sui_LED __ast_esosSuiLEDs [ESOS_SUI_NUM_MAX_LEDS]
 
BOOL _st_esos_sui_Switch::b_pressed
 
BOOL _st_esos_sui_Switch::b_doublePressed
 
uint8_t _st_esos_sui_Switch::u8_lastEvent
 
uint32_t _st_esos_sui_Switch::u32_lastEventTime
 
uint8_t _st_esos_sui_Switch::_u8_state
 
uint32_t _st_esos_sui_Switch::_u32_nextTickTime
 
uint32_t _st_esos_sui_Switch::u32_userData1
 
uint32_t _st_esos_sui_Switch::u32_userData2
 
BOOL _st_esos_sui_LED::b_LEDOn
 
uint8_t _st_esos_sui_LED::_u8_state
 
uint16_t _st_esos_sui_LED::u16_LEDFlashPeriod
 
uint8_t _st_esos_sui_LED::u8_lastEvent
 
uint32_t _st_esos_sui_LED::u32_lastEventTime
 
uint32_t _st_esos_sui_LED::u32_userData1
 
uint32_t _st_esos_sui_LED::u32_userData2
 

Detailed Description

Macro Definition Documentation

◆ ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_AND_RELEASED

#define ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_AND_RELEASED (   x)
Value:
do { \
ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED((x)); \
ESOS_TASK_WAIT_UNTIL_SUI_SW_RELEASED((x)); \
} while (0)

Definition at line 156 of file esos_sui.h.

◆ ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_TWICE

#define ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED_TWICE (   x)
Value:
do { \
ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED((x)); \
ESOS_TASK_WAIT_UNTIL_SUI_SW_RELEASED((x)); \
ESOS_TASK_WAIT_UNTIL_SUI_SW_PRESSED((x)); \
ESOS_TASK_WAIT_UNTIL_SUI_SW_RELEASED((x)); \
} while (0)

Definition at line 160 of file esos_sui.h.

Function Documentation

◆ __esos_InitSUI()

void __esos_InitSUI ( void  )

ESOS system call to initialize the SUI element

Note
This routine assumes that all of the desired SUI elements have been registered with the ESOS SUI service. In other words, this routine is called by ESOS after user_init()
See also
user_init()
esos_sui_registerSwitch()
esos_sui_registerLED()
esos_hw_sui_configLED()
sos_hw_sui_turnLEDOff()
esos_hw_sui_configSwitch()

Definition at line 741 of file esos_sui.c.

◆ esos_hw_sui_configLED()

void esos_hw_sui_configLED ( ESOS_SUI_LED_HANDLE  h_led)

ESOS callback to user to perform hardware initialization for connected LEDs

Parameters
h_LEDESOS_SUI_LED_HANDLE to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_hw_sui_turnLEDOn()
esos_hw_sui_turnLEDOff()

Definition at line 65 of file esos_hwxxxx_sui.c.

◆ esos_hw_sui_configSwitch()

void esos_hw_sui_configSwitch ( ESOS_SUI_SWITCH_HANDLE  h_sw)

ESOS callback to user to perform hardware initialization for switches

Parameters
h_swESOS_SUI_SWITCH_HANDLE to switch that was returned to user when the switch was registered
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 116 of file esos_hwxxxx_sui.c.

◆ esos_hw_sui_isSwitchPressed()

BOOL esos_hw_sui_isSwitchPressed ( ESOS_SUI_SWITCH_HANDLE  h_sw)

ESOS callback to user to answer whether switch is pressed

Parameters
h_swESOS_SUI_SWITCH_HANDLE to switch that was returned to user when the switch was registered
Return values
TRUEif switch is pressed, FALSE if it is not pressed
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 132 of file esos_hwxxxx_sui.c.

◆ esos_hw_sui_isSwitchReleased()

BOOL esos_hw_sui_isSwitchReleased ( ESOS_SUI_SWITCH_HANDLE  h_sw)

ESOS callback to user to answer whether switch is pressed

Parameters
h_swESOS_SUI_SWITCH_HANDLE to switch that was returned to user when the switch was registered
Return values
TRUEif switch is released (not pressed), FALSE if it is pressed
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 148 of file esos_hwxxxx_sui.c.

◆ esos_hw_sui_turnLEDOff()

void esos_hw_sui_turnLEDOff ( ESOS_SUI_LED_HANDLE  h_led)

ESOS callback to user to do whatever hardware gymnastics is required to turn "OFF" a connected LED

Parameters
h_ledESOS_SUI_LED_HANDLE to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_hw_sui_configLED()
esos_hw_sui_turnLEDOn()

Definition at line 100 of file esos_hwxxxx_sui.c.

◆ esos_hw_sui_turnLEDOn()

void esos_hw_sui_turnLEDOn ( ESOS_SUI_LED_HANDLE  h_led)

ESOS callback to user to do whatever hardware gymnastics is required to turn "ON" a connected LED

Parameters
h_LEDESOS_SUI_LED_HANDLE to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_hw_sui_configLED()
esos_hw_sui_turnLEDOff()

Definition at line 83 of file esos_hwxxxx_sui.c.

◆ esos_sui_flashLED()

void esos_sui_flashLED ( ESOS_SUI_LED_HANDLE  h_led,
uint16_t  u16_period 
)
inline

called by user application to flash/toggle a given LED every u16_period ticks

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
u16_perioduint16 value (in ticks) that represents the flash period of the LED
Note
if u16_period is zero, the LED will not flash
See also
esos_sui_registerLED()
esos_sui_toggleLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 432 of file esos_sui.c.

◆ esos_sui_getLEDFlashPeriod()

uint16_t esos_sui_getLEDFlashPeriod ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the LED flashing period (in ticks) as uint16 associated with a given LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
uint16_tnumber of ticks = h_LED's flashing period
Note
a return value of 0 denotes that the LED is not flashing but constantly ON or OFF
See also
esos_sui_registerLED()
esos_sui_flashLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 289 of file esos_sui.c.

◆ esos_sui_getLEDLastEventTime()

uint32_t esos_sui_getLEDLastEventTime ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the system tick value that corresponds to the most recent event associated with a given LED

Parameters
h_LED"LED handle" to switch that was returned to user when the LED was registered
Return values
uint32_tsystem tick value when the last LED event occured
See also
esos_sui_registerLED()

Definition at line 303 of file esos_sui.c.

◆ esos_sui_getLEDUserData1()

uint32_t esos_sui_getLEDUserData1 ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the first user data word associated with this LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
uint32the LED's user data word #1
Note
The user data value is set by the user when the LED is registerd in user_init(). User data can not be modified after the LED is registered.
See also
esos_sui_registerLED()

Definition at line 320 of file esos_sui.c.

◆ esos_sui_getLEDUserData2()

uint32_t esos_sui_getLEDUserData2 ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the second user data word associated with this LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
uint32the LED's user data word #2
Note
The user data value is set by the user when the LED is registerd in user_init(). User data can not be modified after the LED is registered.
See also
esos_sui_registerLED()

Definition at line 337 of file esos_sui.c.

◆ esos_sui_getNumberOfLEDs()

uint8_t esos_sui_getNumberOfLEDs ( void  )
inline

Returns the number of LEDs being managed by ESOS SUI service

Return values
uint8_tnumber of LEDs currently registered in the ESOS SUI service
See also
esos_sui_registerLED()
esos_hw_sui_configLED()

Definition at line 75 of file esos_sui.c.

◆ esos_sui_getNumberOfSwitches()

uint8_t esos_sui_getNumberOfSwitches ( void  )
inline

Returns the number of switches being managed by ESOS SUI service

Return values
uint8_tnumber of switches currently registered in the ESOS SUI service
See also
esos_sui_registerSwitch()
esos_hw_sui_configSwitches()

Definition at line 61 of file esos_sui.c.

◆ esos_sui_getSwitchLastEvent()

uint8_t esos_sui_getSwitchLastEvent ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the most recent event (as opposed to the current state) of a given switch

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
ESOS_SUI_SWITCH_STATEthe most recent switch event to occur based on h_sw actions
Note
this call will "clear" the switch state event to ESOS_SUI_SWITCH_EVENT_NULL
See also
esos_sui_registerSwitch()
esos_sui_getSwitchLastEventTime()

Definition at line 139 of file esos_sui.c.

◆ esos_sui_getSwitchLastEventTime()

uint32_t esos_sui_getSwitchLastEventTime ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the system tick value that corresponds to the most recent event (as opposed to the current state) of a given switch

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
uint32_tsystem tick value when the last event occured
Note
The value returned by this function is meaningless if the last event of the switch was ESOS_SUI_SWITCH_EVENT_NULL
See also
esos_sui_registerSwitch()
esos_sui_getSwitchLastEvent()

Definition at line 161 of file esos_sui.c.

◆ esos_sui_getSwitchUserData1()

uint32_t esos_sui_getSwitchUserData1 ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the first user data word associated with this switch

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
uint32the value of user data word #1
Note
The user data value is set by the user when the switch is registerd in user_init(). User data can not be modified after the switch is created.
See also
esos_sui_registerSwitch()

Definition at line 178 of file esos_sui.c.

◆ esos_sui_getSwitchUserData2()

uint32_t esos_sui_getSwitchUserData2 ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the second user data word associated with this switch

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
uint32the value of user data word #2
Note
The user data value is set by the user when the switch is registerd in user_init(). User data can not be modified after the switch is created.
See also
esos_sui_registerSwitch()

Definition at line 195 of file esos_sui.c.

◆ esos_sui_isLEDFlashing()

BOOL esos_sui_isLEDFlashing ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns whether the associated LED is "flashing"

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
BOOLTRUE if LED is currently flashing, FALSE otherwise
See also
esos_sui_registerLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 244 of file esos_sui.c.

◆ esos_sui_isLEDOff()

BOOL esos_sui_isLEDOff ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the current state of the associated LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
BOOLTRUE if LED is OFF, FALSE otherwise
See also
esos_sui_registerLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 229 of file esos_sui.c.

◆ esos_sui_isLEDOn()

BOOL esos_sui_isLEDOn ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns the current state of the associated LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
BOOLTRUE if LED is ON, FALSE otherwise
See also
esos_sui_registerLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 213 of file esos_sui.c.

◆ esos_sui_isLEDOneShot()

BOOL esos_sui_isLEDOneShot ( ESOS_SUI_LED_HANDLE  h_led)
inline

Returns whether the associated LED is in a one-shot state

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
Return values
BOOLTRUE if LED is currently flashing, FALSE otherwise
See also
esos_sui_registerLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 264 of file esos_sui.c.

◆ esos_sui_isSWDoublePressed()

BOOL esos_sui_isSWDoublePressed ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the state of the swtich

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
BOOLTRUE if switch is double-pressed, FALSE otherwise
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 121 of file esos_sui.c.

◆ esos_sui_isSWPressed()

BOOL esos_sui_isSWPressed ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the state of the swtich

Parameters
h_swa "switch handle" to switch that was returned to user
when the switch was registered
Return values
BOOLTRUE if switch is pressed, FALSE otherwise
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 91 of file esos_sui.c.

◆ esos_sui_isSWReleased()

BOOL esos_sui_isSWReleased ( ESOS_SUI_SWITCH_HANDLE  h_sw)
inline

Returns the state of the swtich

Parameters
h_sw"switch handle" to switch that was returned to user when the switch was registered
Return values
BOOLTRUE if switch is released, FALSE otherwise
See also
esos_sui_registerSwitch()
esos_hw_sui_isSwitchPressed()
esos_hw_sui_isSwitchReleased()

Definition at line 106 of file esos_sui.c.

◆ esos_sui_oneshotLED()

void esos_sui_oneshotLED ( ESOS_SUI_LED_HANDLE  h_led,
uint16_t  u16_period 
)
inline

called by user application to start a one-shot flash (illuminate) the given LED for the next u16_period ticks

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
u16_periodvalue (in ticks) that represents how long the single illumination of the LED
Note
if u16_period is zero, the LED will not illuminate
to cancel a ONE-SHOT in progress, set the LED's "flash period to zero.
See also
esos_sui_registerLED()
esos_sui_toggleLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 409 of file esos_sui.c.

◆ esos_sui_registerLED()

ESOS_SUI_LED_HANDLE esos_sui_registerLED ( uint32_t  u32_d1,
uint32_t  u32_d2 
)

called by user application code to "register" a new LED with the ESOS SUI service

Parameters
u32_d1uint32 for user data 1
u32_d2uint32 for user data 2
Return values
ESOS_SUI_LED_HANDLEthat can be used to reference the LED with ESOS SUI service going foward
Note
This routine must be called in user_init()
At this point, LEDs can NOT be unregistered with ESOS SUI service
The two user data fields are very "handy" for storing the port and pin, respectively for the associated LED.
See also
esos_sui_registerLED()
esos_hw_sui_configLED()
sos_hw_sui_turnLEDOff()
sos_hw_sui_turnLEDOn()

Definition at line 479 of file esos_sui.c.

◆ esos_sui_registerSwitch()

ESOS_SUI_SWITCH_HANDLE esos_sui_registerSwitch ( uint32_t  u32_d1,
uint32_t  u32_d2 
)

called by user application code to "register" a new switch with the ESOS SUI service

Parameters
u32_d1uint32 for user data 1
u32_d2uint32 for user data 2
Return values
ESOS_SUI_SWITCH_HANDLEthat can be used to reference the switch with ESOS SUI service going foward
Note
This routine must be called in user_init()
At this point, switches can NOT be unregistered with ESOS SUI service
The two user data fields are very "handy" for storing the port and pin, respectively for the associated switch.
See also
esos_sui_registerSwitch()
esos_hw_sui_configSwitch()

Definition at line 517 of file esos_sui.c.

◆ esos_sui_stopFlashLED()

void esos_sui_stopFlashLED ( ESOS_SUI_LED_HANDLE  h_led)
inline

called by user application to toggle a given LED

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_sui_toggleLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 450 of file esos_sui.c.

◆ esos_sui_toggleLED()

void esos_sui_toggleLED ( ESOS_SUI_LED_HANDLE  h_led)
inline

called by user application to toggle a given LED ESOS_TASK_BEGIN();

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_sui_flashLED()
esos_sui_turnLEDOn()
esos_sui_turnLEDOff()

Definition at line 388 of file esos_sui.c.

◆ esos_sui_turnLEDOff()

void esos_sui_turnLEDOff ( ESOS_SUI_LED_HANDLE  h_led)
inline

called by user application to turn a given LED off

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_sui_flashLED()
esos_sui_turnLEDOn()
esos_sui_toggleLED()

Definition at line 371 of file esos_sui.c.

◆ esos_sui_turnLEDOn()

void esos_sui_turnLEDOn ( ESOS_SUI_LED_HANDLE  h_led)
inline

called by user application to turn a given LED on

Parameters
h_led"LED handle" to switch that was returned to user when the LED was registered
See also
esos_sui_registerLED()
esos_sui_flashLED()
esos_sui_turnLEDOff()
esos_sui_toggleLED()

Definition at line 355 of file esos_sui.c.

◆ ESOS_USER_TASK()

ESOS_USER_TASK ( __esos_sui_task  )

A "hidden" (system task) that manages the LEDs and switches for the ESOS SUI service

Definition at line 543 of file esos_sui.c.