Есть байт информации (8 бит). Необходима функция C++/Arduino для вычисления девятого бита - бита четности (контрольной суммы CRC-1, контрольного разряда, контроля по паритету).
Нужен пример конкретного кода для реализации стандартного алгоритма CRC-1,
описанного как: Бит чётности или контрольный разряд формируется при выполнении операции «Исключающее-ИЛИ»
поразрядно.
Не путать с определением четности числа по младшему разряду, это не имеет никакого отношения к CRC-1.
Очень много искал в Интернете, много форумов перечитал, но готового кода нигде, НИГДЕ нет. Есть хорошие примеры и даже библиотеки для CRC-16, CRC-32, но для 8-ми бит они избыточны (контрольная сумма больше самого слова в байт). Нужен именно самый простой, самый примитивный CRC-1, для полинома Х+1. Простой, нересурсоемкий (для Arduino) код для поразрядной "Исключающей-ИЛИ" обработки байта информации и получения одного контрольного бита. Возможно какая-то рекурсивная функция со сдвигом регистра.