forked from JanekOstendorf/THOMAS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArduinoCom.h
52 lines (40 loc) · 1.17 KB
/
ArduinoCom.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
/*
-- ArduinoCom-KLASSE :: HEADER --
Definiert die ArduinoCom-Klasse.
Diese Klasse übernimmt die direkte Low-Level-Kommunikation mit dem Arduino für das Sensorsystem.
*/
/* INCLUDES */
#include <iostream>
/* KONSTANTEN */
// BYTE-Typ.
#define BYTE char
#define UBYTE unsigned char
/* KLASSE */
namespace THOMAS
{
class ArduinoCom
{
private:
// Das interne USB-Handle.
int _handle;
// Das Buffer Array: Bearbeiten für größere Daten, die der Arduino sendet
UBYTE *buffer;
public:
// Konstruktor.
// Stellt die Verbindung mit dem Arduino her.
ArduinoCom();
// Destruktor.
// Trennt die Verbindung mit dem Arduino.
~ArduinoCom();
// Sendet die übergebenen UBYTEs an den USB-Port und gibt bei Erfolg true zurück, bei Fehlern false.
// Parameter:
// -> package: Die zu übergebenden Parameter.
void Send(UBYTE *package, unsigned char packageLength);
// Empfängt die UBYTES aus dem USB Port und gibt die Daten zurück
UBYTE* Receive();
// Eine Hilfsfunktion zum Abrufen der Rückgabe eines Befehles (Wird z.B. zum Ermitteln der SSID benötigt.)
// TODO: In eine eigene Utils-Klasse verschieben
std::string Exec(std::string cmd);
};
}