SkyTEM BMAG / Mbed 2 deprecated BMAGThrRev

Dependencies:   mbed WDT MODSERIAL BME280

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers SPS.h Source File

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 };