mirror of
https://github.com/modelec/connectors.git
synced 2026-01-18 16:57:21 +01:00
feur4
This commit is contained in:
69
main.cpp
69
main.cpp
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user