Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed WDT MODSERIAL BME280
SPS.h
00001 #pragma once 00002 #include <string> 00003 #include "mbed.h" 00004 00005 #define LINESTART '>' 00006 #define LINESTOP '<' 00007 #define HEADEREND '|' 00008 #define SPACE ' ' 00009 00010 #define P_16 0xA001 00011 00012 using std::string; 00013 00014 00015 //! An *.SPS format handler class 00016 /*! 00017 This class is used to create and handle creation of *.sps strings for *.sps files. 00018 */ 00019 class SPS{ 00020 public: 00021 //default constructor 00022 SPS(); 00023 00024 //Updates current string 00025 void UpdateCurrentString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string barcode, string latitude, string longitude, bool gpsFixFlag, string batteryvoltage, string preassure, string temperature, string humidity, string altitude, string mag_time, string mag_nt, string mag_sq, Serial * dbg); 00026 00027 //Updates current header string 00028 void UpdateHeaderString(string barcode, string identifier_id, string group_id, string ZZZ, string encoding,string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version); 00029 00030 //Updates current ERR 00031 void UpdateCurrentErrString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string encoding, string source_id, string interpreter_id, string data_line_version, string source_firmware_version, string interpreter_firmware_version, string latitude, string longitude, bool gpsFixFlag, string mag_time, string mag_nt, string mag_sq, Serial * dbg); 00032 00033 //Fills the array for calculation of the CRC-16 with values 00034 void init_crc16_tab(); 00035 00036 //The function update_crc_16 calculates a new CRC-16 value based on the 00037 //previous value of the CRC and the next byte of the data to be checked. 00038 unsigned short update_crc_16(unsigned short crc, char c); 00039 00040 //Gets / returns current sps data string 00041 string getCurrentString(void); 00042 00043 //Gets / returns current sps err string 00044 string getCurrentErrString(void); 00045 00046 //get headerstring 00047 string getHeaderString(void); 00048 00049 //Get error status 00050 bool getErrStatus(void); 00051 00052 //set Error status 00053 void setErrStatus(bool status); 00054 00055 //add data to current string 00056 void addToCurrentString(string data); 00057 void addToCurrentString(char data); 00058 00059 //add data to current Errstring 00060 void addToCurrentErrString(string data); 00061 void addToCurrentErrString(char data); 00062 00063 //add data to current Header string 00064 void addToCurrentHeaderString(string data); 00065 void addToCurrentHeaderString(char data); 00066 00067 //generate sps filename 00068 void generateSpsFilename(string formattedDate, string barcode, string time); 00069 00070 //get sps filename 00071 string getSpsFileName(void); 00072 00073 private: 00074 string fileNameString; 00075 string currentString; 00076 string lastString; 00077 string currentErrString; 00078 string headerString; 00079 bool errStatus; 00080 int crc_tab16_init; 00081 unsigned short crc_tab16[256]; 00082 00083 };
Generated on Wed Jul 13 2022 08:04:14 by
