#ifndef system_dumby_H #define system_dumby_H #include "stm32f10x.h" /* Declaration des Constantes */ #define VERSION "version 0.2\r" #define SPI 10 // #define USART 20 //¶ #define I2C 30 // #define TRUE 40 // ( #define FALSE 50 // 2 #define RUN 51 // 3 #define IDLE 52 //4 #define LOW 53 // 5 #define DISABLE 54 #define VOLTAGE 98 #define CURRENT 99 #define UNDEFINED 101 //CMDE #define PingCMD 'p' #define ResetCMD 'r' #define SetMotorCMD 'm' #define StartWWatchDogCMD 'W' #define ResetWatchdogCMD 'w' #define GetBatteryVoltageCMD 'v' #define GetVersionCMD 'V' #define StartWithoutWatchCMD 'u' #define MoveCMD 'M' #define TurnCMD 'T' #define BusyStateCMD 'b' #define SystemCoreClock 8000000 /** * Base de temps utilisé (en ms) * @TimeWatchDog Temps d'incrémentation d'un compteur watchdog * @WDCptReset Nombre de fois que le compteur doit s'incrémenter avant * @TimeBeforeReset Temps avant le reset total de l'appareil */ #define TIMER_1s 1000 // 1 sec #define TIMER_Watchdog 3050 // #define TTMER_Inactivity 120000 // 2 min #define RIGHT '>' #define LEFT '<' #define OK_ANS "O\r" #define ERR_ANS "E\r" #define UNKNOW_ANS "C\r" #define BAT_OK "2\r" #define BAT_LOW "1\r" #define BAT_EMPTY "0\r" #define COMMONSPEED 17 #define LOWSPEED 11 #define HYPERVITESSE 100 /* Declaration de structure */ /////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////// SETTINGS ///////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct Settings Settings; struct Settings { // Information uint16_t BatteryPurcentage; // Retourne le pourcentage de charge de la batterie uint16_t BatteryCurrent; // char StateSystem; // Etat de la MAE char AddOn; // Un AddOn a été détecté // Les instructions seront sur le protocol SPI char BatterieChecking; // On doit verifier 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; char busyState; int cpt_inactivity; char acquisition; char stateBattery; }; /* Declaration des variables systemes*/ extern uint16_t greenLight; extern uint16_t redLight; extern Settings Dumber; extern uint16_t asservissement; extern uint16_t regulation_vitesseD, regulation_vitesseG; extern uint16_t watchDogState; extern char etatLED; // Tout les 200 ms cette variable s'incrémente de 1 jusqu'à 5 extern char vClignotement1s; extern char LEDON; /* Prototype Fonctions */ void default_settings(void); void MAP_PinShutDown(void); void SysTick_Handler(void); void Configure_SysTick(void); void shutDown(void); #endif