20#ifndef PROTOCORE_CCLINK_H
21#define PROTOCORE_CCLINK_H
32 static constexpr uint8_t CCLINK_CMD_REFRESH = 0x01;
33 static constexpr uint8_t CCLINK_CMD_POLL = 0x02;
34 static constexpr uint8_t CCLINK_CMD_TEST = 0x0F;
38uint8_t pc_cclink_sum(
const uint8_t *bytes,
size_t len);
50size_t pc_cclink_build(uint8_t station, uint8_t command,
const uint8_t *bits,
size_t bit_len,
const uint8_t *words,
51 size_t word_len, uint8_t *out,
size_t cap);
58 const uint8_t *payload;
63bool pc_cclink_parse(
const uint8_t *frame,
size_t len, CcLinkFrame *out);
66bool pc_cclink_get_bit(
const uint8_t *bits,
size_t bit_len,
size_t index);
69void pc_cclink_set_bit(uint8_t *bits,
size_t bit_len,
size_t index,
bool value);
72uint16_t pc_cclink_get_word(
const uint8_t *words,
size_t word_len,
size_t index);
User-facing configuration for ProtoCore.