minimodem icon indicating copy to clipboard operation
minimodem copied to clipboard

port minimodem to Android

Open hosseinpro opened this issue 7 years ago • 6 comments

Hi

I want to use minimodem in Android. As I understand from your code, I should only add a new “simpleaudio_backend” for Android. Is there any other thing that you think I should change?

To address this, I think OpenSL ES in Android NDK is good choice to develop new “simpleaudio_backend”, because in this way there is no need to root permission in Android.

Do you have any advice for me?

hosseinpro avatar Jun 19 '17 20:06 hosseinpro

good idea.. I would also implement error correction and data compression (emulate all modes from 300 bps to 56K)

Zibri avatar Oct 25 '17 07:10 Zibri

I wonder if this could be achieved with webjack, a pure JavaScript implementation: https://github.com/publiclab/webjack

We're definitely looking to prove out compatibility with minimodem.

jywarren avatar Feb 03 '18 15:02 jywarren

FWIW, I've had some success compiling minimodem@9a1e876 on Termux 0.65 with the following command:

clang -DUSE_PULSEAUDIO -o minimodem src/minimodem.c src/databits_ascii.c src/databits_binary.c src/databits_callerid.c src/databits_baudot.c src/baudot.c src/databits_uic.c src/uic_codes.c src/fsk.c -lfftw3f simple*.o -lc -lpulse-simple -lpulse -lm -lc -lgcc -ldl

You will first need to install the appropriate libraries:

pkg install pulseaudio libpulseaudio libpulseaudio-dev fftw fftw-dev clang

It seems that, at least on my device, only audio output works. YMMV.

kbrn avatar Mar 29 '19 22:03 kbrn

Oops: In the command above, replace simple*.o with src/simple*.c. That makes the command:

clang -DUSE_PULSEAUDIO -o minimodem src/minimodem.c src/databits_ascii.c src/databits_binary.c src/databits_callerid.c src/databits_baudot.c src/baudot.c src/databits_uic.c src/uic_codes.c src/fsk.c -lfftw3f src/simple*.c -lc -lpulse-simple -lpulse -lm -lc -lgcc -ldl

kbrn avatar Mar 29 '19 22:03 kbrn