bool Write(uint8_t value) { if (!port.Write(value)) return false; crc = calc_crc_char(value, crc); return true; }
uint8_t LX::calc_crc(const void *p0, size_t len, uint8_t crc) { const uint8_t *p = (const uint8_t *)p0; size_t i; for (i = 0; i < len; i++) crc = calc_crc_char(p[i], crc); return crc; }
static char filser_calc_crc(const char *p0, size_t len, char crc) { const char *p = p0; size_t i; for (i = 0; i < len; i++) crc = calc_crc_char(p[i], crc); return crc; }
void LXDevice::CRCWrite(char c) { port->Write(c); crc = calc_crc_char(c, crc); }