Fixed trkConvert to recognize TRICK_BOOLEAN and LogFormatter interface. Ref #570

This commit is contained in:
John M. Penn 2018-02-28 15:34:46 -06:00
parent 4f0093ddd6
commit d17d48d040
5 changed files with 49 additions and 21 deletions

View File

@ -4,6 +4,7 @@
* ================================================================================
*/
void CSV_Formatter::writeHeader(FILE* out_fp, int version, int endianness) {};
void CSV_Formatter::writeColumnLabel(FILE* out_fp, const char* name, const char* units) {
fprintf(out_fp,"%s {%s}", name, units);
}

View File

@ -6,27 +6,27 @@
class LogFormatter {
public:
void writeHeader(FILE* out_fp __attribute__((unused)),
int version __attribute__((unused)),
int endianness __attribute__((unused))) {};
virtual void writeHeader(FILE* out_fp,
int version,
int endianness) = 0;
void writeColumnLabel(FILE* out_fp __attribute__((unused)),
const char* name __attribute__((unused)),
const char* units __attribute__((unused))) {};
virtual void writeColumnLabel(FILE* out_fp,
const char* name,
const char* units) = 0;
void writeColumnLabelSeparator(FILE* out_fp __attribute__((unused))) {};
void writeDatumSeparator( FILE* out_fp __attribute__((unused))) {};
void writeRecordSeparator(FILE* out_fp __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), int8_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), uint8_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), int16_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), uint16_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), int32_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), uint32_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), int64_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), uint64_t datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), float datum __attribute__((unused))) {};
void writeDatum(FILE* out_fp __attribute__((unused)), double datum __attribute__((unused))) {};
virtual void writeColumnLabelSeparator(FILE* out_fp) = 0;
virtual void writeDatumSeparator( FILE* out_fp) = 0;
virtual void writeRecordSeparator(FILE* out_fp) = 0;
virtual void writeDatum(FILE* out_fp, int8_t datum) = 0;
virtual void writeDatum(FILE* out_fp, uint8_t datum) = 0;
virtual void writeDatum(FILE* out_fp, int16_t datum) = 0;
virtual void writeDatum(FILE* out_fp, uint16_t datum) = 0;
virtual void writeDatum(FILE* out_fp, int32_t datum) = 0;
virtual void writeDatum(FILE* out_fp, uint32_t datum) = 0;
virtual void writeDatum(FILE* out_fp, int64_t datum) = 0;
virtual void writeDatum(FILE* out_fp, uint64_t datum) = 0;
virtual void writeDatum(FILE* out_fp, float datum) = 0;
virtual void writeDatum(FILE* out_fp, double datum) = 0;
virtual const char* extension() = 0;
};
#endif

View File

@ -4,8 +4,22 @@
* ================================================================================
*/
void Varlist_Formatter::writeHeader(FILE* out_fp, int version, int endianness) {};
void Varlist_Formatter::writeColumnLabel(FILE* out_fp, const char* name, const char* units) {
fprintf(out_fp,"%s {%s}", name, units);
}
void Varlist_Formatter::writeColumnLabelSeparator(FILE* out_fp) { fprintf(out_fp,"\n"); }
void Varlist_Formatter::writeDatumSeparator(FILE* out_fp __attribute__((unused))) {}
void Varlist_Formatter::writeRecordSeparator(FILE* out_fp __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), int8_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), uint8_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), int16_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), uint16_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), int32_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), uint32_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), int64_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), uint64_t datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), float datum __attribute__((unused))) {}
void Varlist_Formatter::writeDatum(FILE* out_fp __attribute__((unused)), double datum __attribute__((unused))) {}
const char* Varlist_Formatter::extension() { return ".varlist"; };

View File

@ -13,11 +13,14 @@ OBJECTS = CSV_Formatter.o Varlist_Formatter.o trkConvert.o
.cpp.o:
${CPP} ${CFLAGS} ${INCDIRS} -c $<
all: trkConvert
all: install
trkConvert: $(OBJECTS)
$(CPP) -o trkConvert $(OBJECTS)
install: trkConvert
cp trkConvert $${TRICK_HOME}/bin/trick-trkConvert
clean:
rm -f *.o
rm -f trkConvert

View File

@ -257,8 +257,18 @@ void DataLog::formattedWrite(FILE* out_fp, LogFormatter* formatter) {
case TRICK_LONG_LONG: { /*14*/
formatter->writeDatum(out_fp, *(int64_t*)&dataRecord[paramOffsets[ii]]);
} break;
case TRICK_UNSIGNED_LONG_LONG: { /*15*/
formatter->writeDatum(out_fp, *(uint64_t*)&dataRecord[paramOffsets[ii]]);
} break;
case TRICK_BOOLEAN: { /*17*/
formatter->writeDatum(out_fp, *(uint8_t*)&dataRecord[paramOffsets[ii]]);
} break;
default: {
fprintf(stdout, "?");
fprintf(stdout, "Unknown Data Type [%d] of size [%d] bytes.",
paramDescriptions[ii]->dataType,
paramDescriptions[ii]->dataSize);
fflush(stdout);
exit(1);
}
}
}