This commit is contained in:
bap
2024-03-28 17:35:40 +01:00
parent 5dde627c3f
commit 7fca10fe0e
2 changed files with 57 additions and 16 deletions

View File

@@ -1,28 +1,65 @@
#include "main.h"
#include <iostream>
#include <time.h>
#include "serialib.h"
#define SERIAL_PORT "/dev/ttyACM0"
#define MAX_MESSAGE_LEN 64
#define BAUDS 115200 //vitesse des données (bit/sec)
#define TIME_OUT 2000
using namespace std;
void read_from_arduino(char * message_output){
serialib serial;
char errorOpening = serial.openDevice(SERIAL_PORT, BAUDS);
if (errorOpening!=1) exit(errorOpening);
serial.readString(message_output, '\n', MAX_MESSAGE_LEN, TIME_OUT);
serial.closeDevice();
void my_delay(int i) /*Pause l'application pour i seconds*/
{
clock_t start,end;
start=clock();
while(((end=clock())-start)<=i*CLOCKS_PER_SEC);
}
void write_2_arduino(char* message){
void read_from_arduino(serialib* serial, char * message_output, int nbLines2Rcv){
strncpy(message_output, "", strlen(message_output));
char buffer[MAX_MESSAGE_LEN+1] = {0};
while(nbLines2Rcv-- != 0){
serial->readString(buffer, '\n', MAX_MESSAGE_LEN, TIME_OUT);
strcat(message_output, buffer);
strncpy(buffer, "", strlen(buffer));
}
}
void write_2_arduino(serialib* serial, char* message){
char myString[MAX_MESSAGE_LEN] = {0};
strcpy(myString, message);
myString[strlen(myString)] = '\n';
serial->writeString(myString);
}
serialib init_serial(){
serialib serial;
char errorOpening = serial.openDevice(SERIAL_PORT, BAUDS);
if (errorOpening!=1) exit(errorOpening);
serial.writeString(message);
serial.closeDevice();
return serial;
}
int main() {
char buffer[MAX_MESSAGE_LEN];
cout << "Message to send: ";
cin >> buffer;
write_2_arduino(buffer);
read_from_arduino(buffer);
cout << buffer;
char buffer[MAX_MESSAGE_LEN] = {0};
int nbLines = 2;
serialib serial = init_serial();
while (1){
cout << ">> ";
cin >> buffer;
write_2_arduino(&serial, buffer);
read_from_arduino(&serial, buffer, nbLines);
cout << buffer << endl;
//my_delay(nbLines*TIME_OUT);
}/*
write_2_arduino(&serial, "S 1500 500 0");
read_from_arduino(&serial, buffer, nbLines);
cout << buffer << endl;
write_2_arduino(&serial, "V 200");
read_from_arduino(&serial, buffer, nbLines);
cout << buffer << endl;
write_2_arduino(&serial, "G 500 1000");
read_from_arduino(&serial, buffer, nbLines);
cout << buffer << endl;*/
serial.closeDevice();
return 0;
}

4
main.h
View File

@@ -11,4 +11,8 @@
using namespace std;
void read_from_arduino(char * message_output);
void write_2_arduino(char* message);
#endif