#include "core/DspParserBase.h"
This class provides a base class from which various MityDSP parsers may be derived.
- See also
- tcDspParserBase Page
◆ tfParserCallback
typedef bool(* SocCamera::tcDspParserBase::tfParserCallback) (int, void *, int, unsigned int, void *) |
Prototype for message complete callbacks.
- Parameters
-
[in] | anStatus | Cast of teDspParseStatus to an integer |
[in] | apData | Pointer to the buffer containing parse results |
[in] | anLength | Length of parse results |
[in] | anInfo | Other buffer info (usually a checksum) |
[in] | apUser | User parameter (provided at registration) |
- Returns
- True to continue parsing, if possible False to restart parser on next message
◆ teDspParseStatus
possible return status'
Enumerator |
---|
eeParseOK | success
|
eeParseChecksumErr | checksum failure
|
eeParseSyncErr | data sync error
|
eeParseBustedMsg | broken message (missing data)
|
eeParseTooBigErr | result too big for output buffer
|
eeBaseLast | base class
errors beyond this are outside
|
◆ tcDspParserBase()
tcDspParserBase::tcDspParserBase |
( |
char * |
apOutBuf = NULL , |
|
|
int |
anOutBufLen = 4096 |
|
) |
| |
This constructor is used to create an instance of a parser. Storage for parser output, and the maximum size of the output, may be optionally provided. If no buffer is provided, the class attempts to create one.
- Parameters
-
[in] | apOutBuf | Address of parser output buffer (default: NULL) |
[in] | anOutBufLen | Length of output buffer (default: 4K) |
- Returns
- None.
- See also
- DspParserBase.h
◆ ~tcDspParserBase()
tcDspParserBase::~tcDspParserBase |
( |
| ) |
|
|
virtual |
This destructor is used to close up and free the resources tied to the associated parser.
- Returns
- None.
- See also
- DspParserBase.h
◆ AddData()
int tcDspParserBase::AddData |
( |
void * |
apData, |
|
|
int |
anLength |
|
) |
| |
|
virtual |
This routine is used to add data to the parser. In the base class, this is simply a "passthrough"... the input data is taken as a complete message and is passed to the callback. If the input fits in the output, the status is eeParseOK, otherwise eeParseTooBigErr.
- Parameters
-
[in] | apData | Pointer to new data |
[in] | anLength | Length of new data |
- Returns
- Integer number of messages completed this call.
- See also
- DspParserBase.h
Reimplemented in tcCamParser.
◆ AsciiHexDigitVal()
char tcDspParserBase::AsciiHexDigitVal |
( |
char |
anHexdigit | ) |
|
|
protected |
This routine converts a hex character (0-9, a-f, or A-F) to it's corresponding numeric value.
- Parameters
-
[in] | anHexdigit | The ASCII character to convert |
- Returns
- The resulting numeric value
- See also
- DspParserBase.h
◆ AssembleLine()
int tcDspParserBase::AssembleLine |
( |
void * |
apInput, |
|
|
int |
anLength, |
|
|
bool & |
arLineComplete |
|
) |
| |
|
protected |
Utility routine to assemble a line of data (delimited by a <CR> or <LF>) into the local line buffer.
- Parameters
-
[in] | apInput | Pointer to the raw input data. |
[in] | anLength | Length of available raw data. |
[out] | arLineComplete | Set to true if a completed line is available. |
- Returns
- Number of bytes consumed from the input buffer.
- See also
- DspParserBase.h
◆ RegisterCallback()
void tcDspParserBase::RegisterCallback |
( |
tfParserCallback |
afCallback, |
|
|
void * |
apUser = NULL |
|
) |
| |
|
virtual |
Registers the specified callback for the parser.
- Parameters
-
[in] | afCallback | The application callback to associate with the parser (or NULL for none). |
[in] | apUser | An argument to be supplied with the callback. |
- Returns
- None.
- See also
- DspParserBase.h
◆ ResetParser()
bool tcDspParserBase::ResetParser |
( |
char * |
apOutBuf = NULL , |
|
|
int |
anOutBufLen = 0 |
|
) |
| |
|
virtual |
This routine is used to reset a parser to an initialized state. A new output buffer may optionally be provided.
- Parameters
-
[in] | apOutBuf | Address of new parser output buffer (default: NULL) |
[in] | anOutBufLen | Length of new output buffer (default: 0) |
- Returns
- True, if successful.
- See also
- DspParserBase.h
Reimplemented in tcCamParser.
◆ maLineBuffer
char* SocCamera::tcDspParserBase::maLineBuffer |
|
protected |
(or other entities) to parse.
Storage to acculate complete lines
◆ mbStorageCreated
bool SocCamera::tcDspParserBase::mbStorageCreated |
|
protected |
Indicates whether out buf created.
◆ mfCallback
Storage for parser callback.
◆ mhMutex
C_SECT SocCamera::tcDspParserBase::mhMutex |
|
protected |
Semaphore to serialize access.
◆ mnBadMsgs
unsigned int SocCamera::tcDspParserBase::mnBadMsgs |
◆ mnBytesRead
unsigned int SocCamera::tcDspParserBase::mnBytesRead |
◆ mnBytesWritten
unsigned int SocCamera::tcDspParserBase::mnBytesWritten |
◆ mnChecksum
unsigned int SocCamera::tcDspParserBase::mnChecksum |
|
protected |
Storage to accumulate checksum.
◆ mnChecksumErrs
unsigned int SocCamera::tcDspParserBase::mnChecksumErrs |
Number of checksum errors.
◆ mnGoodMsgs
unsigned int SocCamera::tcDspParserBase::mnGoodMsgs |
Count of valid messages decoded.
◆ mnLineBufLen
int SocCamera::tcDspParserBase::mnLineBufLen |
|
protected |
◆ mnLinePos
int SocCamera::tcDspParserBase::mnLinePos |
|
protected |
Working position in the line buffer.
◆ mnOutBufLen
int SocCamera::tcDspParserBase::mnOutBufLen |
|
protected |
Current bytes written to output.
◆ mnSyncErrs
unsigned int SocCamera::tcDspParserBase::mnSyncErrs |
Number of synchronization errors.
◆ mpOutBuf
char* SocCamera::tcDspParserBase::mpOutBuf |
|
protected |
Pointer to output storage.
◆ mpUserParameter
void* SocCamera::tcDspParserBase::mpUserParameter |
|
protected |
User-provided parameter to callback.
The documentation for this class was generated from the following files:
- /tmp/mitycam_sdk/ARM/camera_software/src/CommandInterface/MityViewer/DspParserBase.h
- /tmp/mitycam_sdk/ARM/camera_software/src/CommandInterface/MityViewer/DspParserBase.cpp