Skip to content

Latest commit

 

History

History
 
 

sbpjson

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

SBP JSON Comprehension Libraries

We have several tools that produce a representation of SBP in JSON format. Particularly, we have a native binary tool sbp2json, which is released as an Ubuntu binary (for example, the libsbp 2.7.1 release). Since this tool is Haskell based, it can be compiled and utilized on any platform that Haskell supports.

For other platforms, we have a Python version of the sbp2json tool, which allows a user to simply run pip3 install sbp on any platform that supports Python. The user can then invoke the tool with Python's "module as a script" feature (PEP 338), for example:

socat tcp:<piksi_ip_addr>:55555 | python -m sbp2json

(On some platforms, this Python tool is accelerated with native code, and has performance that's comparable to the Haskell tool.)

The libraries here are generated using JSON Schema in combination with the QuickType tool to injest the output of sbp2json and produce "native" objects which allow users to fully utilize whatever type checking their language provides. This also enables "developer assistance" technologies like IntelliSense for exploring SBP message types during development.

See javascript/README.md for a quick usage example. Also see HOWTO.md for information on how to update these definitions if needed.