DazDSP / EasyDRF

EasyDRF - "Easy Digital Radio Files" - A Windows HamDRM software application for sending files over HF radio.
https://dazdsp.org/tech/EasyDRF/
28 stars 4 forks source link

RS does not cooperate with EasyPAL #4

Open robertcb1 opened 3 years ago

robertcb1 commented 3 years ago

Hi.

RS only works properly between two running EasyDRF programs. I think it is not changing the extension of the uploaded file to .rs1 .rs2 .rs3 .rs4 with RS enabled. EasyPAL does not interpret it as RS and does not open the received file. I mean both the situation when we broadcast EasyDRF program and receive EasyPAL and vice versa.

DazDSP commented 3 years ago

There's more to it than just the file extension.

No attempt has been made to make EasyDRF work with EasyPal, as it wasn't easily possible to find out the details of the protocol that EasyPal uses.

Instead, some new and improved methods were used to make the system more reliable to some extent.

robertcb1 commented 3 years ago

The RXAMADRM and TXAMADRM software by Ties PA0MBO is RS compatible with EasyPAL. This colleague has the right protocol and will be happy to share it with you. And it would be good if all these programs were compatible with each other.

DazDSP commented 3 years ago

I asked Ties about the protocol, but the answers weren't detailed enough to provide adequate understanding to write code. I could pursue this further, but it would be of little benefit and would add complexity without improving performance.

TRXAMADRM may work with EasyPal, but it has limitations that degrade it's performance. It doesn't work exactly the way EasyPal does, and this results in problems.

For example, EasyPal breaks the file segments into chunks, and sends the file header many times during transmission to try to avoid header loss. TRXAMADRM does not do this, and it is not clear how EasyPal does. If the header fails to decode, the entire file is lost (no filename or file size data) - even with RS coding.

Instead, I updated the methods used to avoid the problems. It is better to make an upgraded protocol that avoids the weaknesses and remains simple and clear.

EasyPal also has some security problems that are probably best avoided.

DazDSP commented 3 years ago

I just tested whether adding an .rs4 extension to a file would allow EasyPal to decode the RS4 coding - but it didn't work. It just saved the file with that .rs4 extension and left it RS4 coded.

EasyPal used some sort of complicated scheme to encode the original extension into a series of numbers appended to the front of the filename. I have no idea why it was done that way.. A much simpler option would have been to just add the extra extension to the original file name. This is commonly done to denote gzip compression on a file, and it works fine.