123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /**
- ******************************************************************************
- * @file system_dumby.h
- * @author Lucien Senaneuch
- * @version V1.0
- * @date 19-June-2017
- * @brief Configure les variables globals, les timers necessaires.
- *
- * Configure la pin de shutdown.
- * Initialise le systick.
- * Initialise les valeurs de shutdown avec le watchdog.
- * Initialise les variables global des commandes.
- * Initialise la strucutre Settings contenant les paramètres de dumber.
- *
- *@note Les différentes commande sont :
- * PingCMD 'p'
- * ResetCMD 'r'
- * SetMotorCMD 'm'
- * StartWWatchDogCMD 'W'
- * ResetWatchdogCMD 'w'
- * GetBatteryVoltageCMD 'v'
- * GetVersionCMD 'V'
- * StartWithoutWatchCMD 'u'
- * MoveCMD 'M'
- * TurnCMD 'T'
- * BusyStateCMD 'b'
- ******************************************************************************
- ******************************************************************************
- */
- #ifndef _SYSTEM_DUMBY_H_
- #define _SYSTEM_DUMBY_H_
-
- #include "stm32f10x.h"
-
- /* Déclaration des Constantes */
- #define VERSION "version 1.3\r"
-
- #define SPI 10
- #define USART 20
- #define I2C 30
-
- #define TRUE 40
- #define FALSE 50
-
- #define VOLTAGE 98
- #define CURRENT 99
-
- #define UNDEFINED 101
-
- #define TIMER_1s 1000 // 1 sec
- #define TIMER_Watchdog 3050 //
- #define TTMER_Inactivity 120000 // 2 min
-
- #define WATCHDOG_MIN 970
- #define WATCHDOG_MAX 1030
- #define WATCHDOG_INVALID_COUNTER_MAX 3
-
- #define COMMONSPEED 5
- #define LOWSPEED 2
- #define HYPERVITESSE 7
-
- /* Déclaration de structure */
-
- enum States {
- STATE_IDLE = 0,
- STATE_RUN,
- STATE_LOW,
- STATE_DISABLE,
- STATE_WATCHDOG_DISABLE
- };
- typedef enum States States;
-
- struct Settings
- {
- // Information
- uint16_t BatteryPercentage; // Retourne le pourcentage de charge de la batterie
- uint16_t BatteryCurrent; //
- States StateSystem; // État de la MAE
- char AddOn; // Un AddOn a été détecté
- // Les instructions seront sur le protocole SPI
- char BatterieChecking; // On doit vérifier la valeur de la batterie
- uint16_t cpt_systick;
- char WatchDogStartEnable; // Le Robot a été lancé en mode WithWatchDog ou WithoutWatchDog
- uint16_t cpt_watchdog;
- uint8_t InvalidWatchdogResetCpt; // Compteur de remise à zéro du watchdog en dehors du temps imparti
- char busyState;
- int cpt_inactivity;
- char acquisition;
- char stateBattery;
- char flagSystick;
- };
-
- typedef struct Settings Settings;
-
- /* Déclaration des variables systèmes */
- extern Settings Dumber;
-
- /* Prototype Fonctions */
- void systemConfigure(void);
- void systemChangeState(States state);
- char systemResetWatchdog(void);
- void systemShutDown(void);
-
- #endif /* _SYSTEM_DUMBY_H_ */
-
-
|