Hi @ashwin-umdlife , sorry we crossed threads, see here: https://forum.modalai.com/topic/518/unable-to-unbrick-modalai-voxl-m500
Group Details Private
RE: Voxl stuck in waiting after unbricking
RE: Unable to unbrick ModalAI Voxl m500
Hi @ashwin-umdlife ,
I un-deleted this post, I'm not sure if you meant to delete but was asked from our contact email to look at this post.
OK, I think we have some timing issues possibly happening here.
Let's work through this and see if we need to update our documentation.... there's a couple scenarios to work through so it's a little tricky.
The idea here is that we want to mimic "holding down the volume-down key while powering on a phone and letting go right after you power on" and then run the command.
So, let's try this:
- have m500 powered off
- have fastboot switch turned ON
- have USB cable connected to m500, not the host (because VOXL can get a little power from USB, but not enough to boot)
- have your terminal open and ready with
sudo fastboot devicescommand waiting
- plug USB power in
- power on m500
- turn fastboot switch off and quickly run the command (hit ENTER on the terminal that has the command waiting)
Repeat this several times if possible. If we ever detect a device in fastboot mode then we can next attempt to update the system image.
RE: GPS Polling?
@Chuck-Bokath Yes, we have done the same things before. Basically log a position and signal strength indication. What platform are you using? Typically, in a PX4 system, that information will be encapsulated in Mavlink messages. On our Voxl board we have an endpoint for all of those messages that come over a serial port that we then forward on over UDP to a ground control station. However, as @Alex-Gardner points out, that voxl-vision-px4 module will dump all of that raw information to a Linux pipe as it is passing through. And, as @Alex-Gardner also pointed out, there is some example code that shows how to listen to that pipe and parse the message.
RE: voxl-dfs-server failing to run
That should be built in to system image 3.3 and shouldn't show up in opkg. Can you paste the output of
voxl-versionto make sure everything is set up properly. Additionally, you can check if the libraries exist manually in /usr/lib or /usr/lib64 by running:
yocto:/usr$ find | grep -i opencl ./include/CL/opencl.h ./include/adreno/CL/opencl.h ./include/opencv4/opencv2/core/opencl ./include/opencv4/opencv2/core/opencl/opencl_info.hpp ./include/opencv4/opencv2/core/opencl/ocl_defs.hpp ./include/opencv4/opencv2/core/opencl/opencl_svm.hpp ./include/opencv4/opencv2/core/opencl/runtime ./include/opencv4/opencv2/core/opencl/runtime/opencl_clamdblas.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_svm_hsa_extension.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_svm_20.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_clamdfft.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_gl.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_core.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp ./include/opencv4/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clamdblas.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_clamdfft.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_gl.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_core.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_core_wrappers.hpp ./include/opencv4/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp ./include/tensorflow-2-2-3/tensorflow/lite/delegates/gpu/cl/opencl_wrapper.h ./lib/libOpenCL.so ./lib64/libOpenCL.so ./share/cmake-3.3/Help/module/FindOpenCL.rst ./share/cmake-3.3/Modules/FindOpenCL.cmake ./share/licenses/opencv4/opencl-headers-LICENSE.txt yocto:/usr$
RE: GPS Polling?
If you don't need to manually sample the hardware, voxl-vision-px4 publishes the GPS data to the file system to /run/mpa/vvpx4_gps_raw_int in our MPA format. You can use
voxl-inspect-gpsto see a viewer friendly terminal output displaying current gps information, and the source serves as a good example of how you could use the information in a c/++ program on voxl.
RE: docker fills up /data, prevents code from running
System image 3.3.0 increases the number of inodes on /data to 3M. However, that may require that /data is completely wiped when you install it.