kopia lustrzana https://github.com/rs1729/RS
imet1rs: xdata v0.4, XDATA JSON exclude length byte
rodzic
30c5a9f3ae
commit
33d7de3cb0
|
@ -339,6 +339,7 @@ int print_ePTU(int pos, ui8_t PKT_ID) {
|
||||||
fprintf(stdout, "[NO]");
|
fprintf(stdout, "[NO]");
|
||||||
gpx.ptu_valid = 0;
|
gpx.ptu_valid = 0;
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "\n");
|
||||||
|
|
||||||
return (crc_val != crc);
|
return (crc_val != crc);
|
||||||
}
|
}
|
||||||
|
@ -439,6 +440,7 @@ int print_eGPS(int pos, ui8_t PKT_ID) {
|
||||||
fprintf(stdout, "[NO]");
|
fprintf(stdout, "[NO]");
|
||||||
gpx.gps_valid = 0;
|
gpx.gps_valid = 0;
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "\n");
|
||||||
|
|
||||||
return (crc_val != crc);
|
return (crc_val != crc);
|
||||||
}
|
}
|
||||||
|
@ -451,8 +453,8 @@ offset bytes description
|
||||||
1 1 PKT_ID = 0x03
|
1 1 PKT_ID = 0x03
|
||||||
2 2 N = number of data bytes to follow
|
2 2 N = number of data bytes to follow
|
||||||
3+N 2 CRC (16-bit)
|
3+N 2 CRC (16-bit)
|
||||||
N=8: Ozonesonde (MSB)
|
N=8, ID=0x01: Ozonesonde (MSB)
|
||||||
3 1 Instrument_type = 0x01
|
3 1 Instrument_type = 0x01 (ID)
|
||||||
4 1 Instrument_number
|
4 1 Instrument_number
|
||||||
5 2 Icell, uA (I = n/1000)
|
5 2 Icell, uA (I = n/1000)
|
||||||
7 2 Tpump, °C (T = n/100)
|
7 2 Tpump, °C (T = n/100)
|
||||||
|
@ -460,6 +462,10 @@ N=8: Ozonesonde (MSB)
|
||||||
10 1 Vbat, (V = n/10)
|
10 1 Vbat, (V = n/10)
|
||||||
11 2 CRC (16-bit)
|
11 2 CRC (16-bit)
|
||||||
packet size = 12 bytes
|
packet size = 12 bytes
|
||||||
|
//
|
||||||
|
ID=0x05: OIF411
|
||||||
|
ID=0x08: CFH (Cryogenic Frost-Point Hygrometer)
|
||||||
|
ID=0x19: COBALD (Compact Optical Backscatter Aerosol Detector)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int print_xdata(int pos, ui8_t N) {
|
int print_xdata(int pos, ui8_t N) {
|
||||||
|
@ -494,14 +500,13 @@ int print_xdata(int pos, ui8_t N) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (crc_val == crc && (gpx.paux-gpx.xdata)+2*(N+1) < 2*LEN_BYTEFRAME) {
|
if (crc_val == crc && (gpx.paux-gpx.xdata)+2*(N+1) < 2*LEN_BYTEFRAME) {
|
||||||
// hex(xdata[2:3+N]) , strip [0103]..[CRC16] , '#'-separated
|
// hex(xdata[2:3+N]) , strip [0103NN]..[CRC16] , '#'-separated
|
||||||
int j;
|
int j;
|
||||||
if (gpx.paux > gpx.xdata) {
|
if (gpx.paux > gpx.xdata) {
|
||||||
*(gpx.paux) = '#';
|
*(gpx.paux) = '#';
|
||||||
gpx.paux += 1;
|
gpx.paux += 1;
|
||||||
}
|
}
|
||||||
sprintf(gpx.paux, "%02X", (byteframe+pos)[2]); // (byteframe+pos)[2] = N
|
//exclude length (byteframe+pos)[2]=N (sprintf(gpx.paux, "%02X", (byteframe+pos)[2]); gpx.paux += 2;)
|
||||||
gpx.paux += 2;
|
|
||||||
for (j = 0; j < N; j++) {
|
for (j = 0; j < N; j++) {
|
||||||
sprintf(gpx.paux, "%02X", (byteframe+pos)[3+j]);
|
sprintf(gpx.paux, "%02X", (byteframe+pos)[3+j]);
|
||||||
gpx.paux += 2;
|
gpx.paux += 2;
|
||||||
|
@ -518,6 +523,7 @@ int print_xdata(int pos, ui8_t N) {
|
||||||
else {
|
else {
|
||||||
fprintf(stdout, "[NO]");
|
fprintf(stdout, "[NO]");
|
||||||
}
|
}
|
||||||
|
fprintf(stdout, "\n");
|
||||||
|
|
||||||
return (crc_val != crc);
|
return (crc_val != crc);
|
||||||
}
|
}
|
||||||
|
@ -568,7 +574,6 @@ int print_frame(int len) {
|
||||||
{
|
{
|
||||||
int posGPSCRC = (PKT_ID == PKT_GPS) ? pos_GPScrc : pos_eGPScrc;
|
int posGPSCRC = (PKT_ID == PKT_GPS) ? pos_GPScrc : pos_eGPScrc;
|
||||||
crc_err1 = print_eGPS(ofs, PKT_ID); // packet offset in byteframe
|
crc_err1 = print_eGPS(ofs, PKT_ID); // packet offset in byteframe
|
||||||
fprintf(stdout, "\n");
|
|
||||||
ofs += posGPSCRC+2;
|
ofs += posGPSCRC+2;
|
||||||
out |= 1;
|
out |= 1;
|
||||||
}
|
}
|
||||||
|
@ -576,7 +581,6 @@ int print_frame(int len) {
|
||||||
{
|
{
|
||||||
int posPTUCRC = (PKT_ID == PKT_ePTU) ? pos_ePTUcrc : pos_PTUcrc;
|
int posPTUCRC = (PKT_ID == PKT_ePTU) ? pos_ePTUcrc : pos_PTUcrc;
|
||||||
crc_err2 = print_ePTU(ofs, PKT_ID); // packet offset in byteframe
|
crc_err2 = print_ePTU(ofs, PKT_ID); // packet offset in byteframe
|
||||||
fprintf(stdout, "\n");
|
|
||||||
ofs += posPTUCRC+2;
|
ofs += posPTUCRC+2;
|
||||||
out |= 2;
|
out |= 2;
|
||||||
}
|
}
|
||||||
|
@ -586,7 +590,6 @@ int print_frame(int len) {
|
||||||
if (N > 0 && ofs+2+N+2 < framelen)
|
if (N > 0 && ofs+2+N+2 < framelen)
|
||||||
{
|
{
|
||||||
crc_err3 = print_xdata(ofs, N); // packet offset in byteframe
|
crc_err3 = print_xdata(ofs, N); // packet offset in byteframe
|
||||||
fprintf(stdout, "\n");
|
|
||||||
ofs += N+3+2;
|
ofs += N+3+2;
|
||||||
out |= 4;
|
out |= 4;
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue