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

61 lines
940 B

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