Appearance
Version 1.1.16-alpha
DANGER
Version dysfonctionnelle
Note
Changement de la méthode de récupération des données en enregistrant la trame dans un tableau buffer[20]
.
Ajout d'une fonction pour lire les logs
c++
void logsPC(char hexdata, char dataps1, char dataps2, char dataps3)
Code
c++
#define led 2
// Buffer
int buffer[20];
// Data à enregistrer
char datap1 = "";
char datap2 = "";
char datap3 = "";
char dataPos = 1;
char incomingByte;
void setup() {
configset();
}
void loop() {
digitalWrite(led, LOW);
if (Serial3.available() > 0) {
incomingByte = Serial3.read();
// Check data
if (dataPos <= 4) {
if (dataPos == 4) {
dataPos = 1;
datap1 = "";
datap2 = "";
datap3 = "";
}
if (dataPos == 1) { datap1 = incomingByte; }
if (dataPos == 2) { datap2 = incomingByte; }
if (dataPos == 3) { datap3 = incomingByte; }
Serial.print("DATAPOS : ");
Serial.println(dataPos, HEX);
dataPos++;
}
logsPC(incomingByte, datap1, datap2, datap3);
}
delay(100);
}
// Configuration
void configset() {
// PC
Serial.begin(9600);
Serial.print(".");
// HMI
Serial3.begin(9600);
Serial.print(".");
pinMode(led, OUTPUT);
Serial.print(".");
// Fin chargement (ne pas supprimer)
delay(200);
Serial.println("Fin");
}
// Logs
void logsPC(char hexdata, char dataps1, char dataps2, char dataps3) {
// Serial.println(hexdata);
Serial.print("[HEX: ");
Serial.print(hexdata, HEX);
Serial.print("] [ASCII : ");
Serial.print(hexdata);
Serial.print("] [");
// Check début (0x53 = S) (0x54 = T) (0x3C = <)
if (hexdata == 0x53 || hexdata == 0x54 || hexdata == 0x3C) {
Serial.println("DEBUT]");
} else {
Serial.println("]");
}
// Afficher contenu des datapos
Serial.print(dataps1);
Serial.print(dataps2);
Serial.println(dataps3);
// Détecte début de trame
if(hexdata == 0x3C){
Serial.println("-> DEBUT DE TRAME");
}
// Détection fin de trame
if (hexdata == 0x3E) {
Serial.println("-> FIN DE TRAME");
}
digitalWrite(led, HIGH);
}