djiparsetxt
|
#include <RecordAndDetailsParser.hh>
Public Member Functions | |
RecordAndDetailsParser () | |
virtual | ~RecordAndDetailsParser () |
int | parseJPEGRecord (u_int8_t const *&ptr, u_int8_t const *limit) |
Static Public Member Functions | |
static DJITxtParser * | createNew () |
Private Member Functions | |
virtual void | parseDetailsArea (u_int8_t const *&ptr, u_int8_t const *limit) |
virtual int | parseRecord (u_int8_t const *&ptr, u_int8_t const *limit, int isScrambled) |
virtual void | summarizeRecordParsing () |
virtual void | outputOneRow (int outputColumnLabels) |
void | parseRecord_OSD (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_HOME (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_GIMBAL (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_RC (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_CUSTOM (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_DEFORM (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_CENTER_BATTERY (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_SMART_BATTERY (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_APP_TIP (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_APP_WARN (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_RECOVER (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_APP_GPS (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_FIRMWARE (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_APP_SER_WARN (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecord_COMPONENT (u_int8_t const *&ptr, u_int8_t const *limit) |
int | parseRecord_JPEG (u_int8_t const *&ptr, u_int8_t const *limit) |
void | parseRecordUnknownFormat (char const *recordTypeName, u_int8_t const *&ptr, u_int8_t const *limit) |
void | enterSubByteField (char const *label, u_int8_t byte, u_int8_t mask) |
void | noteByteField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0, int isSigned=0) |
void | note2ByteField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0, int16_t offset=0, int isSigned=0) |
void | noteSigned2ByteField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0, int16_t offset=0) |
void | noteUnsigned2ByteField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0, int16_t offset=0) |
void | note4ByteField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0, int isSigned=0) |
void | note4ByteFloatField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, float divisor=0.0) |
void | note8ByteDoubleField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit) |
void | note8ByteLatitudeOrLongitudeFieldInRadians (char const *label, u_int8_t const *&ptr, u_int8_t const *limit) |
void | note8ByteLatitudeOrLongitudeFieldInDegrees (char const *label, u_int8_t const *&ptr, u_int8_t const *limit) |
void | note2ByteDateField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit) |
void | note8ByteTimestampField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit, int isInMilliseconds=0) |
void | noteStringField (char const *label, u_int8_t const *&ptr, unsigned stringLength, u_int8_t const *limit) |
void | note3ByteVersionField (char const *label, u_int8_t const *&ptr, u_int8_t const *limit) |
Private Attributes | |
unsigned | fNumRecords |
RecordTypeStat | fRecordTypeStats [256] |
char const * | fRecordTypeName [256] |
unsigned | fMaxNumRecordsForOneType |
FieldDatabase * | fFieldDatabase |
Definition at line 45 of file RecordAndDetailsParser.hh.
RecordAndDetailsParser::RecordAndDetailsParser | ( | ) |
Definition at line 41 of file RecordAndDetailsParser.cpp.
References fRecordTypeName.
|
virtual |
Definition at line 79 of file RecordAndDetailsParser.cpp.
References fFieldDatabase.
|
staticinherited |
|
private |
Definition at line 29 of file parseFieldWithinRecord.cpp.
Referenced by parseRecord_DEFORM(), parseRecord_GIMBAL(), parseRecord_HOME(), parseRecord_OSD(), parseRecord_RC(), and parseRecord_SMART_BATTERY().
|
private |
Definition at line 123 of file parseFieldWithinRecord.cpp.
References get2BytesLE().
Referenced by parseRecord_CENTER_BATTERY().
|
private |
Definition at line 56 of file parseFieldWithinRecord.cpp.
References get2BytesLE().
Referenced by noteSigned2ByteField(), and noteUnsigned2ByteField().
|
private |
Definition at line 148 of file parseFieldWithinRecord.cpp.
References getByte().
Referenced by parseDetailsArea(), parseRecord_FIRMWARE(), and parseRecord_RECOVER().
|
private |
Definition at line 72 of file parseFieldWithinRecord.cpp.
References getWord32LE().
Referenced by parseDetailsArea(), parseRecord_CENTER_BATTERY(), and parseRecord_SMART_BATTERY().
|
private |
Definition at line 87 of file parseFieldWithinRecord.cpp.
References getWord32LE().
Referenced by parseDetailsArea(), parseRecord_APP_GPS(), parseRecord_CUSTOM(), parseRecord_HOME(), and parseRecord_SMART_BATTERY().
|
private |
Definition at line 96 of file parseFieldWithinRecord.cpp.
References getWord64LE().
Referenced by parseDetailsArea().
|
private |
Definition at line 115 of file parseFieldWithinRecord.cpp.
References getWord64LE().
Referenced by parseRecord_APP_GPS().
|
private |
Definition at line 106 of file parseFieldWithinRecord.cpp.
References getWord64LE(), and PI.
Referenced by parseRecord_HOME(), and parseRecord_OSD().
|
private |
Definition at line 129 of file parseFieldWithinRecord.cpp.
References getWord64LE().
Referenced by parseDetailsArea(), parseRecord_CUSTOM(), and parseRecord_RECOVER().
|
private |
Definition at line 41 of file parseFieldWithinRecord.cpp.
References getByte().
Referenced by parseDetailsArea(), parseRecord_CENTER_BATTERY(), parseRecord_GIMBAL(), parseRecord_HOME(), parseRecord_OSD(), parseRecord_RECOVER(), and parseRecord_SMART_BATTERY().
|
inlineprivate |
Definition at line 87 of file RecordAndDetailsParser.hh.
References note2ByteField().
Referenced by parseRecord_GIMBAL(), parseRecord_HOME(), parseRecord_OSD(), and parseRecord_RC().
|
private |
Definition at line 136 of file parseFieldWithinRecord.cpp.
References END_OF_DATA.
Referenced by parseDetailsArea(), parseRecord_APP_SER_WARN(), parseRecord_APP_TIP(), parseRecord_APP_WARN(), parseRecord_COMPONENT(), and parseRecord_RECOVER().
|
inlineprivate |
Definition at line 91 of file RecordAndDetailsParser.hh.
References note2ByteField().
Referenced by parseRecord_CENTER_BATTERY(), parseRecord_HOME(), parseRecord_OSD(), and parseRecord_SMART_BATTERY().
|
privatevirtual |
Implements DJITxtParser.
Definition at line 39 of file rowOutput.cpp.
References o, oBoolean, oFirst, oFrac, and oInterpreted.
Referenced by parseRecord().
|
privatevirtual |
Implements DJITxtParser.
Definition at line 28 of file parseDetails.cpp.
References fileVersionNumber, note3ByteVersionField(), note4ByteField(), note4ByteFloatField(), note8ByteDoubleField(), note8ByteTimestampField(), noteByteField(), and noteStringField().
int RecordAndDetailsParser::parseJPEGRecord | ( | u_int8_t const *& | ptr, |
u_int8_t const * | limit | ||
) |
|
privatevirtual |
Implements DJITxtParser.
Definition at line 62 of file parseRecord.cpp.
References RecordTypeStat::count, END_OF_DATA, fMaxNumRecordsForOneType, fNumRecords, fRecordTypeName, fRecordTypeStats, get2BytesBE(), getByte(), getScrambleBytes(), JPEG_SOI_BYTE, RecordTypeStat::maxLength, RecordTypeStat::minLength, outputOneRow(), parseRecord_APP_GPS(), parseRecord_APP_SER_WARN(), parseRecord_APP_TIP(), parseRecord_APP_WARN(), parseRecord_CENTER_BATTERY(), parseRecord_COMPONENT(), parseRecord_CUSTOM(), parseRecord_DEFORM(), parseRecord_FIRMWARE(), parseRecord_GIMBAL(), parseRecord_HOME(), parseRecord_JPEG(), parseRecord_OSD(), parseRecord_RC(), parseRecord_RECOVER(), parseRecord_SMART_BATTERY(), parseRecordUnknownFormat(), RECORD_TYPE_APP_GPS, RECORD_TYPE_APP_OPERATION, RECORD_TYPE_APP_SER_WARN, RECORD_TYPE_APP_TIP, RECORD_TYPE_APP_WARN, RECORD_TYPE_CENTER_BATTERY, RECORD_TYPE_COMPONENT, RECORD_TYPE_CUSTOM, RECORD_TYPE_DEFORM, RECORD_TYPE_FIRMWARE, RECORD_TYPE_GIMBAL, RECORD_TYPE_HOME, RECORD_TYPE_JPEG, RECORD_TYPE_MC_PARAM, RECORD_TYPE_OFDM_DEBUG, RECORD_TYPE_OSD, RECORD_TYPE_RC, RECORD_TYPE_RC_DEBUG, RECORD_TYPE_RC_GPS, RECORD_TYPE_RECOVER, RECORD_TYPE_SMART_BATTERY, RECORD_TYPE_VISION_GROUP, and RECORD_TYPE_VISION_WARN.
|
private |
Definition at line 28 of file parseRecord_APP_GPS.cpp.
References note4ByteFloatField(), and note8ByteLatitudeOrLongitudeFieldInDegrees().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_APP_SER_WARN.cpp.
References noteStringField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_APP_TIP.cpp.
References noteStringField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_APP_WARN.cpp.
References noteStringField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_CENTER_BATTERY.cpp.
References note2ByteDateField(), note4ByteField(), noteByteField(), and noteUnsigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_COMPONENT.cpp.
References get2BytesLE(), getByte(), and noteStringField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_CUSTOM.cpp.
References note4ByteFloatField(), and note8ByteTimestampField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_DEFORM.cpp.
References enterSubByteField(), and getByte().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_FIRMWARE.cpp.
References note3ByteVersionField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_GIMBAL.cpp.
References enterSubByteField(), getByte(), noteByteField(), and noteSigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_HOME.cpp.
References enterSubByteField(), getByte(), note4ByteFloatField(), note8ByteLatitudeOrLongitudeFieldInRadians(), noteByteField(), noteSigned2ByteField(), and noteUnsigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 56 of file parseRecord_JPEG.cpp.
References get2BytesBE(), JPEG_EOI, JPEG_SOI, openOutputJPGFile(), and outputJPGFiles.
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_OSD.cpp.
References enterSubByteField(), getByte(), note8ByteLatitudeOrLongitudeFieldInRadians(), noteByteField(), noteSigned2ByteField(), and noteUnsigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_RC.cpp.
References enterSubByteField(), getByte(), and noteSigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_RECOVER.cpp.
References note3ByteVersionField(), note8ByteTimestampField(), noteByteField(), and noteStringField().
Referenced by parseRecord().
|
private |
Definition at line 28 of file parseRecord_SMART_BATTERY.cpp.
References enterSubByteField(), getByte(), note4ByteField(), note4ByteFloatField(), noteByteField(), and noteUnsigned2ByteField().
Referenced by parseRecord().
|
private |
Definition at line 32 of file parseRecordUnknownFormat.cpp.
References printHex().
Referenced by parseRecord().
|
privatevirtual |
Implements DJITxtParser.
Definition at line 249 of file parseRecord.cpp.
References fMaxNumRecordsForOneType, fNumRecords, fRecordTypeName, and fRecordTypeStats.
|
private |
Definition at line 116 of file RecordAndDetailsParser.hh.
Referenced by ~RecordAndDetailsParser().
|
private |
Definition at line 114 of file RecordAndDetailsParser.hh.
Referenced by parseRecord(), and summarizeRecordParsing().
|
private |
Definition at line 111 of file RecordAndDetailsParser.hh.
Referenced by parseRecord(), and summarizeRecordParsing().
|
private |
Definition at line 113 of file RecordAndDetailsParser.hh.
Referenced by parseRecord(), RecordAndDetailsParser(), and summarizeRecordParsing().
|
private |
Definition at line 112 of file RecordAndDetailsParser.hh.
Referenced by parseRecord(), and summarizeRecordParsing().