LibMISB/Examples/Library basic usage: Difference between revisions
No edit summary |
No edit summary |
||
Line 63: | Line 63: | ||
=== Decode command === | === Decode command === | ||
To perform the decoding, the following command is executed. Where the '''--decode''' flag indicates that decoding is to be performed. The '''-i''' flag indicates the input file, where the metadata must be encoded. The '''-o''' flag indicates the output file, which contains the metadata decoded. | To perform the decoding, the following command is executed. Where the '''--decode''' flag indicates that decoding is to be performed. The '''-i''' flag indicates the input file, where the metadata must be encoded. The '''-o''' flag indicates the output file, which contains the metadata decoded. | ||
The encoded bytes found inside the klv.bin file are (represented in hexadecimal form): | |||
<syntaxhighlight lang=C> | |||
6 14 43 52 2 11 1 1 14 1 3 1 1 0 0 0 44 2 8 0 | |||
4 89 249 174 32 34 168 3 9 77 73 83 83 73 79 | |||
78 48 49 4 6 65 70 45 49 48 49 5 2 113 194 15 | |||
2 194 33 65 1 17 1 2 164 125 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang=C> | <syntaxhighlight lang=C> | ||
./misb-converter --decode -i klv.bin -o output.json | ./misb-converter --decode -i klv.bin -o output.json | ||
</syntaxhighlight> | |||
Once the command is executed, it reports that a decoded file was generated. The content of the output.json file is | |||
<syntaxhighlight lang=json> | |||
{ | |||
"key": "060E2B34020B01010E01030101000000", | |||
"items": [ | |||
{ | |||
"tag": "2", | |||
"value": "Oct. 24, 2008. 00:13:29.913" | |||
}, | |||
{ | |||
"tag": "3", | |||
"value": "MISSION01" | |||
}, | |||
{ | |||
"tag": "4", | |||
"value": "AF-101" | |||
}, | |||
{ | |||
"tag": "5", | |||
"value": "159.974365" | |||
}, | |||
{ | |||
"tag": "15", | |||
"value": "14190.719463" | |||
}, | |||
{ | |||
"tag": "65", | |||
"value": "17" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 19:57, 20 June 2022
LibMISB |
---|
![]() |
Introduction |
Supported Standards |
Getting Started |
Examples |
Evaluating |
Contact Us |
Testing library
This library has an example that you can execute. This example is a metadata converter that can encode or decode metadata. If you want to encode, the input file must respect one of the formats developed (for this first version, only could use JSON format) and will return a binary file with metadata encoded. On the other hand, if you want to decode the program receives a binary file and converts it to the format file selected (for this first version, only could use JSON format).
The executable is located on /misb-library/examples/misb/ or if you want to compile and execute the example file out of the project. The path of the example is located on /misb-library/examples/misb/misb-converter.cpp. To compile the example we suggest you follow the next Makefile:
FLAGS:=`pkg-config --cflags --libs misb-0.0` misb-converter: misb-converter.cpp g++ -o misb-converter misb-converter.cpp $(FLAGS)
To perform the encoding, the following command is executed. Where the --encode flag indicates that encoding is to be performed. The -i flag indicates the input file, where the metadata must be raw without encoding. On the other hand, the -o flag indicates the output file, which contains the encoded bytes in a binary file. The --verbose flag shows the KLV bytes encoded on the terminal.
The input JSON file that is going to be used is as follows:
{ "key": "060E2B34020B01010E01030101000000", "items": [ { "tag": "2", "value": "Oct. 24, 2008. 00:13:29.913" }, { "tag": "3", "value": "MISSION01" }, { "tag": "4", "value": "AF-101" }, { "tag": "5", "value": "159.97436" }, { "tag": "15", "value": "14190.7195" } ] } The command to encode:
./misb-converter --verbose --encode -i misb_ST0601_sample.json -o klv.bin
Once the command is executed (with the --verbose flag), the KLV bytes are displayed in hexadecimal format. The klv.bin file contains the encoded bytes.
INFO 6 14 43 52 2 11 1 1 14 1 3 1 1 0 0 0 44 2 8 0 4 89 249 174 32 34 168 3 9 77 73 83 83 73 79 78 48 49 4 6 65 70 45 49 48 49 5 2 113 194 15 2 194 33 65 1 17 1 2 164 125
Decode command
To perform the decoding, the following command is executed. Where the --decode flag indicates that decoding is to be performed. The -i flag indicates the input file, where the metadata must be encoded. The -o flag indicates the output file, which contains the metadata decoded.
The encoded bytes found inside the klv.bin file are (represented in hexadecimal form):
6 14 43 52 2 11 1 1 14 1 3 1 1 0 0 0 44 2 8 0 4 89 249 174 32 34 168 3 9 77 73 83 83 73 79 78 48 49 4 6 65 70 45 49 48 49 5 2 113 194 15 2 194 33 65 1 17 1 2 164 125
./misb-converter --decode -i klv.bin -o output.json
Once the command is executed, it reports that a decoded file was generated. The content of the output.json file is
{ "key": "060E2B34020B01010E01030101000000", "items": [ { "tag": "2", "value": "Oct. 24, 2008. 00:13:29.913" }, { "tag": "3", "value": "MISSION01" }, { "tag": "4", "value": "AF-101" }, { "tag": "5", "value": "159.974365" }, { "tag": "15", "value": "14190.719463" }, { "tag": "65", "value": "17" } ] }