26#ifndef PROTOCORE_LD2410_H
27#define PROTOCORE_LD2410_H
31#if PROTOCORE_ENABLE_LD2410
39#define LD2410_MAX_GATES 9
41#define LD2410_FRAME_MAX 72
43#define LD2410_STATE_NONE 0x00
45#define LD2410_STATE_MOVING 0x01
47#define LD2410_STATE_STATIC 0x02
49#define LD2410_STATE_BOTH 0x03
57 uint8_t moving_energy;
59 uint8_t static_energy;
62 uint8_t max_moving_gate;
63 uint8_t max_static_gate;
64 uint8_t moving_gate_energy[LD2410_MAX_GATES];
65 uint8_t static_gate_energy[LD2410_MAX_GATES];
73 uint8_t buf[LD2410_FRAME_MAX];
85 const uint8_t *payload;
95} Ld2410ParseReportArgs;
101} Ld2410StreamResetArgs;
109} Ld2410StreamPushArgs;
114 const Ld2410Report *r;
120 const Ld2410Report *r;
121} Ld2410DistanceCmArgs;
128} Ld2410CmdConfigEnableArgs;
135} Ld2410CmdConfigEndArgs;
143} Ld2410CmdEngineeringArgs;
150} Ld2410CmdRestartArgs;
158} Ld2410CmdBluetoothArgs;
165} Ld2410CmdGetMacArgs;
172 const char *password;
173} Ld2410CmdSetBtPasswordArgs;
178 const uint8_t *frame;
186 const Ld2410Ack *ack;
192 const Ld2410Ack *ack;
207} Ld2410SetEngineeringArgs;
269 Ld2410ParseReportArgs parse_report_args;
270 Ld2410StreamResetArgs stream_reset_args;
271 Ld2410StreamPushArgs stream_push_args;
272 Ld2410PresentArgs present_args;
273 Ld2410DistanceCmArgs distance_cm_args;
274 Ld2410CmdConfigEnableArgs cmd_config_enable_args;
275 Ld2410CmdConfigEndArgs cmd_config_end_args;
276 Ld2410CmdEngineeringArgs cmd_engineering_args;
277 Ld2410CmdRestartArgs cmd_restart_args;
278 Ld2410CmdBluetoothArgs cmd_bluetooth_args;
279 Ld2410CmdGetMacArgs cmd_get_mac_args;
280 Ld2410CmdSetBtPasswordArgs cmd_set_bt_password_args;
281 Ld2410ParseAckArgs parse_ack_args;
282 Ld2410AckOkArgs ack_ok_args;
283 Ld2410AckMacArgs ack_mac_args;
284 Ld2410BeginArgs begin_args;
285 Ld2410SetEngineeringArgs set_engineering_args;
290 const Ld2410Report *report;
292 void (*
const parse_report)(uint8_t *work);
293 void (*
const stream_reset)(uint8_t *work);
294 void (*
const stream_push)(uint8_t *work);
295 void (*
const present)(uint8_t *work);
296 void (*
const distance_cm)(uint8_t *work);
297 void (*
const cmd_config_enable)(uint8_t *work);
298 void (*
const cmd_config_end)(uint8_t *work);
299 void (*
const cmd_engineering)(uint8_t *work);
300 void (*
const cmd_restart)(uint8_t *work);
301 void (*
const cmd_bluetooth)(uint8_t *work);
302 void (*
const cmd_get_mac)(uint8_t *work);
303 void (*
const cmd_set_bt_password)(uint8_t *work);
304 void (*
const parse_ack)(uint8_t *work);
305 void (*
const ack_ok)(uint8_t *work);
306 void (*
const ack_mac)(uint8_t *work);
307 void (*
const begin)(uint8_t *work);
308 void (*
const poll)(uint8_t *work);
309 void (*
const last)(uint8_t *work);
310 void (*
const set_engineering)(uint8_t *work);
311 void (*
const restart)(uint8_t *work);
315extern Ld2410Ns Ld2410;
326uint8_t *protocore_ld2410_span(
void);
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS