114 lines
1.7 KiB
C
114 lines
1.7 KiB
C
/*
|
|
* navikit.h
|
|
*
|
|
* Created on: Apr 17, 2020
|
|
* Author: oarap
|
|
*/
|
|
|
|
#ifndef INC_NAVIKIT_H_
|
|
#define INC_NAVIKIT_H_
|
|
|
|
#include "stdbool.h"
|
|
|
|
typedef enum
|
|
{
|
|
shutdown, //only mcu runing
|
|
runing, //all function runing
|
|
sleep, //SOCs and FANs are stop
|
|
dfu, //device firmware update for SOM
|
|
isp //in system program for BIOS
|
|
}sta_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
struct{
|
|
sta_t sta; //current system state
|
|
sta_t next_sta; //current system state
|
|
bool power_btn; //开关是否被按下
|
|
bool custom_btn;
|
|
bool pwr_led;
|
|
bool run_led;
|
|
}sys;
|
|
|
|
struct{
|
|
|
|
bool fan_1;
|
|
bool fan_2;
|
|
bool fan_3;
|
|
}status;
|
|
|
|
|
|
struct{
|
|
bool mod_sleep;
|
|
bool power_en;
|
|
bool shutdown_req;
|
|
bool sys_reset;
|
|
bool force_recovery;
|
|
bool sleep_wake;
|
|
}som;//som power management
|
|
|
|
struct{
|
|
float out_24v_div16;
|
|
float out_5v_div8;
|
|
float out_12v_div8;
|
|
float bkp_bat_div8;
|
|
float main_pwr_div16;
|
|
|
|
bool pmb_temp_sen_en;
|
|
bool pmb_temp_sen_alt;
|
|
bool pmb_coulomb_alcc;
|
|
bool pmb_chrg_stat2;
|
|
bool pmg_chrg_stat1;
|
|
|
|
struct{
|
|
float voltage;
|
|
float current;
|
|
float cap;
|
|
float temp;
|
|
}coulomb;
|
|
}pmb;//power management board
|
|
|
|
struct{
|
|
bool u2_vbus_1;
|
|
bool u2_vbus_2;
|
|
bool u2_vbus_3;
|
|
bool u2_vbus_4;
|
|
bool u2_vbus_5;
|
|
bool u2_vbus_6;
|
|
|
|
bool u3_vbus_1;
|
|
bool u3_vbus_2;
|
|
bool u3_vbus_3;
|
|
bool u3_vbus_4;
|
|
bool u3_vbus_5;
|
|
bool u3_vbus_6;
|
|
}port;
|
|
struct{
|
|
bool u2_hub_pwr;
|
|
bool u3_hub_pwr;
|
|
bool u3_host_pwr;
|
|
bool u3_gec_pwr;
|
|
bool ge_sw_pwr;
|
|
}soc;
|
|
struct{
|
|
bool fan_valid_1;
|
|
bool fan_valid_2;
|
|
bool fan_valid_3;
|
|
}fan;
|
|
|
|
|
|
|
|
struct {
|
|
float sensor_1;
|
|
float sensor_2;
|
|
float sensor_3;
|
|
}temp;
|
|
|
|
}NaviKit_t;
|
|
extern NaviKit_t NaviKit;
|
|
|
|
void NaviKit_var_init();
|
|
|
|
#endif /* INC_NAVIKIT_H_ */
|