nmeardr.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * =====================================================================================
  3. *
  4. * Filename: nmeardr.h
  5. *
  6. * Description: Nmea reader's head file
  7. *
  8. * Version: 1.0
  9. * Created: 2018/8/15 16:55:45
  10. * Revision: none
  11. * Compiler: gcc
  12. *
  13. * Author: Jarod Lee
  14. * Organization:
  15. *
  16. * =====================================================================================
  17. */
  18. #ifndef __NMEA_READER_H
  19. #define __NMEA_READER_H
  20. #define MAX_NMEARDR_SIZE 1024
  21. /*
  22. * Nmea reader structure
  23. * Read one NMEA sentence
  24. * Always keep '$' as first byte and '\n' as last byte
  25. */
  26. struct nmea_reader {
  27. char buf[MAX_NMEARDR_SIZE]; // nmea sentence buffer
  28. int pos; // index of first free byte
  29. };
  30. void nmea_reader_init(struct nmea_reader *r); // init nmea reader to 0
  31. void nmea_reader_add(struct nmea_reader *r, char c); // add 1 byte c to nmea reader
  32. bool nmea_reader_check(struct nmea_reader *r); // check nmea checksum of nmea reader
  33. #endif