piopawlu.net General Purpose Blog by Piotr Pawluczuk – software, hardware and other not always useful stuff!

SBS1 Utilities

If you find these utilities useful you can show your appreciation by donating any amount using the PayPal button below.


All the utilities are now packed up into a single binary called sbs1xxx / sbs1xxx.exe. On each major update I will be releasing builds for the following operating systems:

  • Linux 2.6.xx
  • Mac OS X 10.5.x+
  • FreeBSD 6.2/6.3
  • Windows 2000/XP - Please note that I am not a regular Windows user and therefore this build is the most buggy as some POSIX features have to be emulated.
  • I will also release a build for NSLU2 SlugOS LE occasionally

New features:

  • Basestation  TCP 30003 compatibility mode, use --output-type tcp30003 or --ot tcp3003 parameter
  • Multiple receiver support, you can now connect up to 5 receivers either over USB or TCP/IP and merge their output into a single stream
  • Output stream can now be redirected to console/stdout using the --stdout flag, you can save some resources when TCP connection is not necessary

A few usage scenarios before documentation is ready:

  1. Multiplexer - This mode is available for UNIX builds only. Windows users are kindly asked to purchase a copy of JetVisions Multi-EM software.
    sbs1xxx --sbs1dev /dev/ttyUSB0 --multiplexer 1234 --check-crc
    sbs1xxx --sbs1ip 192.168.1.3:10001 --multiplexer 1234 --check-crc
  2. Custom decoder - This mode is available on all platforms. It decodes ModeS messages and prints data either to stdout or a socket connected to built in server
    sbs1xxx --sbs1ip 192.168.1.3:10001 --ot tcp --stdout --check-crc
  3. BS3003 compatible feed - This mode is available on all platforms. It does its best to emulate Basestation default TCP 30003 data feed without the sqlite3 database of course
    sbs1xxx --sbs1ip 192.168.1.3:10001 -ot tcp30003 --ss --ssp 30003
  4. Multiplexer and decoder - You can use multiplexer together with the built in data decoder, here I use 'gps' mode which produces files almost directly acceptable by gps-visualizer service:
    sbs1xxx --sbs1dev /dev/ttyUSB0 --multiplexer 20072 --ot gps --stdout
  5. Multiple receivers / merging data - You can now connect up to 5 SBS-1 receivers and merge their data into a single ModeS stream. This stream can be connected to Basestation with multiplexer option and/or decoded by one of the built in decoders:
    sbs1xxx --sbs1dev /dev/ttyUSB0 --sbs1ip 192.168.1.3:10001 --multiplexer 20072 --ot gps --stdout

Testing:

As mentioned in the recent post this software still needs testing. I am particularly interested in checking how it decodes ModeS reports from planes all over the world as 100% of testing was performed in Europe with positive latitude and longitude values. There is an option which will let you record raw ModeS messages which you can later send to me for debugging:
--record /path/to/file.rec

EULA:

By downloading and using this software you confirm that you understand the following license. You are allowed to use this software for personal non-commercial and research purposes only. You are not allowed to modify, redistribute it in any form. You may create a freeware/open source product that uses this software but you must not include the sbs1xxx utility it in your application bundle.

If you'd like to use any of my utilities in a commercial product or for different than research purposes please mail me for a formal written approval.

Downloads:

Comments (9) Trackbacks (0)
  1. Hi Piotr,
    great work, not only your website! Just one thing: when I type
    “file sbs1xxx_linux_20100203-2254.tar.bz” it says:
    “gzip compressed data, from Unix, last modified: Wed Feb 3 22:54:51 2010″
    Your file is neither bzip compressed nor tarred, but apart from that, it works great!!! Thank you very much.

    BTW: Did you change the TCP output? I see here 17 fields instead of the former 15. It seems that there are two additional fields between “Ground Speed” and “On Ground Flag”. I also saw many undocumented options when I opened the executable with a text editor. Maybe you could give a short explanation of the command line options.

    Helge.

  2. Hi Helge,

    I used tar -czf and still named it tar.bz instead of tgz, the file name is fixed now.

    Yes, there are two more fields IAS and TAS, but they are not present very often. I will provide more detailed information when I have some more time.

    btw. the theme was not created by me, it’s “monochrome” by “mono-labs”. I think I’ll have to change it again as it uses too space to display useless information.

  3. Great work! Just what I’ve been looking for.

    Is there some correction / datum change to the output longitude based on the receiver location? As is it is, it doesn’t look correct. Almost looks like (100.0 – lon) would be more like what I’d expect here.

    Regards

    Colin

  4. Hi Colin,

    Can you please create a record file so I can debug it on my machine?

    The new algorithm does not need to know the receivers location, but as I said it was tested exclusively in Europe so I didn’t really have a chance to play with Western Hemisphere :)

  5. @Piotr

    Piotr

    Okay – as soon as I have an email address for you I will attach some –record output.

    BTW – I’m located in NW. England so would expect to see longitudes perhaps from 1Deg East to 4Deg West. Perhaps getting contacts on “both” sides of 0Deg meridian is the issue?

    Colin

  6. Thanks, I have replied to you by email. I can’t tell at this point whether it’s the 0deg crossing issue or not. The algorithm itself was written according to ICAO docs, I believe they have taken that into account, but I must have left a bug. Waiting for a recording now :)

    Piotr

  7. Hi Piotr,
    when I have a look into the hex output I can see the DF04, DF05, DF11, DF17, DF20 and DF21. Do you know if it is also possible to get the DF00 and DF16 from the SBS1?

    Best regards
    Helge.

  8. Unfortunately the only way to do that would be to modify the FPGA firmware which is not something I am going to play with. Especially when you can build your own non-restricted receiver for about $50.

  9. Thank you, so the “–ot hex” is really everything that is coming from the receiver.


Leave a comment


Anti-Spam Protection by WP-SpamFree

Trackbacks are disabled.