QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
Checksums.h File Reference
#include <cstdint>
#include <span>
+ Include dependency graph for Checksums.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QGC::Fletcher8
 8-bit Fletcher checksum: two running byte sums modulo 256. More...
 

Namespaces

namespace  QGC
 

Functions

constexpr Fletcher8 QGC::fletcher8 (std::span< const uint8_t > bytes, Fletcher8 state={})
 Continues state over bytes, so a frame checksummed in parts matches the contiguous result.
 
constexpr uint16_t QGC::crc16Xmodem (std::span< const uint8_t > bytes)
 CRC-16/XMODEM: polynomial 0x1021, initial value 0, no reflection and no final XOR.
 
constexpr uint32_t QGC::crc24q (std::span< const uint8_t > bytes)
 CRC-24Q: polynomial 0x1864CFB, initial value 0, no reflection and no final XOR.
 
constexpr uint8_t QGC::nmeaChecksum (std::span< const uint8_t > body)
 XOR of all bytes, the checksum NMEA 0183 sentences carry over their body.