63 lines
1.3 KiB
C
63 lines
1.3 KiB
C
#include "system/lwesp_ll.h"
|
|
|
|
#include "lwesp/lwesp.h"
|
|
#include "lwesp/lwesp_input.h"
|
|
#include "lwesp/lwesp_mem.h"
|
|
#include "stm32h7xx_hal.h"
|
|
|
|
#include "cmsis_os.h"
|
|
|
|
#define UART_TIMEOUT 1000
|
|
#define HEAP_SIZE 4096
|
|
|
|
extern UART_HandleTypeDef huart1;
|
|
static uint8_t s_lwesp_heap[HEAP_SIZE];
|
|
static uint8_t s_initialized;
|
|
|
|
static osThreadId_t usart_ll_thread_id;
|
|
static osMessageQueueId_t usart_ll_mbox_id;
|
|
|
|
static void usart_ll_thread(void *arg) {
|
|
for (;;) {
|
|
}
|
|
}
|
|
|
|
static void configure_uart(uint32_t baudrate) {
|
|
//
|
|
}
|
|
|
|
static size_t send_data(const void *data, size_t len) {
|
|
HAL_UART_Transmit(&huart1, (uint8_t *)data, len, 1000);
|
|
|
|
return len;
|
|
}
|
|
|
|
lwespr_t lwesp_ll_init(lwesp_ll_t *ll) {
|
|
lwesp_mem_region_t mem_regions[] = {{s_lwesp_heap, HEAP_SIZE}};
|
|
|
|
if (!s_initialized) {
|
|
lwesp_mem_assignmemory(mem_regions, LWESP_ARRAYSIZE(mem_regions));
|
|
|
|
ll->send_fn = send_data;
|
|
}
|
|
|
|
configure_uart(ll->uart.baudrate);
|
|
|
|
if(!s_initialized) {
|
|
const osThreadAttr_t attr = {
|
|
.stack_size = 1024
|
|
};
|
|
|
|
usart_ll_mbox_id = osMessageQueueNew(10, sizeof(void *), NULL);
|
|
usart_ll_thread_id = osThreadNew(usart_ll_thread, usart_ll_mbox_id, &attr);
|
|
}
|
|
|
|
s_initialized = 1;
|
|
|
|
return lwespOK;
|
|
}
|
|
|
|
lwespr_t lwesp_ll_deinit(lwesp_ll_t *ll) {
|
|
//
|
|
return lwespOK;
|
|
} |