29#ifndef DETERMINISTICESPASYNCWEBSERVER_THREAD_H
30#define DETERMINISTICESPASYNCWEBSERVER_THREAD_H
34#if DETWS_ENABLE_THREAD
42 static constexpr uint8_t HDLC_FLAG = 0x7E;
43 static constexpr uint8_t HDLC_ESCAPE = 0x7D;
49 static constexpr uint8_t SPINEL_CMD_NOOP = 0;
50 static constexpr uint8_t SPINEL_CMD_RESET = 1;
51 static constexpr uint8_t SPINEL_CMD_PROP_VALUE_GET = 2;
52 static constexpr uint8_t SPINEL_CMD_PROP_VALUE_SET = 3;
53 static constexpr uint8_t SPINEL_CMD_PROP_VALUE_INSERT = 4;
54 static constexpr uint8_t SPINEL_CMD_PROP_VALUE_REMOVE = 5;
55 static constexpr uint8_t SPINEL_CMD_PROP_VALUE_IS = 6;
59uint16_t spinel_fcs(
const uint8_t *buf, uint16_t len);
68uint8_t spinel_pack_uint(uint32_t value, uint8_t *out, uint8_t cap);
75int spinel_unpack_uint(
const uint8_t *raw, uint8_t len, uint32_t *value);
82uint16_t spinel_command_build(uint8_t header, uint32_t cmd, uint32_t prop,
const uint8_t *value, uint16_t value_len,
83 uint8_t *out, uint16_t cap);
94int spinel_command_parse(
const uint8_t *payload, uint16_t len, uint8_t *header, uint32_t *cmd, uint32_t *prop,
95 const uint8_t **value, uint16_t *value_len);
102uint16_t spinel_frame_encode(
const uint8_t *payload, uint16_t len, uint8_t *out, uint16_t cap);
112int spinel_frame_decode(
const uint8_t *raw, uint16_t len, uint8_t *payload, uint16_t pay_cap, uint16_t *pay_len);
User-facing configuration for DeterministicESPAsyncWebServer.