| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #include "Comunication.h"
- #include "spi.h"
- #include "Tab.h"
- #include "PWM.h"
- uint8_t Com_dispactch(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 (WRITEVAL):
- Com_WriteVal(mes);
- return 0;
- case (STOP):
- Com_STOP(mes);
- return 0;
- case (RETABLIR):
- Com_Retablir(mes);
- return 0;
- default:
- return -1;//erreur
- }
- }
- void Com_WriteTabHeure(uint8_t* mes){
- int i = mes[0] & MASKID;
- Heure h;
- h.heure=mes[1];
- h.minute=mes[2];
- if ((mes[0]&MASKTYPE)>>4)
- tabSortie[i].Demmarage=h;
- else
- tabSortie[i].Extinxtion=h;
- uint16_t add = (mes[0]*2)-2; //On ecrit la valeurs que l'on viens de modifier dans l'eeprom. Adresse dans l'eeprom = mes[0]*2-2 voir Tableau excel address
- writeData(add,&mes[1],2);
- }
- void Com_WriteTabVal(uint8_t* mes){
- int i = mes[0] & MASKID;
- if ((mes[0]&MASKTYPE)>>4)
- tabSortie[i].PuissanceMax=mes[1];
- else
- tabSortie[i].Pente=mes[1];
- uint16_t add = (mes[0]*2)+22;//On ecrit la valeurs que l'on viens de modifier dans l'eeprom. Adresse dans l'eeprom = mes[0]*2+22 voir Tableau excel address
- writeData(add,&mes[1],1);
- }
- void Com_ReadVent(uint8_t* mes){
- //TODO Rajout plus tard si ventilation sur la rampe
- }
- void Com_WriteVent(uint8_t* mes){
- //TODO Rajout plus tard si ventilation sur la rampe
- }
- void Com_ERROR(uint8_t* mes){
- //TODO
- }
- void Com_WriteVal(uint8_t* mes){
- int i = mes[0] & 0x0F;
- PWMSetDutyCycle(i,tabSortie[i].Fonctionement-1);
- PWMStart(i);
- tabSortie[i].Fonctionement=1;
- }
- void Com_STOP(uint8_t* mes){
- for (int i = 0; i<10; i++){
- PWMSetDutyCycle(i,0);
- PWMStart(i);
- tabSortie[i].Fonctionement=1;
- }
- }
- void Com_Retablir(uint8_t* mes){
- for (int i = 0; i<10; i++)
- tabSortie[i].Fonctionement=0;
- }
|