3#include <libtock-sync/services/alarm.h>
4#include <libtock/peripherals/gpio.h>
7#include "../proto/controller.pb.h"
10static const uint8_t esp32_wakeup_pin = 1;
12static const uint8_t esp32_reset_pin = 6;
15 const size_t buffer_size = Esp32Command_size;
20 tx->
data = (uint8_t*)malloc(buffer_size);
21 tx->
size = buffer_size;
27 rx->
data = (uint8_t*)malloc(buffer_size);
28 rx->
size = buffer_size;
32 libtock_gpio_clear(esp32_wakeup_pin);
33 libtock_gpio_enable_output(esp32_wakeup_pin);
37 libtock_gpio_set(esp32_reset_pin);
38 libtock_gpio_enable_output(esp32_reset_pin);
57 libtock_gpio_disable(esp32_wakeup_pin);
61 libtock_gpio_set(esp32_wakeup_pin);
63 libtocksync_alarm_delay_ms(50);
65 libtock_gpio_clear(esp32_wakeup_pin);
67 libtocksync_alarm_delay_ms(50);
71 const int off_delay_ms = 100;
72 const int on_delay_ms = 500;
75 libtock_gpio_clear(esp32_reset_pin);
76 libtock_gpio_enable_output(esp32_reset_pin);
77 libtocksync_alarm_delay_ms(off_delay_ms);
78 libtock_gpio_set(esp32_reset_pin);
79 libtocksync_alarm_delay_ms(on_delay_ms);
Buffer * ControllerTx(void)
Get reference to transmit buffer.
Buffer * ControllerRx(void)
Get reference to receive buffer.
Communication interface for the controller.
Controller module for stm32.
void ControllerDeviceReset(void)
Resets the controller interface.
void ControllerDeinit(void)
Shared deinitialize for all esp32 modules.
void ControllerWakeup(void)
Trigger esp32 wakeup pin.
void ControllerInit(void)
Shared initialization for all esp32 modules.