Mercurial > public > ostc4
view Small_CPU/Inc/scheduler.h @ 200:7116c0ffb862
Merged in janlmulder/ostc4/div-fixes-cleaup-2 (pull request #8)
2 (simple) bugfixes and again some cleanup
author | heinrichsweikamp <bitbucket@heinrichsweikamp.com> |
---|---|
date | Fri, 22 Mar 2019 08:15:30 +0000 |
parents | 331882a89421 |
children | b95741467355 |
line wrap: on
line source
/** ****************************************************************************** * @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 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 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; typedef struct { uint8_t counterSPIdata100msec; uint8_t counterPressure100msec; uint8_t counterCompass100msec; uint8_t counterAmbientLight100msec; uint32_t tickstart; } SScheduleCtrl; /* Variables ---------------------------------------------------------*/ extern SGlobal global; extern uint8_t dohardspisync; /* 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****/