nexx512 / txppm Goto Github PK
View Code? Open in Web Editor NEWRC-Transmitter ppm signal to joystick input converter through the microphone jack
License: GNU General Public License v3.0
RC-Transmitter ppm signal to joystick input converter through the microphone jack
License: GNU General Public License v3.0
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 ?
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
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.
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.
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'
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.
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
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?
I built this per the readme but I am getting this error. New to linux so any help would be appriciated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.