How to Recover Abbreviated ASCII Logs from Raw Data
Commands/messages are sent/logged in:
binary: requested by appending `b` to message name (i.e: BESTPOSB)
ASCII: requested by appending `a` to message name (i.e: BESTPOSA)
Abbreviated ASCII: used for ease of reading during acquisition via NovAtel Connect or a third party terminal emulator application. No letter appended after message name (i.e: BESTPOS)
If for some reason users forget to append the `b` to a log request (while saving data to the PC for post-processing, troubleshooting), the log will be saved in abbreviated ASCII rather than binary (or ASCII, even though binary is recommended). Now, when converting the data from binary to ASCII via NovAtel Convert, they will have an issue as Convert does not recognize abbreviated ASCII messages. Thus, the binary messages will be converted to ASCII, but the abbreviated ASCII logs will be ignored.
The problem here is that the file contains both binary and ASCII data and as such a method is required in order to separate one from the other. That way, the abbreviated ASCII messages could be isolated and parsed some other way.
Linux contains the string command line command which separates binary from ASCII strings in one file. The script found in http://live.sysinternals.com/strings.exe provides the same functionality for Windows DOS. The input neeeded is:
strings.exe -a -n input.log > output_AbASCII.txt
-a --> specifies we want to isolate ASCII
-n 10 --> specifies we only want to consider strings that are greater than 10 characters in length
2014_322_2804_span_1.log --> the original binary + abbreviated ASCII messages
Output.test --> output file