1
0
Fork 0
mirror of https://github.com/RobotechLille/cdf2018-principal synced 2024-06-01 18:45:01 +02:00
cdf2018-principal/arduino/ACsignals.h
2018-02-14 18:27:04 +01:00

67 lines
1.1 KiB
C

/*
* Définition des signaux échagés entre l'Arduino et le chef
*/
#ifndef __ACSIGNALS_H_
#define __ACSIGNALS_H_
#define AC_BAUDRATE 9600UL
// Structures used everywhere
struct position {
float x;
float y;
float o;
};
// D: Direct
// Sens naturel : Envoi de donnée
// Sens inverse : Accusé de réception
// I: Indirect
// Sens inverse : Demande de donnée
// Sens naturel : Envoi de donnée
// T: Trigger
// Sens inverse : Paramètrage du trigger
// Sens naturel : Envoi de trigger
// Chef → Arduino
// Pour le debug
#define C2AD_PING 'P'
struct C2AD_PINGs {
};
// Arrête tous les actionneurs
#define C2AD_STOP 'S'
struct C2ADD_STOPs {
};
// Donne une destination
#define C2AD_GOTO 'G'
#define C2AD_GOTOs position
// Peut-être o à NaN ou autre valeur spécifique si indifférent
// Arduino → Chef
// Erreur quelconque
#define A2CD_ERR 'E'
struct A2CI_ERRs {
unsigned char code;
};
#define ERR_UNKNOWN_CODE 'C'
// Envoie les infos de debug
#define A2CI_DBG 'D'
struct A2CI_DBGs {
struct position actuel;
struct position destination;
unsigned char movement;
// ...
};
#endif