JS8

161 views
Skip to first unread message

ea8ee

unread,
Nov 11, 2022, 6:20:06 AM11/11/22
to spar...@googlegroups.com

Any chance to implement Js8?



Mailtrack Remitente notificado con
Mailtrack
11/11/22, 11:19:46

ahop...@googlemail.com

unread,
Nov 11, 2022, 6:46:38 AM11/11/22
to SparkSDR
Hi,
I did start adding JS8 years ago, I'm not sure why it never got finished. I shall have another look.  I imagine you can still use DigiU mode and vac to the JS8 program, I've not tested for a long time.
73 Alan M0NNB

Steve Haynal

unread,
Dec 11, 2022, 11:03:11 PM12/11/22
to SparkSDR
Hi Alan,

Any progress with JS8 skimming support? It is now the 3rd highest source of spots on psk reporter.

73,

Steve
kf7o

ahop...@googlemail.com

unread,
Dec 13, 2022, 2:39:15 AM12/13/22
to SparkSDR
Hi Steve,
I just had a look at my last attempt at this and it does not look like much work to finish it. I'll have a go over the holiday. 
73 Alan M0NNB

ahop...@googlemail.com

unread,
Jan 7, 2023, 6:39:35 AM1/7/23
to SparkSDR
Hi Steve and group,
version 2.0.938 has both an inbuilt low cpu JS8 decoder (level 0) and will use JS8Call if installed for higher levels.  I think I have got as far as I can in decoding this without looking at the gpl source code.  It would be nice to enable tx and full operation, I've emailed the author of JS8Call but so far have not heard anything.  It does decode one form of free text message but does not attempt to join the parts together, these are the messages listed with no callsign.

If the higher levels don't work on mac/linux you may need to edit preferences.json to set the path to js8 as previous versions may have written a windows path to that field.

A degree of guesswork was involved in getting this to work so please report any oddities.

73 Alan M0NNB

Steve Haynal

unread,
Jan 8, 2023, 2:01:40 AM1/8/23
to SparkSDR
Hi Alan,

Thanks a lot! I have it running now with the inbuilt decoder on linux-864. I'll let you know how it goes.

73,

Steve
kf7o

VE7PPE

unread,
Jan 30, 2023, 5:19:08 PM1/30/23
to SparkSDR
Hi,

I'm currently testing the JS8 on your newest release.  Seems to be picking up spots on 40m, especially this morning.

What would it take to be able to push @APRS messages up to APRS-IS?  Being that JS8 implements APRS as receive only, it would be beneficial to use my SDRPlay with SparkSDR as a fill-in IGate in addition to FT8 & WSPR

Thanks,

ahop...@googlemail.com

unread,
Jan 30, 2023, 6:23:39 PM1/30/23
to SparkSDR
Hi, that is an interesting idea, I just found a video on sending aprs position via JS8Call, are these the messages you mean?  They appear to be 2 part messages that hopefully I can decode.  There are some messages I can't decode at the moment without looking at the source and there are possible license issues with that, I've not heard from the author yet.
73 Alan M0NNB

VE7PPE

unread,
Jan 30, 2023, 7:18:21 PM1/30/23
to SparkSDR
Yup, one can send position, email, sms, spot yourself for POTA/SOTA all via using the @APRS group in JS8.  Then hopefully picked up by volunteer IGate --> APRS-IS.  My goal is to provide another IGate to fill-in on 40m (NVIS) or 20m/30m/80m where there are much less APRS IGates in JS8.

I was using my transceiver before, but prefer to use a SDR receiver at 150ma at QTH, then can operate portable knowing there is at least one JS8 IGate reachable

ahop...@googlemail.com

unread,
Feb 2, 2023, 5:54:28 AM2/2/23
to SparkSDR
I've had a play with this, by connecting JS8Call to digiu in spark and opening another js8 virtual receiver I can then transmit into my hl emulator from JS8Call and examine what is sent.  The APRS messages uses the js8 dictionary compression mode which I was not decoding.
I have managed to reverse engineer this by reading about (s,c) dense compression here  (99+) (S,C)-Dense Coding: An Optimized Compression Code for Natural Language Text Databases | Pablo de la Fuente - Academia.edu but this did require me to extract the dictionary table from the JS8Call source,  I'm not sure what the license implications of this are so will delay releasing.
73 Alan M0NNB

PE3ES / F4VTQ

unread,
Feb 28, 2023, 9:34:28 AM2/28/23
to SparkSDR
JS8CALL is open source as it uses many other open source parts as well see intro from the User Guide.

>>
  JS8Call is an experiment in combining the robustness of FT8 (a weak-signal mode by K1JT) with a messaging and network protocol layer for weak signal communication. The open source software is designed for connecting amateur radio operators who are operating under weak signal conditions and offers real-time keyboard-to-keyboard messaging, store-and-forward messaging, and automatic station announcements. JS8Call is heavily inspired by WSJT-X, Fldigi, and FSQCall and would not exist without the hard work and dedication of the many developers in the amateur radio community.   
<<

 If you receive software under an Open Source license, you can always use that software for commercial purposes, but that doesn’t always mean you can place further restrictions on people who receive the software from you. In particular, copyleft-style Open Source licenses require that, in at least some cases, when you distribute the software, you must do so under the same license you received it under.

As SparkSDR is not Open Source (if I remember correctly), and not commercial (even though that would not make any difference), it looks as if you can use it without issues. As long as you mention it somewhere in the SparkSDR info.
Op donderdag 2 februari 2023 om 11:54:28 UTC+1 schreef ahop...@googlemail.com:

ahop...@googlemail.com

unread,
Feb 28, 2023, 11:32:19 AM2/28/23
to SparkSDR
Hi, the situation is a little more complex than that, this is my understanding:-
It is generally accepted that connecting to gpl programs through the command line is ok and does not make your program a 'derivative work' so connecting to JS8Call to decode is fine especially as I do not distribute it.  What I certainly can't do, without permission from the author, is use parts of the code in my program if I distribute it, so the JS8 decoder decoder built into spark (level 0) is a clean room version written without looking at the source code, as once you have looked it is hard to claim with a clear conscience that you have not used part of it.  Unfortunately the documentation was not enough to recreate the dictionary used for compression without a ridiculous amount of reverse engineering. The author of JS8Call has very kindly indicated he is happy to release the dictionary data under a more permissive license but we have not finalized this yet.

73 Alan M0NNB
Reply all
Reply to author
Forward
0 new messages