Mercurial > public > ostc4
diff Small_CPU/Inc/scheduler.h @ 38:5f11787b4f42
include in ostc4 repository
author | heinrichsweikamp |
---|---|
date | Sat, 28 Apr 2018 11:52:34 +0200 |
parents | |
children | e6abbef57475 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Small_CPU/Inc/scheduler.h Sat Apr 28 11:52:34 2018 +0200 @@ -0,0 +1,110 @@ +/** + ****************************************************************************** + * @file scheduler.h + * @author heinrichs weikamp gmbh + * @version V0.0.5 + * @date 27-March-2014 + * @brief + * + ****************************************************************************** + * @attention + * + * <h2><center>© COPYRIGHT(c) 2015 heinrichs weikamp</center></h2> + * + ****************************************************************************** + */ + + +#ifndef SCHEDULER_H +#define SCHEDULER_H + +#ifdef __cplusplus + extern "C" { +#endif + + +/* Includes ------------------------------------------------------------------*/ +#include "data_central.h" +#include "data_exchange.h" +#include "settings.h" + +/* Types -------------------------------------------------------------*/ +#define MAX_WIRELESS_BYTES 10 +#define SENSOR_PRESSURE_ID 0 +#define MAX_SENSORS 1 + +typedef struct +{ + uint8_t mode; + short conservatism; + short repetitive_dive; + long seconds_since_last_dive; + long no_fly_time_minutes; + uint8_t whichGas; + SGas aktualGas[2]; + float ceiling_from_main_CPU_mbar; + SLifeData lifeData; + SVpm vpm; + SSettings settings; + SDevice deviceData; + SDataExchangeSlaveToMasterDeviceData deviceDataSendToMaster; + SDataExchangeSlaveToMaster dataSendToMaster; + SDataReceiveFromMaster dataSendToSlave; + _Bool demo_mode; + uint8_t dataSendToSlaveIsValid; + uint8_t dataSendToSlavePending; + uint8_t dataSendToSlaveStopEval; + uint32_t sync_error_count; + uint32_t check_sync_not_running; + uint8_t ButtonResponsiveness[4]; + uint8_t chargerStatus; + uint8_t dataSendToSlaveIsNotValidCount; + uint8_t wirelessdata[MAX_WIRELESS_BYTES]; + uint8_t wirelessReceived; + uint8_t wirelessConfidenceStatus; + uint8_t ButtonPICdata[4]; + uint8_t accidentFlag; + uint32_t accidentRemainingSeconds; + uint8_t sensorError[MAX_SENSORS]; + uint8_t I2C_SystemStatus; +} SGlobal; + +typedef struct +{ + long seconds_since_last_dive; + long no_fly_time_minutes; +} SBackup; + +/* Variables ---------------------------------------------------------*/ +extern SGlobal global; + + +/* Function prototypes -----------------------------------------------*/ + +void initGlobals(void); + +void scheduleSurfaceMode(void); +void scheduleDiveMode(void); +void scheduleSleepMode(void); +void scheduleCompassCalibrationMode(void); +void scheduleTestMode(void); + +void scheduleUpdateLifeData(int32_t asynchron_milliseconds_since_last); +void scheduleSpecial_Evaluate_DataSendToSlave(void); +void scheduleUpdateDeviceDataChargerFull(void); +void scheduleUpdateDeviceDataChargerCharging(void); + +uint8_t scheduleSetButtonResponsiveness(void); + +void copyBatteryData(void); + +//void scheduleSurfaceMode_test(void); +//void scheduleSleepMode_test(void); + +#ifdef __cplusplus +} +#endif + +#endif /* SCHEDULER_H */ + +/************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/