mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-19 14:25:20 +03:00
Added CRC_DVB_S2 calculation
This commit is contained in:
parent
d0daa186cc
commit
3a0968cd3d
1 changed files with 14 additions and 1 deletions
|
@ -339,7 +339,7 @@ fix12_t qConstruct(int16_t num, int16_t den) {
|
||||||
|
|
||||||
uint16_t crc16_ccitt(uint16_t crc, unsigned char a)
|
uint16_t crc16_ccitt(uint16_t crc, unsigned char a)
|
||||||
{
|
{
|
||||||
crc ^= a << 8;
|
crc ^= (uint16_t)a << 8;
|
||||||
for (int ii = 0; ii < 8; ++ii) {
|
for (int ii = 0; ii < 8; ++ii) {
|
||||||
if (crc & 0x8000) {
|
if (crc & 0x8000) {
|
||||||
crc = (crc << 1) ^ 0x1021;
|
crc = (crc << 1) ^ 0x1021;
|
||||||
|
@ -350,3 +350,16 @@ uint16_t crc16_ccitt(uint16_t crc, unsigned char a)
|
||||||
return crc;
|
return crc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t crc8_dvb_s2(uint8_t crc, unsigned char a)
|
||||||
|
{
|
||||||
|
crc ^= a;
|
||||||
|
for (int ii = 0; ii < 8; ++ii) {
|
||||||
|
if (crc & 0x80) {
|
||||||
|
crc = (crc << 1) ^ 0xD5;
|
||||||
|
} else {
|
||||||
|
crc = crc << 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return crc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue