Re: Has there been any successful deployment of CCW on a raspberry pi? #raspberrypi #pi #linux


On 4/21/2018 12:20 PM, Nick G4IRX wrote:
I briefly looked into decoding and encoding with FLdigi. What we need it details of the checksum calculation that is appended to the packets an used for validation when decoding.

Personally I think trying to run this under arm Linux on a Pi is going to be too resource heavy to work reliably.


Why oh why do people keep trying to beat a round peg into a square hole?    It's intrinsically a kludge to run native Windows programs under Linux.  Trying to do this on a Ras Pi just makes it doubly kludgy since you don't have a native display, don't have a native keyboard/mouse,  don't have enough USB ports, etc.   By the time you acquire the rat's nest of USB hubs, mini HDMI cables, externalHDMI monitor (or VGA mon plus HDMI-to-VGA converter, etc) you will have spent far ;more than just installing the Messenger app on a cheap 7' or 8" Windows tablet that sells for less than $100.     

If you do want to kludge FLdigi to do Messenger-mode packets, here are the details you need.   this is a post made years ago by G4HYG

How it works...APRS over PSK-63     Revised 23 Nov 2014

Previous attempts to use the PSK modes for APRS using an add-on that the late Roger Barker G4IDE wrote for UI_View have been disappointing as no error checking or AFC was used in the original add-on. This resulted in incorrect callsigns and positions appearing on the UI-View map and APRS-IS.

I wanted to improve on this as the performance of HF 300 bd packet has been poor during the recent sunspot minimum.

So how does it work...

Let's say we want to send the following APRS packet:

G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz

First the program calculates a checksum using the CRC-16 Modbus algorithm. For the above APRS packet it works out in hex as: 4B60
This is then added to the packet:

G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz4B60

A start and end flag "~" tilde character is added at the start and end of the packet. This is similar to what is used in a AX.25 packet frame.
This gives:

~G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz4B60~

To overcome any data corruption in the receiver due to the AFC locking on or AGC on a strong signal eight dots are added at the start ........
(Five dots in early APRS Messenger versions, eight dots from v 2.35 to reduce packet errors). A space is added after the final "~" tilde character so that the start and end tilde characters can be found in a stream of random noise characters.

We finally transmit the following packet:

........~G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz4B60~

When this is received at another station it could be corrupted by interference or noise.

A typical received signal follows:

...~G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz4B60~ kt e h

Note that two of the dots at the start are missing and "kt e h" has been added at the end as the receiver PSK squelch was closing.

The receive side of the program now looks for the start and end "~" tilde flags and extracts the text between them:

G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz4B60

The last four characters are extracted and a CRC-16 Modbus checksum is calculated on what is left. This checksum is compared with the extracted four characters to confirm that the received packet is the same that sent by the sender. In this case it is:

4B60 is the same as 4B60 so the packet is confirmed as correct.

The packet is now displayed on the screen even if it has errors so that it can be manually read. If the packet has checked OK then it is sent to the APRS-IS:

G4HYG>APSK-63:=5332.76N/00225.91W&Testing APRS Messenger v2.26 on 10.1497 MHz


Chris, G4HYG

Join to automatically receive all group messages.