Coder Social home page Coder Social logo

nexx512 / txppm Goto Github PK

View Code? Open in Web Editor NEW
21.0 21.0 5.0 644 KB

RC-Transmitter ppm signal to joystick input converter through the microphone jack

License: GNU General Public License v3.0

Makefile 1.88% C 64.61% C++ 33.51%
joystick rc-transmitter simulator

txppm's People

Contributors

nexx512 avatar smeat avatar zexx86 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

txppm's Issues

Kernel module is not loaded

I am using fedora 31, after installing everything successfully i run the program with ppm2tx-gui and when i click on start button i get error:
Kernel module is not loaded or permission for /dev/tx is insufficient.
Please check README file for more detials.
Any suggestions ?

module compilation error

I'm try to follow your Readme, but just at start during module compilation I get:

uname -a
Linux meanmachine 4.14.6-1-ARCH #1 SMP PREEMPT Thu Dec 14 21:26:16 UTC 2017 x86_64 GNU/Linux

make -C /lib/modules/4.14.6-1-ARCH/build M=/path/to/txppm/module modules
make[1]: Entering directory '/usr/lib/modules/4.14.6-1-ARCH/build'
make[1]: *** No rule to make target 'Racing'.  Stop.
make[1]: Leaving directory '/usr/lib/modules/4.14.6-1-ARCH/build'
make: *** [Makefile:6: all] Error 2

Does not compile with my linux 4.11...

And perhaps newer linux with "raw_copy_from_user" but works great with r = copy_from_user (...);
despite running kernel >4.0
Compiler said implicit declaration of function, and from my limited coding experience, I assumed the raw_copy_from_user does not (no longer?) exist newer linux kernels.
Fixed by removing/commenting out lines 98, 99, 100 and 102.
This could be closed right away, I wrote it just to help others with a quick fix.

Many thanks for this code!!!
Tested with HELI-X v6.x and an Sanwa rds8000 radio. I experienced zero lag or extra jitter.

Issues installing and running on Manjaro/Arch. Probably an issue with Intel audio

I followed this tutorial: https://steamcommunity.com/app/410340/discussions/3/3211505894113757828/

First of all, I was unable to find portaudio19-dev, but there were already portaudio 1:19.6.0-6 and lib32-portaudio 1:19.6.0-4 installed. Here is a screenshot of what is available in repos.
Screenshot_20200512_162950

module make was successful

[olive@olive-videoproject module]$ make
make -C /lib/modules/5.6.8-1-MANJARO/build M=/home/olive/Downloads/txppm-master/module modules
make[1]: Entering directory '/usr/lib/modules/5.6.8-1-MANJARO/build'
  CC [M]  /home/olive/Downloads/txppm-master/module/tx.o
  MODPOST 1 modules
  CC [M]  /home/olive/Downloads/txppm-master/module/tx.mod.o
  LD [M]  /home/olive/Downloads/txppm-master/module/tx.ko
make[1]: Leaving directory '/usr/lib/modules/5.6.8-1-MANJARO/build'

however, sudo make install had some issues

[olive@olive-videoproject module]$ sudo make install
[sudo] password for olive: 
make -C /lib/modules/5.6.8-1-MANJARO/build M=/home/olive/Downloads/txppm-master/module modules_install
make[1]: Entering directory '/usr/lib/modules/5.6.8-1-MANJARO/build'
  INSTALL /home/olive/Downloads/txppm-master/module/tx.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: crypto/bio/bss_file.c:69
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: crypto/bio/bss_file.c:76
sign-file: certs/signing_key.pem: No such file or directory
  DEPMOD  5.6.8-1-MANJARO
make[1]: Leaving directory '/usr/lib/modules/5.6.8-1-MANJARO/build'
depmod
install 100-txppm.rules /etc/udev/rules.d/

software make was also successful

[olive@olive-videoproject software]$ make
cc -O2  -c -oppm.o ppm.c
cc -O2  -c -osys.o sys.c
cc -O2  -c -otui.o tui.c
cc -o ppm2tx ppm.o sys.o tui.o -lpthread -lportaudio -lm -lasound -O2

and make install

[olive@olive-videoproject software]$ sudo make install
[sudo] password for olive: 
install ppm2tx /usr/local/bin/
mkdir -p /usr/local/share/txppm
install logo.png /usr/local/share/txppm/
install ../LICENSE /usr/local/share/txppm/
install icon.png /usr/share/pixmaps/
install txppm.desktop /usr/share/applications/

