ITransport.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stdint.h>
4 #include <fstream>
5 
6 class ITransport
7 {
8 public:
9  struct Ack
10  {
11  Ack()
12  : ack(0)
13  , size(0)
14  {}
15 
16  uint8_t ack:1;
17  uint8_t powerDet:1;
18  uint8_t retry:4;
19  uint8_t data[32];
20 
21  uint8_t size;
22  }__attribute__((packed));
23 
24 public:
26  : m_enableLogging(false)
27  {
28  }
29 
30  virtual ~ITransport() {}
31 
32  virtual void sendPacket(
33  const uint8_t* data,
34  uint32_t length,
35  Ack& result) = 0;
36 
37  virtual void sendPacketNoAck(
38  const uint8_t* data,
39  uint32_t length) = 0;
40 
41 
42  void enableLogging(
43  bool enable);
44 
45 protected:
46  void logPacket(
47  const uint8_t* data,
48  uint32_t length);
49 
50  void logAck(
51  const Ack& ack);
52 
53 protected:
55  std::ofstream m_file;
56 };
virtual void sendPacketNoAck(const uint8_t *data, uint32_t length)=0
virtual void sendPacket(const uint8_t *data, uint32_t length, Ack &result)=0
uint8_t data[32]
Definition: ITransport.h:19
uint8_t length
Definition: crtp.h:22
void logPacket(const uint8_t *data, uint32_t length)
Definition: ITransport.cpp:14
virtual ~ITransport()
Definition: ITransport.h:30
bool m_enableLogging
Definition: ITransport.h:54
uint8_t size
Definition: ITransport.h:21
uint8_t retry
Definition: ITransport.h:18
uint8_t result
Definition: crtp.h:440
uint8_t powerDet
Definition: ITransport.h:17
void logAck(const Ack &ack)
Definition: ITransport.cpp:31
std::ofstream m_file
Definition: ITransport.h:55
void enableLogging(bool enable)
Definition: ITransport.cpp:3
struct ITransport::Ack __attribute__((packed))


crazyflie_cpp
Author(s): Wolfgang Hoenig
autogenerated on Mon Sep 28 2020 03:40:10