Azuma_wifi_switch/main/hmi.h

57 lines
1.3 KiB
C

/*
* hmi.h
*
* Created on: Feb 13, 2023
* Author: Sword
*/
#ifndef MAIN_HMI_H_
#define MAIN_HMI_H_
#include <stdbool.h>
#include <stdbool.h>
#include <stdint.h>
typedef enum{
BLUE_LED_FLASHING, // Connecting to LTE Network
BLUE_LED_FLASHING_OTA, // OTA Update Firmware
BLUE_LED_SOLID, // Button pressed for a User invoked check-in
RED_LED_FLASHING, // Device has not been on-boarded
RED_LED_SOLID, // Device Failure. Need to reset
BLUE_RED_LEDS_FLASHING_200ms, // Low battery warning
BLUE_RED_LEDS_FLASHING_1SEC, // Battery Charging
BLUE_RED_LEDS_SOLD, // Battery Charged 100%
BLUE_RED_LEDS_USB_OFF,
BLUE_RED_LEDS_OFF
}hmi_leds_state_t;
typedef enum
{
HMI_LED_RED,
HMI_LED_GREEN,
HMI_LED_BLUE,
HMI_LED__MAX__
} hmi_led_type_t;
typedef enum
{
HMI_LED_OFF = 0,
HMI_LED_ON,
HMI_LED_BLINK,
} hmi_led_state_t;
void hmi_init(void);
void hmi_set_leds_state(hmi_leds_state_t status);
void hmi_stop_continued_led_state(hmi_leds_state_t led_event);
void hmi_set_usb_connection_state(bool usb_state);
void hmi_stop_red_flashing(void);
void hmi_stop_ota_event(void);
void hmi_task(void *pvParameters);
void set_leds_enable(bool status);
void hmi_do_usb_event_inside_hmi(bool decision);
void hmi_exception_usb_event(void);
int hmi_choose_led(int led_color,uint8_t op_mode);
#endif /* MAIN_HMI_H_ */