ESP32-Mesh-OTA/main/Blinky_LED.h

50 lines
1.1 KiB
C
Raw Normal View History

2021-01-21 00:01:27 +01:00
/**
* @file Blinky_LED.h
* @brief Demo application using the mesh network
* @author Hendrik Schutter
* @date 20.01.2021
*
* Additional Infos: If button "BOOT" on ESP32-Module is pressed, all LED2 (blue) in the network will toggle the state.
*/
2021-01-16 00:23:02 +01:00
#ifndef H_BLINKY_LED
#define H_BLINKY_LED
#include <string.h>
#include "esp_wifi.h"
#include "esp_system.h"
#include "esp_log.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "Mesh_OTA.h"
2021-01-16 18:23:10 +01:00
#define GPIO_BOOT_BTN 0 //GPIO0 (Boot BTN)
#define GPIO_LED 2 //GPIO2 (internal blue LED in DevKit V1.0)
#define GPIO_INPUT_PIN_SEL (1ULL<<GPIO_BOOT_BTN)
struct blinky_packet
{
enum blinky_packet_type
{
LED_OFF,
LED_ON,
} type;
mesh_addr_t meshSenderAddr; //stores addr of sender of this packet
2021-01-16 00:23:02 +01:00
};
2021-01-16 18:23:10 +01:00
typedef struct blinky_packet BLINKY_PACKET_t;
2021-01-16 00:23:02 +01:00
2021-01-21 00:01:27 +01:00
esp_err_t errBlinkyLEDInitialize(void);
void vGPIOInitialize(void);
2021-01-20 22:39:18 +01:00
void rxHandle(const uint8_t* const pu8Data, const uint8_t* const pu8Sender);
2021-01-16 00:23:02 +01:00
void vTaskReadUserInput(void *arg);
void vTaskReceiveData(void *arg);
#endif /* H_BLINKY_LED */
2021-01-16 18:23:10 +01:00