Posts made by groupo
-
RE: Hardcoded IP in voxl-streamer
What steps would I need to take if I wanted to make those changes instead of waiting for an SDK update? I don’t necessarily need the behavior now that I have confirmed everything is working. But there are a few things for my very specific use case that could eliminate some hoops I have to jump through on my system. As Tom and I have discussed before, we’ve had to muddle our way through a few issues that weren’t part of your majority of use cases.
I assume this would involve building basically my own SDK (yours with very minor edits) then flashing it to the drone? Is that even possible?
-
RE: Hardcoded IP in voxl-streamer
@tom @Alex-Kushleyev thank you both. Hopefully there is a way to illustrate how mavcam manager, streamer, and camera server are all related. Maybe I am relying on the block diagram too heavily but it has been very confusing for me.
-
RE: Hardcoded IP in voxl-streamer
@Alex-Kushleyev The actual board may have many IPs, such as if wifi and modem are connected. It's my understanding it will use voxl-my-ip if auto_ip is True in mavcam-manager.conf, but if set to false it will select whatever default_uri is. I was trying to find a way to confirm that is in fact the the case. I did determine the issue was in VLC and solved it in another user's recent post.
In that post I did ask how mavcam-manger and streamer are coupled. From the block diagram on the docs, they appeared to be decoupled but its clear streamer relies on things set in mavcam-manager
-
RE: Gstreamer error: Streaming video to QGC over LTE
SO, I used ffplay and was able to see the stream successfully. A quick google about vlc/rtsp brought up many issues in the community after some recent updates. I am not sure how I was able to do this before and cannot now, but I did find a fix for windows
In case that link is ever deleted, I will paste the instructions here
"In VLC, under the Tools menu, go to Preferences (or Ctrl+p), open the Input/Codecs tab, and at the bottom in the Network area, the selection for "live555 stream transport" should be moved from "HTTP (default)" to "RTP over RTSP (TCP)". This worked, I can now view the video stream in VLC player."This resolves the RTSP stream for windows. Those config options are not available in the linux version of VLC but I did see some config options you can build VLC with. I did not venture too far down that path
-
RE: Gstreamer error: Streaming video to QGC over LTE
I am also having issues now seeing my stream in VLC. It works as expected in QGC but I get similar errors to @Rawdha-R.
I had this working before in August, in fact I reverted from 13.3. to 1.3.0 just to see if that was an issue, but it persists. I will include some screenshots of my process below
You can see in the next screenshot below that the video is being received by QGC
@tom wwan0 is in my network interface file, the default URI is set to that of the cellular modem, but of course auto_ip is set to true as well. Voxl-my-ip returns that of the cellular modem. I am a little confused though about how the config of mavcam-manager determines the behavior of voxl-streamer. In the diagram on the docs they seem decoupled.
I have included the verbose vlc log at the end of this file as well.
-- logger module started -- main debug: VLC media player - 3.0.16 Vetinari main debug: Copyright © 1996-2021 the VideoLAN team main debug: revision 3.0.13-8-g41878ff4f2 main debug: configured with ./configure '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-option-checking' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-debug' '--config-cache' '--disable-update-check' '--enable-fast-install' '--docdir=/usr/share/doc/vlc' '--with-binary-version=3.0.16-1build7' '--enable-a52' '--enable-aa' '--enable-aribsub' '--enable-avahi' '--enable-bluray' '--enable-caca' '--enable-chromaprint' '--enable-chromecast' '--enable-dav1d' '--enable-dbus' '--enable-dca' '--enable-dvbpsi' '--enable-dvdnav' '--enable-faad' '--enable-flac' '--enable-fluidsynth' '--enable-freetype' '--enable-fribidi' '--enable-gles2' '--enable-gnutls' '--enable-harfbuzz' '--enable-jack' '--enable-kate' '--enable-libass' '--enable-libmpeg2' '--enable-libxml2' '--enable-lirc' '--enable-mad' '--enable-matroska' '--enable-mod' '--enable-mpc' '--enable-mpg123' '--enable-mtp' '--enable-ncurses' '--enable-notify' '--enable-ogg' '--enable-opus' '--enable-pulse' '--enable-qt' '--enable-realrtsp' '--enable-samplerate' '--enable-sdl-image' '--enable-sftp' '--enable-shine' '--enable-shout' '--enable-skins2' '--enable-sndio' '--enable-soxr' '--enable-spatialaudio' '--enable-speex' '--enable-svg' '--enable-svgdec' '--enable-taglib' '--enable-theora' '--enable-twolame' '--enable-upnp' '--enable-vdpau' '--enable-vnc' '--enable-vorbis' '--enable-x264' '--enable-x265' '--enable-zvbi' '--with-kde-solid=/usr/share/solid/actions/' '--disable-aom' '--disable-crystalhd' '--disable-d3d11va' '--disable-decklink' '--disable-directx' '--disable-dsm' '--disable-dxva2' '--disable-fdkaac' '--disable-fluidlite' '--disable-freerdp' '--disable-goom' '--disable-gst-decode' '--disable-libtar' '--disable-live555' '--disable-macosx' '--disable-macosx-avfoundation' '--disable-macosx-qtkit' '--disable-mfx' '--disable-microdns' '--disable-opencv' '--disable-projectm' '--disable-schroedinger' '--disable-sparkle' '--disable-srt' '--disable-telx' '--disable-vpx' '--disable-vsxu' '--disable-wasapi' '--enable-alsa' '--enable-dc1394' '--enable-dv1394' '--enable-libplacebo' '--enable-linsys' '--enable-nfs' '--enable-udev' '--enable-v4l2' '--enable-wayland' '--enable-libva' '--enable-vcd' '--enable-smbclient' '--disable-oss' '--enable-mmx' '--enable-sse' '--disable-neon' '--disable-altivec' '--disable-omxil' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -ffile-prefix-map=/build/vlc-hoXXw1/vlc-3.0.16=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -ffile-prefix-map=/build/vlc-hoXXw1/vlc-3.0.16=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security ' 'OBJCFLAGS=-g -O2 -ffile-prefix-map=/build/vlc-hoXXw1/vlc-3.0.16=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security' main debug: searching plug-in modules main debug: loading plugins cache file /usr/lib/x86_64-linux-gnu/vlc/plugins/plugins.dat main debug: recursively browsing `/usr/lib/x86_64-linux-gnu/vlc/plugins' main debug: plug-ins loaded: 519 modules main debug: opening config file (/home/welchj/.config/vlc/vlcrc) main debug: looking for logger module matching "any": 4 candidates file debug: opening logfile `/home/welchj/vlc-log.txt' main debug: using logger module "file" main debug: translation test: code is "C" main debug: looking for keystore module matching "memory": 4 candidates main debug: using keystore module "memory" main debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FPU main debug: Creating an input for 'Media Library' main debug: Input is a meta file: disabling unneeded options main debug: using timeshift granularity of 50 MiB main debug: using default timeshift path main debug: `file/directory:///home/welchj/.local/share/vlc/ml.xspf' gives access `file' demux `directory' path `/home/welchj/.local/share/vlc/ml.xspf' main debug: creating demux: access='file' demux='directory' location='/home/welchj/.local/share/vlc/ml.xspf' file='/home/welchj/.local/share/vlc/ml.xspf' main debug: looking for access_demux module matching "file": 18 candidates main debug: no access_demux modules matched main debug: creating access: file:///home/welchj/.local/share/vlc/ml.xspf main debug: (path: /home/welchj/.local/share/vlc/ml.xspf) main debug: looking for access module matching "file": 29 candidates main debug: using access module "filesystem" main debug: looking for stream_filter module matching "prefetch,cache_read": 26 candidates cache_read debug: Using stream method for AStream* cache_read debug: starting pre-buffering cache_read debug: received first data after 0 ms cache_read debug: pre-buffering done 296 bytes in 0s - 13139 KiB/s main debug: using stream_filter module "cache_read" main debug: looking for stream_filter module matching "any": 26 candidates playlist debug: using XSPF playlist reader main debug: using stream_filter module "playlist" main debug: stream filter added to 0x5abe03deb8d0 main debug: looking for stream_filter module matching "any": 26 candidates main debug: no stream_filter modules matched main debug: looking for stream_directory module matching "any": 1 candidates main debug: no stream_directory modules matched main debug: attachment of directory-extractor failed for file:///home/welchj/.local/share/vlc/ml.xspf main debug: looking for stream_filter module matching "record": 26 candidates main debug: using stream_filter module "record" main debug: creating demux: access='file' demux='directory' location='/home/welchj/.local/share/vlc/ml.xspf' file='/home/welchj/.local/share/vlc/ml.xspf' main debug: looking for demux module matching "directory": 54 candidates main debug: using demux module "directory" main debug: looking for meta reader module matching "any": 2 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/reader lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/reader lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/reader/filename.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader main debug: no meta reader modules matched main debug: `file/directory:///home/welchj/.local/share/vlc/ml.xspf' successfully opened main debug: looking for xml reader module matching "any": 1 candidates main debug: using xml reader module "xml" main debug: EOF reached main debug: removing module "directory" main debug: removing module "record" main debug: removing module "playlist" main debug: removing module "cache_read" main debug: removing module "filesystem" main debug: creating audio output main debug: looking for audio output module matching "any": 6 candidates vlcpulse debug: using library version 15.99.0 vlcpulse debug: (compiled with version 15.99.0, protocol 35) vlcpulse debug: connected locally to /run/user/1004/pulse/native as client #23 vlcpulse debug: using protocol 35, server protocol 35 pulse debug: adding sink 1: alsa_output.pci-0000_00_1f.3.analog-stereo (Built-in Audio Analog Stereo) main debug: using audio output module "pulse" main debug: keeping audio output main debug: looking for interface module matching "dbus,none": 19 candidates dbus debug: listening on dbus as: org.mpris.MediaPlayer2.vlc main debug: using interface module "dbus" main debug: looking for interface module matching "hotkeys,none": 19 candidates main debug: using interface module "hotkeys" main debug: looking for interface module matching "globalhotkeys,none": 19 candidates main debug: using interface module "xcb_hotkeys" main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. main debug: looking for interface module matching "any": 19 candidates dbus debug: Getting All properties dbus debug: Getting All properties dbus debug: Getting All properties dbus debug: Getting All properties dbus debug: Getting All properties main debug: looking for extension module matching "any": 1 candidates lua debug: Opening Lua Extension module lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/extensions lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/extensions lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac lua debug: Scanning Lua script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac lua debug: Script /usr/lib/x86_64-linux-gnu/vlc/lua/extensions/VLSub.luac has the following capability flags: 0x5 lua debug: Trying Lua scripts in /usr/share/vlc/lua/extensions main debug: using extension module "lua" main debug: using interface module "qt" main: playlist is empty main debug: nothing to play main debug: processing request item: rtsp://10.0.1.1:8900/live, node: Playlist, skip: 0 main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index 0 main debug: starting playback of new item main debug: resyncing on rtsp://10.0.1.1:8900/live main debug: rtsp://10.0.1.1:8900/live is at 0 main debug: creating new input thread main debug: Creating an input for 'rtsp://10.0.1.1:8900/live' main debug: requesting art for new input thread main debug: using timeshift granularity of 50 MiB main debug: using default timeshift path main debug: `rtsp://10.0.1.1:8900/live' gives access `rtsp' demux `any' path `10.0.1.1:8900/live' main debug: creating demux: access='rtsp' demux='any' location='10.0.1.1:8900/live' file='(null)' main debug: looking for access_demux module matching "rtsp": 18 candidates main debug: no access_demux modules matched main debug: creating access: rtsp://10.0.1.1:8900/live main debug: looking for access module matching "rtsp": 29 candidates main debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher main debug: no meta fetcher modules matched main debug: looking for art finder module matching "any": 2 candidates satip debug: try to open 'rtsp://10.0.1.1:8900/live' satip debug: connect to host '10.0.1.1' main debug: net: connecting to 10.0.1.1 port 8900 lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/art lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art main debug: no art finder modules matched main debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher main debug: no meta fetcher modules matched main debug: looking for art finder module matching "any": 2 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/art lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art main debug: no art finder modules matched main debug: connection succeeded (socket = 45) main debug: net: opening 0.0.0.0 datagram port 9322 main debug: net: opening 0.0.0.0 datagram port 9323 qt debug: IM: Setting an input satip error: Failed to play RTSP session satip error: Failed to teardown RTSP session main debug: net: connecting to 10.0.1.1 port 8900 main debug: connection succeeded (socket = 44) access_realrtsp warning: Cseq mismatch, got 1, assumed 0 access_realrtsp debug: rtsp connected access_realrtsp warning: only real/helix rtsp servers supported for now main debug: no access modules matched main debug: dead input qt debug: IM: Deleting the input main debug: changing item without a request (current 0/1) main debug: nothing to play main debug: processing request item: rtsp://10.0.1.1:8900/live, node: Playlist, skip: 0 main debug: rebuilding array of current - root Playlist main debug: rebuild done - 2 items, index 1 main debug: starting playback of new item main debug: resyncing on rtsp://10.0.1.1:8900/live main debug: rtsp://10.0.1.1:8900/live is at 1 main debug: creating new input thread main debug: Creating an input for 'rtsp://10.0.1.1:8900/live' main debug: requesting art for new input thread main debug: using timeshift granularity of 50 MiB main debug: using default timeshift path main debug: `rtsp://10.0.1.1:8900/live' gives access `rtsp' demux `any' path `10.0.1.1:8900/live' main debug: creating demux: access='rtsp' demux='any' location='10.0.1.1:8900/live' file='(null)' main debug: looking for access_demux module matching "rtsp": 18 candidates main debug: no access_demux modules matched main debug: creating access: rtsp://10.0.1.1:8900/live main debug: looking for access module matching "rtsp": 29 candidates satip debug: try to open 'rtsp://10.0.1.1:8900/live' satip debug: connect to host '10.0.1.1' main debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher main debug: net: connecting to 10.0.1.1 port 8900 main debug: no meta fetcher modules matched main debug: looking for art finder module matching "any": 2 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/art lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: skipping script (unmatched scope) /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art main debug: no art finder modules matched main debug: looking for meta fetcher module matching "any": 1 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/fetcher lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher main debug: no meta fetcher modules matched main debug: looking for art finder module matching "any": 2 candidates lua debug: Trying Lua scripts in /home/welchj/.local/share/vlc/lua/meta/art lua debug: Trying Lua scripts in /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/00_musicbrainz.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/01_googleimage.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/02_frenchtv.luac lua debug: Trying Lua playlist script /usr/lib/x86_64-linux-gnu/vlc/lua/meta/art/03_lastfm.luac lua debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art main debug: no art finder modules matched main error: connection failed: Connection refused satip error: Failed to connect to RTSP server 10.0.1.1:8900 main debug: net: connecting to 10.0.1.1 port 8900 main error: connection failed: Connection refused access_realrtsp error: cannot connect to 10.0.1.1:8900 access_realrtsp debug: could not connect to: 10.0.1.1:8900/live main debug: no access modules matched main debug: dead input main debug: changing item without a request (current 1/2) main debug: nothing to play
-
Hardcoded IP in voxl-streamer
Was trying to debug some video streaming and noticed voxl-streamer providing the same output "stream available at rtsp://127.0.0.1" no matter what I set default_uri to, or with auto_ip true or false. I went to look at where that logic was in voxl-streamer and noticed it is hardcoded Is there an easy way to change that and get a more accurate information? Or does ModalAI have to change, recompile, then push in a new SDK?
-
RE: Gstreamer error: Streaming video to QGC over LTE
@tom even if he resolves the gstreamer errors, wont this also not work because wwan0 is not in network_preferences?
@Rawdha-R see here https://forum.modalai.com/topic/3660/streaming-video-to-qgc-over-lte?_=1728315665042
-
RE: VOXL2 Sentinel no wifi after new SDK
@craigphoenix I had this issue as well. One of the devs said the connectors can come loose sometimes. Try pushing both ends tight through the heatshrink
-
RE: Monitor Sierra Wireless 5G signal?
@Thomas-Eiszler yeah that would be great! it sounds like you would want to create a service to do that? That way it happens automatically, you need not manually start it each time... if you do go down that route I would be especially interested. Ive not yet made my own service but I think I will need to
-
RE: Monitor Sierra Wireless 5G signal?
@Thomas-Eiszler glad we were both able to learn something, thank you
-
RE: Monitor Sierra Wireless 5G signal?
@Thomas-Eiszler Make sure you specifically run AT!entercnd="A710" after enumerating the modem. This is the password for the modem that 'unlocks' it. Afterward, it produces much more verbose outputs for most commands. I forget a good example, maybe !lteinfo. You can read about it here
How did you go into the microcom shell to do that? That would be useful. I am a pretty new linux user I could never figure out how to do anything besides echoing. But yes, you are right, +COPS? does take some time and if you use the -t (timeout) flag and send another command before that has returned you can get into that weird state I described above where you must
rm -rf /var/locl/LCK…ttyUSB0
Try the A710 command first and then all other commands and let me know if that resolves it. I have a simple shell script I think i will try to make a service out of that runs new_id & A710 steps so that the modem is ready to go when I turn the drone on. Havent done that yet but if you are more savvy than myself and choose to do that lemme know!
-
RE: Multiagent RTSP Stream Support for QGC PX4 (VOXL2 SDK 1.3.3)
@ctitus Hey I am curious. when you say multiple drones and that you want to switch between livestreams.... you mean within QGC? My understanding is that QGC will only connect with one drone at a time. IS that not the case? Or, are you saying maintaining the QGC connection to drone 1, but just showing the drone 2's video in that QGC session?
-
RE: gps_dump not recorded in .ulg, even when GPS_DUMP_COMM set
@ben-grocholsky also, we really just want the GPS data for truth against one of our other processes, not PPK. Thank you again for your help!
-
RE: gps_dump not recorded in .ulg, even when GPS_DUMP_COMM set
Thank you again @ben-grocholsky! @Eric-Katzfey also thank you for the info about the logger startup.
Eric, I was able to get what I desired, albeit very crude. I ended up highjacking one of the functions in pyulog that prints to CSV and had it create a matlab struct instead which I can now run from my matlab. Not clean or sexy, but I think it gets the job done for now. A more experienced developer on my team thinks he will try to set up a restful web server and snag the output of
px4-listener sensor_gps
. This seems like the best way to 'stream' the GPS data as the drone is in flight (besides setting up another MAVLINK client and working through parsing pipes, etc). Saying this more to tie up loose ends but I suppose I will ask if you see any gotchas or think there is a better way to access the information we are curious about? I initially identified the output ofvoxl-inspect-gps
but it is not nearly as verbose as sensor_gps -
RE: GPS never published
Thank you @ben-grocholsky! I should be more clear, when I ran
px4-listener sensor_gps
I received something along the lines of "GPS never published". I just went to go get the verbatim output but everything seems to be working. I do indeed see the uorb now. Puzzling -
RE: Monitor Sierra Wireless 5G signal?
@Thomas-Eiszler Hey Thomas
I will save you some time I ran into this issue within the past few months as well. I believe Modal AI is using drivers that predate the SW EM9291. I figured out how to send the commands and submitted the info to them. Hopefully they are able to implement it in an upcoming release. I will attach the same documentation I sent them.
######################################################
AT Commands to EM9291 Modem (SDK 1.3.0)- lsusb (to see device VID/PID)
voxl2:/$ lsusb
Bus 002 Device 003: ID 1199:90e3 Sierra Wireless, Inc.
Bus 002 Device 002: ID 0424:5744 Standard Microsystems Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0424:2740 Standard Microsystems Corp.
Bus 001 Device 003: ID 0bda:0811 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 0424:2744 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub- echo VID and PID to this directory
voxl2:/$ echo 1199 90e3 > /sys/bus/usb-serial/drivers/option1/new_id
You can see dmesg output:
[ 72.620475] option 2-1.1:1.3: GSM modem (1-port) converter detected
[ 72.621037] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB0
[ 72.621318] option 2-1.1:1.4: GSM modem (1-port) converter detected
[ 72.623288] usb 2-1.1: GSM modem (1-port) converter now attached to ttyUSB1You can now send AT commands to USB0. I included Sierra Wireless’ qcserial driver in email to Travis that comes from (their?) Mobile Broadband Package for Linux (MBPL). Notice the EM9291 that is defined in there under SDX55 (I think something to do with Snapdragon) has ttyUSB0 as the AT command port, instead of older Sierra modems using ttyUSB2.
I send AT commands like so:
voxl2:/$ echo -ne 'AT!entercnd="A710"\r\n' | busybox microcom -t 1000 /dev/ttyUSB0Sometimes AT commands returns +CME ERROR if you send commands too fast/don’t wait for reply from earlier command. An example is running AT+COPS=? then running another command before that returns its result. If this happens, I have found this always works to free up that port:
rm -rf /var/locl/LCK…ttyUSB0You can read more about this solution here:
https://forum.sierrawireless.com/t/em9191-does-not-bring-up-the-serial-interface-works-in-mbim-only-usb-composition/24783/3 -
RE: GPS streaming
@Eric-Katzfey I put up another post yesterday inquiring about this from a different angle. I stayed away from this because, while I can write C code, I am a little lost on how to compile and run it. I am particularly bad at setting up dev environments and try to leave that to the software engineers, haha. Even if I wrote what you were suggesting, it is still a mavlink message I would have to parse yeah? I have had trouble parsing the ulog files with pyulog. I can that messages exist, but I am not sure how to view them. At the end of the day, I really just want ideally a way to stream/send GPS truth data to a matlab process I am running on a host PC
-
gps_dump not recorded in .ulg, even when GPS_DUMP_COMM set
I have been struggling for a while to extract GPS information out of the drone. I am aware that info is sent in mavlink pipes and I am aware of voxl-inspect-gps. I do not have much c experience, and I am trying to avoid listening to the mavlink pipe as that seems like it would be the most challenging for me to do. At the end, I really just want a file that I can dump timestamps and positions to that can be read in by matlab. I have considered creating a service that runs voxl-inspect-gps -n and > it to a file then pulling that file afterwards as well.
Ideally, I would love to use the logger as I got pyulog up and running. I see that there are vehice_gps_postion messages, but I dont know how to parse those out. However, pyulog does have a function to extract gps_dump messages. I have pulled three log files with GPS_DUMP_COMM set to 0, 1, and 2 and confirmed these values are what I assume them to be in the log. None of these files have a gps_dump recorded in them. Are there any insights? Is there a better way to get the information I am looking for that doesnt involve me making a (my first and rather daunting) c++ dev environment?