GEX core repository.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
gex-core/platform/status_led.h

60 lines
940 B

//
// Created by MightyPork on 2017/12/15.
//
// Status LED blinking
//
#ifndef GEX_INDICATORS_H
#define GEX_INDICATORS_H
#include "platform.h"
/**
* Indicator (LED or blinking pattern)
*/
enum GEX_StatusIndicator {
STATUS_NONE = 0,
STATUS_FAULT,
STATUS_DISK_BUSY,
STATUS_DISK_BUSY_SHORT,
STATUS_DISK_ATTACHED,
STATUS_DISK_REMOVED,
STATUS_WELCOME,
STATUS_HEARTBEAT
};
/**
* Early init
*/
void Indicator_PreInit(void);
/**
* Initialize the statis LED(s)
*/
void Indicator_Init(void);
/**
* Set indicator ON
*
* @param indicator
*/
void Indicator_Effect(enum GEX_StatusIndicator indicator);
/**
* Set indicator OFF
*
* @param indicator
*/
void Indicator_Off(enum GEX_StatusIndicator indicator);
/**
* Ms tick for indicators
*/
void Indicator_Tick(void);
/**
* Heartbeat callback from the main thread to indicate activity
*/
void Indicator_Heartbeat(void);
#endif //GEX_INDICATORS_H