#ifndef APP_ESP8266_H
#define APP_ESP8266_H

#include <stdint.h>
#include "cmsis_os2.h"

#ifdef __cplusplus
extern "C" {
#endif

void ESP8266_RegisterTaskHandle(osThreadId_t tid);
void ESP8266_RxByteIRQ(uint8_t byte);
void ESP8266_RxErrorIRQ(void);
uint8_t ESP8266_Bringup(void);
void ESP8266_Service(void);
uint8_t ESP8266_IsTransparentReady(void);
uint8_t ESP8266_SendRaw(const uint8_t *data, uint16_t len, uint32_t timeout_ms);
uint16_t ESP8266_ReadRaw(uint8_t *data, uint16_t max_len);

#ifdef __cplusplus
}
#endif

#endif /* APP_ESP8266_H */
