Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/HAL/Include/nanoHAL_v2.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ typedef enum SLEEP_LEVEL
// keep in sync with nanoFramework.Hardware.Esp32.EspNow.EspNowController
#define EVENT_ESP32_ESPNOW 140


#define PAL_EVENT_TOUCH 0x1
#define PAL_EVENT_KEY 0x2
#define PAL_EVENT_MOUSE 0x4
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//-----------------------------------------------------------------------------
//
// ** WARNING! **
// ** WARNING! **
// This file was generated automatically by a tool.
// Re-running the tool will overwrite this file.
// You should copy this file to a custom location
Expand All @@ -24,38 +24,45 @@

//#define DEBUG_ESPNOW 1

#define DEBUG_FENTER() DEBUG_WRITELINE("entry")
#define DEBUG_FEXIT() DEBUG_WRITELINE("exit")
#define DEBUG_FENTER() DEBUG_WRITELINE("entry")
#define DEBUG_FEXIT() DEBUG_WRITELINE("exit")
#define DEBUG_FEXIT_RET(v) DEBUG_WRITELINE("return: %d", v)

#if defined(DEBUG_ESPNOW)
#define DEBUG_WRITELINE(...) \
{ \
char temporaryStringBuffer1[64]; \
snprintf(temporaryStringBuffer1, sizeof(temporaryStringBuffer1), __VA_ARGS__); \
char temporaryStringBuffer2[128]; \
int realStringSize=snprintf(temporaryStringBuffer2, sizeof(temporaryStringBuffer2), "\r\n[%s] %s\r\n", __func__, temporaryStringBuffer1); \
CLR_EE_DBG_EVENT_BROADCAST( CLR_DBG_Commands_c_Monitor_Message, realStringSize, temporaryStringBuffer2, WP_Flags_c_NonCritical | WP_Flags_c_NoCaching ); \
#define DEBUG_WRITELINE(...) \
{ \
char temporaryStringBuffer1[64]; \
snprintf(temporaryStringBuffer1, sizeof(temporaryStringBuffer1), __VA_ARGS__); \
char temporaryStringBuffer2[128]; \
int realStringSize = snprintf( \
temporaryStringBuffer2, \
sizeof(temporaryStringBuffer2), \
"\r\n[%s] %s\r\n", \
__func__, \
temporaryStringBuffer1); \
CLR_EE_DBG_EVENT_BROADCAST( \
CLR_DBG_Commands_c_Monitor_Message, \
realStringSize, \
temporaryStringBuffer2, \
WP_Flags_c_NonCritical | WP_Flags_c_NoCaching); \
}

#else
#define DEBUG_WRITELINE(...) ;
#else
#define DEBUG_WRITELINE(...) ;
#endif


#define EVENT_ESP32_ESPNOW_DATASENT 1
#define EVENT_ESP32_ESPNOW_DATARECV 2


struct EspNowDataSentEventData
{
uint8_t peer_mac[ESP_NOW_ETH_ALEN];
uint8_t peer_mac[ESP_NOW_ETH_ALEN];
esp_now_send_status_t status;
};

struct EspNowDataRecvEventData
{
uint8_t peer_mac[ESP_NOW_ETH_ALEN];
uint8_t peer_mac[ESP_NOW_ETH_ALEN];
uint8_t data[ESP_NOW_MAX_DATA_LEN];
int dataLen;
};
Expand All @@ -67,7 +74,6 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static const int FIELD__DataLen = 3;

//--//

};

struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_DataRecvEventInternal
Expand All @@ -77,7 +83,6 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static const int FIELD__DataLen = 5;

//--//

};

struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_DataSentEventArgs
Expand All @@ -86,7 +91,6 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static const int FIELD__Status = 2;

//--//

};

struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_DataSentEventInternal
Expand All @@ -95,7 +99,6 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static const int FIELD__Status = 4;

//--//

};

struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController
Expand All @@ -117,11 +120,11 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static EspNowDataRecvEventData dataRecvEventData;

static void DataSentCb(const uint8_t *mac_addr, esp_now_send_status_t status);
static void DataRecvCb(const uint8_t * mac, const uint8_t *incomingData, int len);
static void DataRecvCb(const uint8_t *mac, const uint8_t *incomingData, int len);
};


struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController__EspNowEventHandler
struct
Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController__EspNowEventHandler
{
static const int FIELD__controllerInstance = 1;

Expand All @@ -132,18 +135,15 @@ struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware
static HRESULT CopyByteArrayToCLRArray(CLR_RT_HeapBlock &target, uint8_t *src, CLR_UINT32 length);
static HRESULT ProcessEvent_DataSent(CLR_RT_StackFrame &stack);
static HRESULT ProcessEvent_DataRecv(CLR_RT_StackFrame &stack);

};


struct Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowException
{
static const int FIELD__esp_err = 5;

//--//

};

extern const CLR_RT_NativeAssemblyData g_CLR_AssemblyNative_nanoFramework_Hardware_Esp32_EspNow;

#endif //_NANOFRAMEWORK_HARDWARE_ESP32_ESPNOW_NATIVE_H_
#endif //_NANOFRAMEWORK_HARDWARE_ESP32_ESPNOW_NATIVE_H_
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,15 @@

#include "nanoFramework_hardware_esp32_espnow_native.h"

EspNowDataSentEventData Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
dataSentEventData;
EspNowDataRecvEventData Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
dataRecvEventData;

EspNowDataSentEventData
Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
dataSentEventData;
EspNowDataRecvEventData
Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
dataRecvEventData;

void Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
DataSentCb(const uint8_t *mac_addr, esp_now_send_status_t status)
DataSentCb(const uint8_t *mac_addr, esp_now_send_status_t status)
{
DEBUG_FENTER();

Expand All @@ -36,7 +37,7 @@ void Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_E
}

void Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
DataRecvCb(const uint8_t * mac_addr, const uint8_t *incomingData, int len)
DataRecvCb(const uint8_t *mac_addr, const uint8_t *incomingData, int len)
{
DEBUG_FENTER();

Expand All @@ -54,7 +55,7 @@ void Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_E
}

HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
NativeInitialize___I4( CLR_RT_StackFrame &stack )
NativeInitialize___I4(CLR_RT_StackFrame &stack)
{
NANOCLR_HEADER();

Expand Down Expand Up @@ -88,7 +89,7 @@ HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardwar
}

HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
NativeDispose___VOID__BOOLEAN( CLR_RT_StackFrame &stack )
NativeDispose___VOID__BOOLEAN(CLR_RT_StackFrame &stack)
{
NANOCLR_HEADER();

Expand All @@ -103,7 +104,6 @@ HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardwar
NANOCLR_NOCLEANUP_NOLABEL();
}


HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardware_Esp32_EspNow_EspNowController::
NativeEspNowSend___I4__SZARRAY_U1__SZARRAY_U1__I4(CLR_RT_StackFrame &stack)
{
Expand All @@ -121,7 +121,16 @@ HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardwar

int32_t dataLen = stack.Arg3().NumericByRef().s4;

DEBUG_WRITELINE("sending %d: bytes to peer mac: %x:%x:%x:%x:%x:%x, data[0]: %x", dataLen, peerMac[0], peerMac[1], peerMac[2], peerMac[3], peerMac[4], peerMac[5], data[0]);
DEBUG_WRITELINE(
"sending %d: bytes to peer mac: %x:%x:%x:%x:%x:%x, data[0]: %x",
dataLen,
peerMac[0],
peerMac[1],
peerMac[2],
peerMac[3],
peerMac[4],
peerMac[5],
data[0]);

ret = esp_now_send((const uint8_t *)peerMac, (const uint8_t *)data, dataLen);

Expand All @@ -147,13 +156,21 @@ HRESULT Library_nanoFramework_hardware_esp32_espnow_native_nanoFramework_Hardwar
uint8_t channel = (uint8_t)stack.Arg2().NumericByRef().u1;

esp_now_peer_info_t peerInfo;
memset((void*)&peerInfo, 0, sizeof(peerInfo));
memset((void *)&peerInfo, 0, sizeof(peerInfo));
memcpy(peerInfo.peer_addr, peerMac, ESP_NOW_ETH_ALEN);
peerInfo.ifidx = WIFI_IF_STA;
peerInfo.channel = channel;
peerInfo.encrypt = false;

DEBUG_WRITELINE("add_peer, mac: %x:%x:%x:%x:%x:%x, ch: %d", peerMac[0], peerMac[1], peerMac[2], peerMac[3], peerMac[4], peerMac[5], channel);
DEBUG_WRITELINE(
"add_peer, mac: %x:%x:%x:%x:%x:%x, ch: %d",
peerMac[0],
peerMac[1],
peerMac[2],
peerMac[3],
peerMac[4],
peerMac[5],
channel);

ret = esp_now_add_peer(&peerInfo);

Expand Down
Loading