starting ppm2tx seems can't find compatible device

[olive@olive-videoproject software]$ ppm2tx
TXPPM - ppm2tx v.0.3.8 by Jürgen Diez
This program comes with ABSOLUTELY NO WARRANTY; for details see the LICENSE shipped with this software.
This is free software, and you are welcome to redistribute it under certain conditions; check the LICENSE file shipped with this software for details.Syntax: ppm2tx <deviceid> <mixing>

List of available devices:
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
DeviceID (0) name: HDA Intel PCH: ALC662 rev3 Analog (hw:0,0).
DeviceID (7) name: sysdefault.
DeviceID (15) name: samplerate.
DeviceID (16) name: speexrate.
DeviceID (17) name: pulse.
DeviceID (18) name: speex.
DeviceID (19) name: upmix.
DeviceID (20) name: vdownmix.
DeviceID (22) name: default.

sudo dmesg | tail does not have twoo needed lines
[ 3442.005651] input: PPM Transmitter as /devices/virtual/input/input15
[ 3442.005742] tx: device /dev/tx created (major: 222 minor: 0)

[olive@olive-videoproject ~]$ sudo dmesg | tail
[11340.173639] audit: type=1106 audit(1589294414.221:157): pid=40134 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:session_close grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11340.173641] audit: type=1104 audit(1589294414.221:158): pid=40134 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:setcred grantors=pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11377.435311] audit: type=1101 audit(1589294451.485:159): pid=40193 uid=1000 auid=1000 ses=1 subj==unconfined msg='op=PAM:accounting grantors=pam_unix,pam_permit,pam_time acct="olive" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11377.435522] audit: type=1110 audit(1589294451.485:160): pid=40193 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:setcred grantors=pam_unix,pam_permit,pam_env acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11377.437655] audit: type=1105 audit(1589294451.488:161): pid=40193 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:session_open grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11377.444345] audit: type=1106 audit(1589294451.495:162): pid=40193 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:session_close grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11377.444413] audit: type=1104 audit(1589294451.495:163): pid=40193 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:setcred grantors=pam_unix,pam_permit,pam_env acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11445.071706] audit: type=1101 audit(1589294519.119:164): pid=40291 uid=1000 auid=1000 ses=1 subj==unconfined msg='op=PAM:accounting grantors=pam_unix,pam_permit,pam_time acct="olive" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11445.071870] audit: type=1110 audit(1589294519.119:165): pid=40291 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:setcred grantors=pam_unix,pam_permit,pam_env acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'
[11445.074327] audit: type=1105 audit(1589294519.122:166): pid=40291 uid=0 auid=1000 ses=1 subj==unconfined msg='op=PAM:session_open grantors=pam_limits,pam_unix,pam_permit acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/2 res=success'

install: cannot stat ‘ppm2tx’: No such file or directory

Trying to compile txppm on a Mint machine. Machine is fully up to date. Getting the following error.

install ppm2tx /usr/local/bin/ install: cannot stat ‘ppm2tx’: No such file or directory make: *** [install] Error 1

Any help would be appreciated.

Compilation errors

Hi, and thanks for pushing support of this program!

However, I'm getting a bunch of compilation errors. The first one I think I have a possible solution to.
"ISO C90 forbids mixed declarations and code", found a fix here: https://stackoverflow.com/questions/13291353/iso-c90-forbids-mixed-declarations-and-code-in-c
On my system at least the compiler was defaulting to some outdated standard (c89).
BTW, I'm running Linux Mint 18.2 64bit on an Intel Core duo p9700.

I added the following to the Makefile, and the ISO C90 error disapeared:
CC = gcc
ccflags-y = -Wall -std=c99

After this I run into some issues with the included kernel.h, which is far beyond my scope of understanding :) Error output from trying to "make" in the /module folder is attached.
kernel_make_results.txt

Data are incompatibile length

Hi, I tried ppm2tx-gui with my Flysky i6 tx. Connected to my linux computer via mini-DIN to 3.5mm jack self made reduction and ran ppm2tx-gui. The channels were randomly hopping and when I quit program i saw this text:

ERROR -> Data are incompatibile length !

Does anyone have an idea what might be wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.