| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #include "Comunication.h"
- #include "Tab.h"
- #include "PWM.h"
- #include "usart.h"
- #include <Heure.h>
- void Sync(){
- uint8_t mes = 0xF0;
- HAL_UART_Transmit(&huart6,&mes,1,1000);
- }
- uint8_t parse(uint8_t* mes){
- switch(mes[0] & MASKMES){
- case (WRITETABHEU):
- Com_WriteTabHeure(mes);
- return 0;
- case (WRITETABVAL):
- Com_WriteTabVal(mes);
- return 0;
- case (READVENT):
- Com_ReadVent(mes);
- return 0;
- case (WRITVENT):
- Com_WriteVent(mes);
- return 0;
- /* case (ERRORCOM):
- Com_ERROR(mes);
- return 0;*/
- case (WRITEVALESS):
- Com_WriteValEsai(mes);
- return 0;
- case (STOP):
- Com_STOP(mes);
- return 0;
- case (ESSAI):
- Com_ESSAI(mes);
- return 0;
- case (SYNCRTC):
- Com_SyncRTC(mes);
- return 0;
- default:
- return -1;//erreur
- }
- }
- void ReadMes(FIFO_COM *f,uint8_t* mes){
- uint8_t first = readFirst(f) & MASKMES;
- if (first == STOP|first == ESSAI|first == READVENT|first == WRITVENT)
- readFifo(f,mes,1);
- else if(first == WRITETABVAL|first == WRITEVALESS)
- readFifo(f,mes,2);
- else if(first == WRITETABHEU)
- readFifo(f,mes,3);
- else if (first == SYNCRTC)
- readFifo(f,mes,8);
- else
- while(1); // todo Erreur Synchro entre dans la fifo
- }
- void Com_WriteTabHeure(uint8_t* mes){
- uint8_t id = mes[0]&MASKID;
- uint16_t h = mes[1]*60 + mes[2];
- if ((mes[0]&MASKTYPE)>>3)
- tabSortie[id].Extinxtion = h;
- else
- tabSortie[id].Demmarage = h;
- }
- void Com_WriteTabVal(uint8_t* mes){
- uint8_t id = mes[0]&MASKID;
- if ((mes[0] & MASKTYPE )>>3)
- tabSortie[id].Pente=mes[1];
- else
- tabSortie[id].PuissanceMax=mes[1];
- }
- void Com_ReadVent(uint8_t* mes){
- }
- void Com_WriteVent(uint8_t* mes){
- }
- void Com_WriteValEsai(uint8_t* mes){
- uint8_t id = mes[0]&MASKID;
- tabSortie[id].PuissanceEssai = mes[1];
- }
- void Com_STOP(uint8_t* mes){
- gl_Stop = mes[0]&MASKON;
- }
- void Com_ESSAI(uint8_t* mes){
- gl_Essai = mes[0]&MASKON;
- }
- void Com_SyncRTC(uint8_t* mes){
- Date date;
- date.annee=mes[1];
- date.mois=mes[2];
- date.jour=mes[3];
- date.joursemaine=mes[4];
- date.heure=mes[5];
- date.minute=mes[6];
- date.second=mes[7];
- writeDate(&date);
- }
|