SkyPulse UAV V0.1
Loading...
Searching...
No Matches
TCP.h
Go to the documentation of this file.
1#ifndef __TCP_H__
2#define __TCP_H__
3
4// Head file of Sockpp library -> https://github.com/fpagliughi/sockpp.git
5#include "sockpp/tcp_connector.h"
6#include "sockpp/version.h"
7#include "CppThread.hpp"
8#include "MahonyFilter.h"
9#include "BMP180.h"
10
11using namespace std;
12using namespace std::chrono;
13
14class TCP {
15
16public:
17
18 TCP(string host, in_port_t port);
19
20 bool write(string message_sent);
21
22 bool read();
23
24 void readDataFromFilter(float roll, float pitch, float yaw, float rate[3]);
25
26 void readDataFromBMP180(float altitude);
27
28 void readDataFromMotor(float Motor[4]);
29
30 // Merge all the data and flags into a string.
31 string mergeData();
32
33protected:
34
35 void connect(seconds timeout);
36
37 void waitForConnection(seconds timeout);
38
39private:
40
41 // TCP basic variables.
42 string s, sret;
43
44 string host;
45 in_port_t port;
46
47 sockpp::tcp_connector conn;
48
49 size_t receiveStringLength;
50
51 // Flags.
52 bool isMannedMode;
53 bool isInTheAir;
54
55 // Get from other classes.
56 // Eular angles data.
57 float roll;
58 float pitch;
59 float yaw;
60
61 // Throttle data.
62 float thro;
63
64 // Gyroscope rate date.
65 float rate[3];
66
67 // Altitude data.
68 float alt;
69
70 // Motor data
71 float Motor[4];
72
73 // IR distance.
74 float IRDistance[3];
75
76 // Ultrasound distance.
77 float USDistance;
78
79 // Battery status.
80 float vol;
81 float cur;
82
83
84};
85
86class TCPThread : public CppThread {
87
88public:
89
90 TCPThread(MahonyFilter& MahonyFilterIns_, TCP& TCPIns_, BMP180& BMP180Ins_) :
91 MahonyFilterIns(MahonyFilterIns_),
92 TCPIns(TCPIns_),
93 BMP180Ins(BMP180Ins_) {};
94
95protected:
96
97 void run() override;
98
99private:
100
101 MahonyFilter& MahonyFilterIns;
102 TCP& TCPIns;
103 BMP180& BMP180Ins;
104
105};
106
107
108#endif
Definition BMP180.h:18
Definition CppThread.hpp:20
Definition MahonyFilter.h:14
Definition Motor.h:13
Definition TCP.h:86
TCPThread(MahonyFilter &MahonyFilterIns_, TCP &TCPIns_, BMP180 &BMP180Ins_)
Definition TCP.h:90
void run() override
Definition TCPThread.cpp:17
TCP Server Class.
Definition TCP.h:14
bool write(string message_sent)
Definition TCP.cpp:36
void readDataFromBMP180(float altitude)
Definition TCP.cpp:86
void readDataFromMotor(float Motor[4])
Definition TCP.cpp:92
string mergeData()
void readDataFromFilter(float roll, float pitch, float yaw, float rate[3])
Definition TCP.cpp:72
void waitForConnection(seconds timeout)
Definition TCP.cpp:29
bool read()
Definition TCP.cpp:52
void connect(seconds timeout)
Definition TCP.cpp:21
TCP(string host, in_port_t port)
Definition TCP.cpp:7