46#ifndef PROTOCORE_HMMD_H
47#define PROTOCORE_HMMD_H
51#if PROTOCORE_ENABLE_HMMD
59#define PROTOCORE_HMMD_GATES 16
61#define PROTOCORE_HMMD_REPORT_LEN 35
63#define PROTOCORE_HMMD_FRAME_MAX 45
70 uint16_t gate_energy[PROTOCORE_HMMD_GATES];
76 uint8_t buf[PROTOCORE_HMMD_FRAME_MAX];
87 const uint8_t *payload;
103} HmmdStreamResetArgs;
131 const uint8_t *value;
154} HmmdCmdReadFirmwareArgs;
161} HmmdCmdReadSerialArgs;
168} HmmdCmdReadConfigArgs;
175 const uint8_t *value;
177} HmmdCmdReadRegisterArgs;
182 const uint8_t *frame;
255 HmmdParseReportArgs parse_report_args;
256 HmmdStreamResetArgs stream_reset_args;
257 HmmdStreamPushArgs stream_push_args;
258 HmmdPresentArgs present_args;
259 HmmdDistanceCmArgs distance_cm_args;
260 HmmdCmdBuildArgs cmd_build_args;
261 HmmdCmdOpenArgs cmd_open_args;
262 HmmdCmdCloseArgs cmd_close_args;
263 HmmdCmdReadFirmwareArgs cmd_read_firmware_args;
264 HmmdCmdReadSerialArgs cmd_read_serial_args;
265 HmmdCmdReadConfigArgs cmd_read_config_args;
266 HmmdCmdReadRegisterArgs cmd_read_register_args;
267 HmmdParseAckArgs parse_ack_args;
268 HmmdAckMatchesArgs ack_matches_args;
269 HmmdBeginArgs begin_args;
274 const HmmdReport *report;
276 void (*
const parse_report)(uint8_t *work);
277 void (*
const stream_reset)(uint8_t *work);
278 void (*
const stream_push)(uint8_t *work);
279 void (*
const present)(uint8_t *work);
280 void (*
const distance_cm)(uint8_t *work);
281 void (*
const cmd_build)(uint8_t *work);
282 void (*
const cmd_open)(uint8_t *work);
283 void (*
const cmd_close)(uint8_t *work);
284 void (*
const cmd_read_firmware)(uint8_t *work);
285 void (*
const cmd_read_serial)(uint8_t *work);
286 void (*
const cmd_read_config)(uint8_t *work);
287 void (*
const cmd_read_register)(uint8_t *work);
288 void (*
const parse_ack)(uint8_t *work);
289 void (*
const ack_matches)(uint8_t *work);
290 void (*
const begin)(uint8_t *work);
291 void (*
const poll)(uint8_t *work);
292 void (*
const last)(uint8_t *work);
307uint8_t *protocore_hmmd_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