24#ifndef DETERMINISTICESPASYNCWEBSERVER_DSHOT_H
25#define DETERMINISTICESPASYNCWEBSERVER_DSHOT_H
36 static constexpr uint8_t DSHOT_CMD_MOTOR_STOP = 0;
37 static constexpr uint8_t DSHOT_CMD_BEACON1 = 1;
38 static constexpr uint8_t DSHOT_CMD_BEACON5 = 5;
39 static constexpr uint8_t DSHOT_CMD_ESC_INFO = 6;
40 static constexpr uint8_t DSHOT_CMD_SPIN_DIRECTION_1 = 7;
41 static constexpr uint8_t DSHOT_CMD_SPIN_DIRECTION_2 = 8;
42 static constexpr uint8_t DSHOT_CMD_3D_MODE_OFF = 9;
43 static constexpr uint8_t DSHOT_CMD_3D_MODE_ON = 10;
44 static constexpr uint8_t DSHOT_CMD_SETTINGS_REQUEST = 11;
45 static constexpr uint8_t DSHOT_CMD_SAVE_SETTINGS = 12;
48 static constexpr uint16_t DSHOT_THROTTLE_MIN = 48;
49 static constexpr uint16_t DSHOT_THROTTLE_MAX = 2047;
50 static constexpr uint16_t DSHOT_VALUE_MAX = 2047;
61uint16_t detws_dshot_encode(uint16_t value11,
bool telemetry,
bool bidirectional);
71bool detws_dshot_decode(uint16_t frame, uint16_t *value11,
bool *telemetry,
bool bidirectional);
80uint32_t detws_dshot_bit_ns(uint16_t rate_kbit,
bool bit);
83enum class DetwsEscPwm : uint8_t
98uint32_t detws_esc_pwm_ns(uint16_t throttle_1000, DetwsEscPwm mode);
User-facing configuration for DeterministicESPAsyncWebServer.