Loading...
Searching...
No Matches
ESPNOW_manager.h
Go to the documentation of this file.
1#ifndef ESPNOW_manager_H
2#define ESPNOW_manager_H
3
4#include <linux/filter.h>
5
8
9
11 public:
12 ESPNOW_manager() : LINK_manager(&myWiFipacket) {}
13
14 ESPNOW_manager(const std::string& interface) : LINK_manager(&myWiFipacket, interface) {}
15
16 ESPNOW_manager(const std::string& interface, uint8_t datarate, uint16_t channel_freq, uint8_t src_mac[6], uint8_t dst_mac[6], bool filterOn)
17 : LINK_manager(&myWiFipacket, interface) {
22
23 bpf.filter = NULL;
24 bpf.len = 0;
25
26 if(filterOn) {
28 } else {
29 set_filter(NULL, NULL);
30 }
31 }
33
34 void set_filter(uint8_t *src_mac, uint8_t *dst_mac);
35 void unset_filter();
36 void bind_filter();
37 void stop() override;
38
39 void set_channel(uint16_t channel_freq) { myWiFipacket.set_channel(channel_freq); }
40 uint16_t get_channel() { return myWiFipacket.data.radiotap.channel_freq; }
41 void set_datarate(uint8_t datarate) { myWiFipacket.set_datarate(datarate); }
42
43
44 private:
45 struct sock_fprog bpf;
46
47 ESPNOW_packet myWiFipacket;
48
49};
50
51
52
53#endif
uint16_t channel_freq
Definition ESPNOW_types.h:6
uint8_t datarate
Definition ESPNOW_types.h:5
uint8_t dst_mac[6]
Definition ETHERNET_types.h:0
uint8_t src_mac[6]
Definition ETHERNET_types.h:1
Definition ESPNOW_manager.h:10
ESPNOW_manager(const std::string &interface)
Definition ESPNOW_manager.h:14
void stop() override
Definition ESPNOW_manager.cpp:110
uint16_t get_channel()
Definition ESPNOW_manager.h:40
~ESPNOW_manager()
Definition ESPNOW_manager.cpp:116
void unset_filter()
Definition ESPNOW_manager.cpp:14
void set_datarate(uint8_t datarate)
Definition ESPNOW_manager.h:41
void set_channel(uint16_t channel_freq)
Definition ESPNOW_manager.h:39
void set_filter(uint8_t *src_mac, uint8_t *dst_mac)
Definition ESPNOW_manager.cpp:22
ESPNOW_manager()
Definition ESPNOW_manager.h:12
ESPNOW_manager(const std::string &interface, uint8_t datarate, uint16_t channel_freq, uint8_t src_mac[6], uint8_t dst_mac[6], bool filterOn)
Definition ESPNOW_manager.h:16
void bind_filter()
Definition ESPNOW_manager.cpp:98
struct IEEE80211_radiotap radiotap
Definition ESPNOW_types.h:126
Definition ESPNOW_types.h:131
void set_channel(uint16_t channel_freq)
Definition ESPNOW_types.cpp:6
void set_datarate(uint8_t datarate)
Definition ESPNOW_types.cpp:10
struct ESPNOW_data data
Definition ESPNOW_types.h:132
uint16_t channel_freq
Definition ESPNOW_types.h:48