I currently have 3 speed modes, 300 baud, 600 baud, 1200 buad. 1200 is basically not possibly in anything but NVIS type HF conditions.
Interesting idea! Yes, JS8CALL has multiple modes. slow, slower, very slow and the worst. lol. Its a fantastic protocol. Very robust and can be used in terrible HF conditions. Currently it is all AX25 spec packets. 200kb chunks that get split then combined back together.
JS8 is amazing, and does have an undocumented API, but its bad. Its just not right for this project. However, future plans include:
Full KISS MODEM FL DIGI - Be able to use most if not all FL DIGI modes for very fast OR robust data transsfer, and eventually protocol switching
Reticulum Network KISS packet support. To be able to then use it on hf, fm, lora, and even just plain old encrypted internet node connections. Or better yet, a mix of all the above.
ie: Use LORA RN device to send from an offgrid channel a few miles away to an HF connected base station, which then sends it to the server.
I used speficifacally KISS packets because of the future operability with FLDIGI and Reticulum.
FM on VHF/UHF is currently working OK at 1200 baud, but currently that is the limit. In the future will add support for 2300 or even 9600 bps depending on band conditions. The biggest thing is the client and server currently have to stay on the same baud and frequencies/modes.
I plan on having a winlink style switching later on that will rotate through different HF bands possibly so you can try different bands conditions.