Bmag incl gps rettelse
Dependencies: mbed WDT MODSERIAL BME280
SPS/SPS.cpp@19:5d25cffef662, 2017-04-20 (annotated)
- Committer:
- MAA
- Date:
- Thu Apr 20 13:10:28 2017 +0000
- Revision:
- 19:5d25cffef662
- Parent:
- 8:d6287c33b54a
- Child:
- 20:73fa202c73db
Partial SPS class documentation;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MAA | 0:b3313c5ffca3 | 1 | #include "SPS.h" |
MAA | 0:b3313c5ffca3 | 2 | |
MAA | 19:5d25cffef662 | 3 | //! SPS, class default constructor |
MAA | 19:5d25cffef662 | 4 | /*! |
MAA | 19:5d25cffef662 | 5 | Initializing different class member values, creating a header string. |
MAA | 19:5d25cffef662 | 6 | */ |
MAA | 0:b3313c5ffca3 | 7 | SPS::SPS(){ |
MAA | 2:39c4a85dc2a4 | 8 | |
MAA | 6:6d1683c8b26b | 9 | fileNameString = ""; |
MAA | 2:39c4a85dc2a4 | 10 | currentString = ""; |
MAA | 2:39c4a85dc2a4 | 11 | currentErrString = ""; |
MAA | 6:6d1683c8b26b | 12 | lastString = ""; |
MAA | 8:d6287c33b54a | 13 | headerString = "/tag identifier_id group_id date time zzz | s1 source_id interpreter_id data_line_version encoding source_firmware_version interpreter_firmware_version | barcode latitude longitude gpsFixFlag batteryvoltage mag_time mag_nt mag_sq checksum"; |
MAA | 5:11782a2008c2 | 14 | crc_tab16_init = 0; |
MAA | 5:11782a2008c2 | 15 | errStatus = true; |
MAA | 2:39c4a85dc2a4 | 16 | |
MAA | 2:39c4a85dc2a4 | 17 | }; |
MAA | 2:39c4a85dc2a4 | 18 | |
MAA | 19:5d25cffef662 | 19 | |
MAA | 19:5d25cffef662 | 20 | //! UpdateCurrentString, sps string creation method, taking data and info as parameters. |
MAA | 19:5d25cffef662 | 21 | /*! |
MAA | 19:5d25cffef662 | 22 | |
MAA | 19:5d25cffef662 | 23 | Generates an sps string containing everything needed in a BMAG sps string including crc, brackets etc. |
MAA | 19:5d25cffef662 | 24 | |
MAA | 19:5d25cffef662 | 25 | \param tag: string containing the tag for the sps logging unit eg. "BMAG" |
MAA | 19:5d25cffef662 | 26 | \param identifier_id: string containing the identifier id of the unit. |
MAA | 19:5d25cffef662 | 27 | \param group_id: string containing the group id of the unit. |
MAA | 19:5d25cffef662 | 28 | \param date: string containing the date in the format "YYYY/MM/DD" |
MAA | 19:5d25cffef662 | 29 | \param time: string containing the current time in format "HH:MM:SS.FFF" |
MAA | 19:5d25cffef662 | 30 | \param ZZZ: string containing "ZZZ" :) |
MAA | 19:5d25cffef662 | 31 | \param s1: string containing s1 as described in the *.sps documentation |
MAA | 19:5d25cffef662 | 32 | \param source_id: string containing the source id of the unit eg. "0000" |
MAA | 19:5d25cffef662 | 33 | \param interpreter_id: string containing the interpreter id of the unit eg. "00" |
MAA | 19:5d25cffef662 | 34 | \param data_line_version: string containing data line version as described in the *.sps documentation, eg. "01" |
MAA | 19:5d25cffef662 | 35 | \param source_firmware_version: string containing the firmware version of the unit eg. "1.2" |
MAA | 19:5d25cffef662 | 36 | \param barcode: string containing the barcode of the unit, eg. "12345" |
MAA | 19:5d25cffef662 | 37 | \param latitude: string containing the latitude of the unit in decimal degrees. For further info read the *.sps documentation. |
MAA | 19:5d25cffef662 | 38 | \param longitude: string containing the longitude of the unit in decimal degrees. For further info read the *.sps documentation. |
MAA | 19:5d25cffef662 | 39 | \param gpsFixFlag: bool containing the gps fix status, 1 if gps fix is present, else 0. |
MAA | 19:5d25cffef662 | 40 | \param batteryvoltage: string containing the battery voltage of the units battery pack, eg. "14.2" |
MAA | 19:5d25cffef662 | 41 | \param mag_time: string containing the last timestamp received from GSM-19 device eg. "000048.0" |
MAA | 19:5d25cffef662 | 42 | \param mag_nt: string containing the last mag measurement in nT eg. "036418.77" |
MAA | 19:5d25cffef662 | 43 | \param mag_sq: string containing info about the measurement quality of the last mag measurement eg. "99" |
MAA | 19:5d25cffef662 | 44 | |
MAA | 19:5d25cffef662 | 45 | */ |
MAA | 8:d6287c33b54a | 46 | void SPS::UpdateCurrentString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string s1, 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 mag_time, string mag_nt, string mag_sq, Serial * dbg){ |
MAA | 2:39c4a85dc2a4 | 47 | |
MAA | 2:39c4a85dc2a4 | 48 | currentString = ""; |
MAA | 5:11782a2008c2 | 49 | currentString.resize(256); |
MAA | 5:11782a2008c2 | 50 | char checkSum[5]; |
MAA | 5:11782a2008c2 | 51 | memset(checkSum,'\0',5); |
MAA | 5:11782a2008c2 | 52 | unsigned short chkSum = 0; |
MAA | 0:b3313c5ffca3 | 53 | |
MAA | 5:11782a2008c2 | 54 | addToCurrentString(LINESTART); |
MAA | 5:11782a2008c2 | 55 | addToCurrentString(tag); |
MAA | 5:11782a2008c2 | 56 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 57 | addToCurrentString(identifier_id); |
MAA | 5:11782a2008c2 | 58 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 59 | addToCurrentString(group_id); |
MAA | 5:11782a2008c2 | 60 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 61 | addToCurrentString(date); |
MAA | 5:11782a2008c2 | 62 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 63 | addToCurrentString(time); |
MAA | 5:11782a2008c2 | 64 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 65 | addToCurrentString("ZZZ"); |
MAA | 5:11782a2008c2 | 66 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 67 | addToCurrentString(HEADEREND); |
MAA | 5:11782a2008c2 | 68 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 69 | addToCurrentString(s1); |
MAA | 5:11782a2008c2 | 70 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 71 | addToCurrentString(source_id); |
MAA | 5:11782a2008c2 | 72 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 73 | addToCurrentString(interpreter_id); |
MAA | 5:11782a2008c2 | 74 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 75 | addToCurrentString(data_line_version); |
MAA | 5:11782a2008c2 | 76 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 77 | addToCurrentString(source_firmware_version); |
MAA | 5:11782a2008c2 | 78 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 79 | addToCurrentString(interpreter_firmware_version); |
MAA | 5:11782a2008c2 | 80 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 81 | addToCurrentString(HEADEREND); |
MAA | 5:11782a2008c2 | 82 | addToCurrentString(SPACE); |
MAA | 8:d6287c33b54a | 83 | addToCurrentString(barcode); |
MAA | 8:d6287c33b54a | 84 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 85 | addToCurrentString(latitude); |
MAA | 5:11782a2008c2 | 86 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 87 | addToCurrentString(longitude); |
MAA | 5:11782a2008c2 | 88 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 89 | |
MAA | 5:11782a2008c2 | 90 | if(gpsFixFlag){ |
MAA | 5:11782a2008c2 | 91 | addToCurrentString('1'); |
MAA | 5:11782a2008c2 | 92 | } |
MAA | 5:11782a2008c2 | 93 | if(!gpsFixFlag){ |
MAA | 5:11782a2008c2 | 94 | addToCurrentString('0'); |
MAA | 5:11782a2008c2 | 95 | } |
MAA | 5:11782a2008c2 | 96 | |
MAA | 5:11782a2008c2 | 97 | addToCurrentString(SPACE); |
MAA | 8:d6287c33b54a | 98 | addToCurrentString(batteryvoltage); |
MAA | 8:d6287c33b54a | 99 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 100 | addToCurrentString(mag_time); |
MAA | 5:11782a2008c2 | 101 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 102 | addToCurrentString(mag_nt); |
MAA | 5:11782a2008c2 | 103 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 104 | addToCurrentString(mag_sq); |
MAA | 5:11782a2008c2 | 105 | |
MAA | 2:39c4a85dc2a4 | 106 | //calculate checksum |
MAA | 5:11782a2008c2 | 107 | for(int i = 0; i < strlen(currentString.c_str()); i++){ |
MAA | 5:11782a2008c2 | 108 | if(currentString[i] != '>' || currentString[i] != '<'){ |
MAA | 5:11782a2008c2 | 109 | |
MAA | 5:11782a2008c2 | 110 | chkSum = update_crc_16(chkSum, currentString[i]); |
MAA | 5:11782a2008c2 | 111 | |
MAA | 5:11782a2008c2 | 112 | } |
MAA | 5:11782a2008c2 | 113 | } |
MAA | 5:11782a2008c2 | 114 | |
MAA | 6:6d1683c8b26b | 115 | sprintf(checkSum, "%04X", chkSum); |
MAA | 2:39c4a85dc2a4 | 116 | |
MAA | 2:39c4a85dc2a4 | 117 | //append rest of string |
MAA | 5:11782a2008c2 | 118 | addToCurrentString(SPACE); |
MAA | 5:11782a2008c2 | 119 | addToCurrentString(checkSum); |
MAA | 8:d6287c33b54a | 120 | addToCurrentString(LINESTOP); |
MAA | 2:39c4a85dc2a4 | 121 | }; |
MAA | 2:39c4a85dc2a4 | 122 | |
MAA | 19:5d25cffef662 | 123 | |
MAA | 19:5d25cffef662 | 124 | |
MAA | 19:5d25cffef662 | 125 | //! UpdateCurrentErrString, sps ERR string creation method, taking data and info as parameters. |
MAA | 19:5d25cffef662 | 126 | /*! |
MAA | 19:5d25cffef662 | 127 | |
MAA | 19:5d25cffef662 | 128 | Generates the current sps ERR string containing everything needed in a BMAG sps string including crc, brackets etc. |
MAA | 19:5d25cffef662 | 129 | |
MAA | 19:5d25cffef662 | 130 | \param tag: string containing the tag for the sps logging unit eg. "BMAG" |
MAA | 19:5d25cffef662 | 131 | \param identifier_id: string containing the identifier id of the unit. |
MAA | 19:5d25cffef662 | 132 | \param group_id: string containing the group id of the unit. |
MAA | 19:5d25cffef662 | 133 | \param date: string containing the date in the format "YYYY/MM/DD" |
MAA | 19:5d25cffef662 | 134 | \param time: string containing the current time in format "HH:MM:SS.FFF" |
MAA | 19:5d25cffef662 | 135 | \param ZZZ: string containing "ZZZ" :) |
MAA | 19:5d25cffef662 | 136 | \param s1: string containing s1 as described in the *.sps documentation |
MAA | 19:5d25cffef662 | 137 | \param source_id: string containing the source id of the unit eg. "0000" |
MAA | 19:5d25cffef662 | 138 | \param interpreter_id: string containing the interpreter id of the unit eg. "00" |
MAA | 19:5d25cffef662 | 139 | \param data_line_version: string containing data line version as described in the *.sps documentation, eg. "01" |
MAA | 19:5d25cffef662 | 140 | \param source_firmware_version: string containing the firmware version of the unit eg. "1.2" |
MAA | 19:5d25cffef662 | 141 | \param barcode: string containing the barcode of the unit, eg. "12345" |
MAA | 19:5d25cffef662 | 142 | \param latitude: string containing the latitude of the unit in decimal degrees. For further info read the *.sps documentation. |
MAA | 19:5d25cffef662 | 143 | \param longitude: string containing the longitude of the unit in decimal degrees. For further info read the *.sps documentation. |
MAA | 19:5d25cffef662 | 144 | \param gpsFixFlag: bool containing the gps fix status, 1 if gps fix is present, else 0. |
MAA | 19:5d25cffef662 | 145 | \param mag_time: string containing the last timestamp received from GSM-19 device eg. "000048.0" |
MAA | 19:5d25cffef662 | 146 | \param mag_nt: string containing the last mag measurement in nT eg. "036418.77" |
MAA | 19:5d25cffef662 | 147 | \param mag_sq: string containing info about the measurement quality of the last mag measurement eg. "99" |
MAA | 19:5d25cffef662 | 148 | |
MAA | 19:5d25cffef662 | 149 | */ |
MAA | 7:872984a67d5b | 150 | void SPS::UpdateCurrentErrString(string tag, string identifier_id, string group_id, string date, string time, string ZZZ,string s1, 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){ |
MAA | 7:872984a67d5b | 151 | |
MAA | 7:872984a67d5b | 152 | currentErrString = ""; |
MAA | 7:872984a67d5b | 153 | currentErrString.resize(256); |
MAA | 7:872984a67d5b | 154 | char checkSum[5]; |
MAA | 7:872984a67d5b | 155 | memset(checkSum,'\0',5); |
MAA | 7:872984a67d5b | 156 | unsigned short chkSum = 0; |
MAA | 7:872984a67d5b | 157 | |
MAA | 7:872984a67d5b | 158 | addToCurrentErrString(LINESTART); |
MAA | 7:872984a67d5b | 159 | addToCurrentErrString(tag); |
MAA | 7:872984a67d5b | 160 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 161 | addToCurrentErrString(identifier_id); |
MAA | 7:872984a67d5b | 162 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 163 | addToCurrentErrString(group_id); |
MAA | 7:872984a67d5b | 164 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 165 | addToCurrentErrString(date); |
MAA | 7:872984a67d5b | 166 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 167 | addToCurrentErrString(time); |
MAA | 7:872984a67d5b | 168 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 169 | addToCurrentErrString("ZZZ"); |
MAA | 7:872984a67d5b | 170 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 171 | addToCurrentErrString(HEADEREND); |
MAA | 7:872984a67d5b | 172 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 173 | addToCurrentErrString(s1); |
MAA | 7:872984a67d5b | 174 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 175 | addToCurrentErrString(source_id); |
MAA | 7:872984a67d5b | 176 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 177 | addToCurrentErrString(interpreter_id); |
MAA | 7:872984a67d5b | 178 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 179 | addToCurrentErrString(data_line_version); |
MAA | 7:872984a67d5b | 180 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 181 | addToCurrentErrString(source_firmware_version); |
MAA | 7:872984a67d5b | 182 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 183 | addToCurrentErrString(interpreter_firmware_version); |
MAA | 7:872984a67d5b | 184 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 185 | addToCurrentErrString(HEADEREND); |
MAA | 7:872984a67d5b | 186 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 187 | addToCurrentErrString("BMAG"); |
MAA | 7:872984a67d5b | 188 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 189 | addToCurrentErrString("C02"); |
MAA | 7:872984a67d5b | 190 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 191 | addToCurrentErrString("C03"); |
MAA | 7:872984a67d5b | 192 | |
MAA | 7:872984a67d5b | 193 | //calculate checksum |
MAA | 7:872984a67d5b | 194 | for(int i = 0; i < strlen(currentString.c_str()); i++){ |
MAA | 7:872984a67d5b | 195 | if(currentString[i] != '>' || currentString[i] != '<'){ |
MAA | 7:872984a67d5b | 196 | |
MAA | 7:872984a67d5b | 197 | chkSum = update_crc_16(chkSum, currentErrString[i]); |
MAA | 7:872984a67d5b | 198 | |
MAA | 7:872984a67d5b | 199 | } |
MAA | 7:872984a67d5b | 200 | } |
MAA | 7:872984a67d5b | 201 | |
MAA | 7:872984a67d5b | 202 | sprintf(checkSum, "%04X", chkSum); |
MAA | 7:872984a67d5b | 203 | |
MAA | 7:872984a67d5b | 204 | //append rest of string |
MAA | 7:872984a67d5b | 205 | addToCurrentErrString(SPACE); |
MAA | 7:872984a67d5b | 206 | addToCurrentErrString(checkSum); |
MAA | 8:d6287c33b54a | 207 | addToCurrentErrString(LINESTOP); |
MAA | 7:872984a67d5b | 208 | }; |
MAA | 7:872984a67d5b | 209 | |
MAA | 19:5d25cffef662 | 210 | //! init_crc16_tab, creates a crc tab. |
MAA | 19:5d25cffef662 | 211 | /*! |
MAA | 19:5d25cffef662 | 212 | Populates a crc array for later use |
MAA | 19:5d25cffef662 | 213 | */ |
MAA | 4:c70ef089a3fd | 214 | void SPS::init_crc16_tab() |
MAA | 4:c70ef089a3fd | 215 | { |
MAA | 4:c70ef089a3fd | 216 | int i, j; |
MAA | 4:c70ef089a3fd | 217 | unsigned short crc, c; |
MAA | 4:c70ef089a3fd | 218 | |
MAA | 4:c70ef089a3fd | 219 | for (i = 0; i < 256; i++) |
MAA | 4:c70ef089a3fd | 220 | { |
MAA | 4:c70ef089a3fd | 221 | crc = 0; |
MAA | 4:c70ef089a3fd | 222 | c = (unsigned short) i; |
MAA | 4:c70ef089a3fd | 223 | |
MAA | 4:c70ef089a3fd | 224 | for (j = 0; j < 8; j++) |
MAA | 4:c70ef089a3fd | 225 | { |
MAA | 4:c70ef089a3fd | 226 | if ((crc ^ c) & 0x0001) |
MAA | 4:c70ef089a3fd | 227 | crc = (crc >> 1) ^ P_16; |
MAA | 4:c70ef089a3fd | 228 | else |
MAA | 4:c70ef089a3fd | 229 | crc = crc >> 1; |
MAA | 4:c70ef089a3fd | 230 | |
MAA | 4:c70ef089a3fd | 231 | c = c >> 1; |
MAA | 4:c70ef089a3fd | 232 | } |
MAA | 4:c70ef089a3fd | 233 | crc_tab16[i] = crc; |
MAA | 4:c70ef089a3fd | 234 | } |
MAA | 4:c70ef089a3fd | 235 | crc_tab16_init = 1; |
MAA | 4:c70ef089a3fd | 236 | }; |
MAA | 4:c70ef089a3fd | 237 | |
MAA | 4:c70ef089a3fd | 238 | |
MAA | 19:5d25cffef662 | 239 | |
MAA | 19:5d25cffef662 | 240 | //! update_crc_16, updates crc tab. |
MAA | 19:5d25cffef662 | 241 | /*! |
MAA | 19:5d25cffef662 | 242 | \param crc |
MAA | 19:5d25cffef662 | 243 | \param c |
MAA | 19:5d25cffef662 | 244 | \return returns crc value |
MAA | 19:5d25cffef662 | 245 | */ |
MAA | 4:c70ef089a3fd | 246 | unsigned short SPS::update_crc_16(unsigned short crc, char c) |
MAA | 4:c70ef089a3fd | 247 | { |
MAA | 4:c70ef089a3fd | 248 | unsigned short tmp, short_c; |
MAA | 4:c70ef089a3fd | 249 | |
MAA | 4:c70ef089a3fd | 250 | short_c = 0x00ff & (unsigned short) c; |
MAA | 4:c70ef089a3fd | 251 | |
MAA | 4:c70ef089a3fd | 252 | if (!crc_tab16_init) |
MAA | 4:c70ef089a3fd | 253 | init_crc16_tab(); |
MAA | 4:c70ef089a3fd | 254 | |
MAA | 4:c70ef089a3fd | 255 | tmp = crc ^ short_c; |
MAA | 4:c70ef089a3fd | 256 | crc = (crc >> 8) ^ crc_tab16[tmp & 0xff]; |
MAA | 4:c70ef089a3fd | 257 | |
MAA | 4:c70ef089a3fd | 258 | return crc; |
MAA | 4:c70ef089a3fd | 259 | }; |
MAA | 5:11782a2008c2 | 260 | |
MAA | 5:11782a2008c2 | 261 | |
MAA | 5:11782a2008c2 | 262 | //Gets / returns current sps data string |
MAA | 5:11782a2008c2 | 263 | string SPS::getCurrentString(void){ |
MAA | 5:11782a2008c2 | 264 | return this->currentString; |
MAA | 5:11782a2008c2 | 265 | }; |
MAA | 5:11782a2008c2 | 266 | |
MAA | 5:11782a2008c2 | 267 | |
MAA | 5:11782a2008c2 | 268 | //Get error status |
MAA | 5:11782a2008c2 | 269 | bool SPS::getErrStatus(void){ |
MAA | 5:11782a2008c2 | 270 | return this->errStatus; |
MAA | 5:11782a2008c2 | 271 | }; |
MAA | 5:11782a2008c2 | 272 | |
MAA | 5:11782a2008c2 | 273 | //Set err status |
MAA | 5:11782a2008c2 | 274 | void SPS::setErrStatus(bool status){ |
MAA | 5:11782a2008c2 | 275 | this->errStatus = status; |
MAA | 5:11782a2008c2 | 276 | }; |
MAA | 5:11782a2008c2 | 277 | |
MAA | 5:11782a2008c2 | 278 | //get headerstring |
MAA | 5:11782a2008c2 | 279 | string SPS::getHeaderString(void){ |
MAA | 5:11782a2008c2 | 280 | return this->headerString; |
MAA | 5:11782a2008c2 | 281 | }; |
MAA | 5:11782a2008c2 | 282 | |
MAA | 5:11782a2008c2 | 283 | //add data to current string |
MAA | 5:11782a2008c2 | 284 | void SPS::addToCurrentString(string data){ |
MAA | 5:11782a2008c2 | 285 | int currentStartIndex = strlen(currentString.c_str()); |
MAA | 5:11782a2008c2 | 286 | char dataStrLen = 0; |
MAA | 8:d6287c33b54a | 287 | int index = 0; |
MAA | 8:d6287c33b54a | 288 | |
MAA | 5:11782a2008c2 | 289 | dataStrLen = strlen(data.c_str()); |
MAA | 5:11782a2008c2 | 290 | |
MAA | 5:11782a2008c2 | 291 | for(int i = 0; i < dataStrLen; i++){ |
MAA | 8:d6287c33b54a | 292 | |
MAA | 8:d6287c33b54a | 293 | if((currentString[currentStartIndex+i] != '\r') || (currentString[currentStartIndex+i] != '\n')){ |
MAA | 8:d6287c33b54a | 294 | |
MAA | 8:d6287c33b54a | 295 | currentString[currentStartIndex+i] = data[index]; |
MAA | 8:d6287c33b54a | 296 | index += 1; |
MAA | 8:d6287c33b54a | 297 | |
MAA | 8:d6287c33b54a | 298 | } |
MAA | 8:d6287c33b54a | 299 | |
MAA | 5:11782a2008c2 | 300 | } |
MAA | 5:11782a2008c2 | 301 | } |
MAA | 5:11782a2008c2 | 302 | |
MAA | 5:11782a2008c2 | 303 | void SPS::addToCurrentString(char data){ |
MAA | 5:11782a2008c2 | 304 | int currentStartIndex = strlen(currentString.c_str()); |
MAA | 5:11782a2008c2 | 305 | currentString[currentStartIndex] = data; |
MAA | 6:6d1683c8b26b | 306 | }; |
MAA | 6:6d1683c8b26b | 307 | |
MAA | 7:872984a67d5b | 308 | //add data to current Errstring |
MAA | 7:872984a67d5b | 309 | void SPS::addToCurrentErrString(string data){ |
MAA | 7:872984a67d5b | 310 | int currentStartIndex = strlen(currentErrString.c_str()); |
MAA | 7:872984a67d5b | 311 | char dataStrLen = 0; |
MAA | 7:872984a67d5b | 312 | dataStrLen = strlen(data.c_str()); |
MAA | 7:872984a67d5b | 313 | |
MAA | 7:872984a67d5b | 314 | for(int i = 0; i < dataStrLen; i++){ |
MAA | 7:872984a67d5b | 315 | currentErrString[currentStartIndex+i] = data[i]; |
MAA | 7:872984a67d5b | 316 | } |
MAA | 7:872984a67d5b | 317 | |
MAA | 7:872984a67d5b | 318 | }; |
MAA | 7:872984a67d5b | 319 | void SPS::addToCurrentErrString(char data){ |
MAA | 7:872984a67d5b | 320 | int currentStartIndex = strlen(currentErrString.c_str()); |
MAA | 7:872984a67d5b | 321 | currentErrString[currentStartIndex] = data; |
MAA | 7:872984a67d5b | 322 | |
MAA | 7:872984a67d5b | 323 | }; |
MAA | 7:872984a67d5b | 324 | |
MAA | 6:6d1683c8b26b | 325 | |
MAA | 6:6d1683c8b26b | 326 | void SPS::generateSpsFilename(string formattedDate){ |
MAA | 6:6d1683c8b26b | 327 | |
MAA | 7:872984a67d5b | 328 | fileNameString.resize(25); |
MAA | 6:6d1683c8b26b | 329 | |
MAA | 7:872984a67d5b | 330 | fileNameString.replace(0, 10, "/usb/BMAG_"); |
MAA | 6:6d1683c8b26b | 331 | |
MAA | 7:872984a67d5b | 332 | fileNameString[10] = formattedDate[0]; |
MAA | 7:872984a67d5b | 333 | fileNameString[11] = formattedDate[1]; |
MAA | 7:872984a67d5b | 334 | fileNameString[12] = formattedDate[2]; |
MAA | 7:872984a67d5b | 335 | fileNameString[13] = formattedDate[3]; |
MAA | 7:872984a67d5b | 336 | fileNameString[14] = '-'; |
MAA | 7:872984a67d5b | 337 | fileNameString[15] = formattedDate[5]; |
MAA | 7:872984a67d5b | 338 | fileNameString[16] = formattedDate[6]; |
MAA | 7:872984a67d5b | 339 | fileNameString[17] = '-'; |
MAA | 7:872984a67d5b | 340 | fileNameString[18] = formattedDate[8]; |
MAA | 7:872984a67d5b | 341 | fileNameString[19] = formattedDate[9]; |
MAA | 6:6d1683c8b26b | 342 | |
MAA | 7:872984a67d5b | 343 | fileNameString[20] = '.'; |
MAA | 7:872984a67d5b | 344 | fileNameString[21] = 's'; |
MAA | 7:872984a67d5b | 345 | fileNameString[22] = 'p'; |
MAA | 7:872984a67d5b | 346 | fileNameString[23] = 's'; |
MAA | 6:6d1683c8b26b | 347 | |
MAA | 6:6d1683c8b26b | 348 | }; |
MAA | 6:6d1683c8b26b | 349 | |
MAA | 6:6d1683c8b26b | 350 | |
MAA | 6:6d1683c8b26b | 351 | string SPS::getSpsFileName(void){ |
MAA | 6:6d1683c8b26b | 352 | |
MAA | 6:6d1683c8b26b | 353 | return this->fileNameString; |
MAA | 6:6d1683c8b26b | 354 | |
MAA | 7:872984a67d5b | 355 | }; |
MAA | 7:872984a67d5b | 356 | |
MAA | 7:872984a67d5b | 357 | //Gets / returns current sps err string |
MAA | 7:872984a67d5b | 358 | string SPS::getCurrentErrString(void){ |
MAA | 7:872984a67d5b | 359 | return this->currentErrString; |
MAA | 5:11782a2008c2 | 360 | }; |