initial
This commit is contained in:
43
main/kartReciever.cpp
Normal file
43
main/kartReciever.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
#include "kartReciever.hpp"
|
||||
|
||||
#include <esp_now.h>
|
||||
#include <esp_wifi.h>
|
||||
|
||||
#include "WiFi.h"
|
||||
kartReceiver kart_receiver;
|
||||
static kart_msg rcv_msg;
|
||||
static void (*onReceiveCallback)(kart_msg *message) = nullptr;
|
||||
|
||||
static void OnDataRecv(const esp_now_recv_info_t *esp_now_info, const uint8_t *data, int data_len) {
|
||||
// todo rssi filtering
|
||||
memcpy(&rcv_msg, data, sizeof(kart_msg));
|
||||
// Serial.print("Bytes received: ");
|
||||
// Serial.println(data_len);
|
||||
if (onReceiveCallback) {
|
||||
onReceiveCallback(&rcv_msg);
|
||||
}
|
||||
}
|
||||
|
||||
void kartReceiver::init() {
|
||||
}
|
||||
bool kartReceiver::begin() {
|
||||
WiFi.disconnect();
|
||||
WiFi.mode(WIFI_STA);
|
||||
if (esp_now_init() != ESP_OK) {
|
||||
Serial.println("Error initializing ESP-NOW");
|
||||
return false;
|
||||
}
|
||||
esp_now_register_recv_cb(OnDataRecv);
|
||||
run_status = true;
|
||||
return true;
|
||||
}
|
||||
void kartReceiver::end() {
|
||||
esp_now_deinit();
|
||||
run_status = false;
|
||||
}
|
||||
bool kartReceiver::isBegin() {
|
||||
return run_status;
|
||||
}
|
||||
void kartReceiver::registerCallback(void (*onReceiveCallback_)(kart_msg *message)) {
|
||||
onReceiveCallback = onReceiveCallback_;
|
||||
}
|
||||
Reference in New Issue
Block a user