Skip to content

Software Development

501 Topics 2.5k Posts

Questions about developing software on the products

Subcategories


  • General questions regarding the VOXL SDK that do not fit into other categories

    127 574
    127 Topics
    574 Posts
    tomT
    @RoyAzriel 1.6.4 release is tested on Starling 2 now, go ahead and use that from the link I emailed you.
  • General questions regarding the VOXL SDK that do not fit into other categories

    44 337
    44 Topics
    337 Posts
    Alex KushleyevA
    @cguzikowski , Sorry for the delay. Regarding the new HW not working, since you have two identical setups, i would recommend swapping components to identify what exactly is not working. This is the most efficient way to diagnose it. From the logs you provided, the ov64b camera is detected and initialized, it seems, but no frames come in, which could be a cabling or interposer issue. I will get back to you with an update on the lens shading tomorrow. Alex
  • Questions about developing software on the products

    73 354
    73 Topics
    354 Posts
    Eric KatzfeyE
    @bschulzhf PX4 will only correct incoming messages. Something external will have to also run TIMESYNC with PX4 to estimate the offset and correct and incoming PX4 message timestamps that it wants to align. voxl-mavlink-server does this for a few messages.
  • Questions about developing software on the products

    45 249
    45 Topics
    249 Posts
    T
    @Eric-Katzfey Yes that worked. Thanks!
  • Questions about developing software on the products

    13 64
    13 Topics
    64 Posts
    Zachary Lowell 0Z
    @Nitin-Varma-Vegesna said in Apriltag relocalization not relocalizing?: @Nitin-Varma-Vegesna Is there any release that is known to work for April Tag Detection? https://gitlab.com/voxl-public/voxl-sdk/services/voxl-tag-detector The dev branch is the most recent - I have to check with the engineering team on this as I am unsure the priority of april tag detection and positioning based off it. Will relay back
  • 68 336
    68 Topics
    336 Posts
    AniruddhaA
    @ApoorvThapliyal Thank you for your help. also I was able to work with jazzy by only subscribing and printing with node. since error only occurred when I tried to echo the topic and not when another node is subscribing it. but using docker seems like most viable option to me since I m using ubuntu 24.04. Thank you for your help again
  • 20 Topics
    60 Posts
    Manoj KashyapM
    @tom can anyone help me with this
  • Questions about developing software on the products

    1 2
    1 Topics
    2 Posts
    ModeratorM
    @Mastermind That sounds like it would be possible, but obviously depends on the driver of the wlan adapter you choose. You would need to implement the bluetooth broadcast portion of Remote ID. The source code for voxl-remote-id is here and only currently supports the Wifi portion of Remote ID
  • Upgrading to newest voxl-camera-server from apq8096-camera-server

    3
    0 Votes
    3 Posts
    628 Views
    M
    @Chad-Sweet Great, very exciting!
  • voxl-wifi softap issues

    4
    1
    0 Votes
    4 Posts
    1k Views
    tomT
    @Philemon-Benner This is where the voxl-wifi source code lives for VOXL1: https://gitlab.com/voxl-public/voxl-sdk/utilities/apq8096-system-tweaks/-/blob/dev/scripts/voxl-wifi Since you've already put in effort toward the resolution you could attempt to fork this repo, make your suggested tweaks and create a merge request so that the team could take a look! Otherwise it may take a little bit longer for the team to take a chance to look into the bug
  • VOXL-Streamer 64bit

    7
    0 Votes
    7 Posts
    1k Views
    Steve TurnerS
    @Eric-Katzfey OK good to know. Thanks for looking into that. Is there a good email I can reach out to discuss further with you?
  • Building new docker image error - Cmake version not good

    10
    0 Votes
    10 Posts
    3k Views
    M
    @CY-1992 said in Building new docker image error - Cmake version not good: ubuntu:20.04 Thanks @CY-1992 is working just fine!
  • Low Mavros Data Rates

    1
    0 Votes
    1 Posts
    379 Views
    No one has replied
  • Voxl-IO questions (GPIO & i2c)

    3
    0 Votes
    3 Posts
    727 Views
    Chad SweetC
    We have example Python code in voxl-modem to control the B2B GPIO ## All GPIO pins need to be exported before they can be used # def gpio_export(num): subprocess.call("echo " + num + " > /sys/class/gpio/export", stderr=FNULL, shell=True) ## Each GPIO has to have its direction set prior to use # @param num pin number # @param direction 'in' or 'out' # def gpio_direction_map(num, direction): subprocess.call("echo " + direction + " > /sys/class/gpio/gpio" \ + num + "/direction", stderr=FNULL, shell=True) ## Set a value to an 'out' gpio # def set_gpio(num, value): subprocess.call("echo " + value + " > /sys/class/gpio/gpio" + num + "/value", stderr=FNULL, shell=True) ## Reads a GPIO pin # @apram pin # pin number # @return # integer value [0,1] def gpio_read_int(pin_int): gpio_file = '/sys/class/gpio/gpio' + str(pin_int) + '/value' value = subprocess.check_output(['cat', gpio_file]).strip() return int(value)
  • terminate called after throwing an instance of 'std::system_error'

    2
    0 Votes
    2 Posts
    834 Views
    ?
    The emulator is meant to be a build environment and not for running code, this is likely the source of the issue, does your code encounter this problem when running on a voxl?
  • What is for "Avoidance / Collision prevention error"

    8
    1
    1 Votes
    8 Posts
    2k Views
    James StrawsonJ
    @hmlow Yes, PX4's obstacle avoidance and Collision Prevention are separate features. We only support the Collision Prevention functionality which is governed by the PX4 CP_DIST and similar parameters. Make sure the COM_OBS_AVOID parameter is OFF (0) in PX4 James
  • Using libvoxl_io.so from Docker

    3
    0 Votes
    3 Posts
    735 Views
    A
    @Chad-Sweet I'm trying to read some sensor data using UART/I2C, from within a Docker container. I will look into libmodal_pipe , thanks.
  • Duplicating UVC camera

    5
    0 Votes
    5 Posts
    1k Views
    ?
    This is essentially the point of MPA (Modal Pipe Architecture, our interprocess communications standard). We publish FIFOs to /run/mpa with the data (standard FIFOs use the filesystem as a handle, not for actually transferring the data, the kernel will pass the data directly from process to process). voxl-uvc-server will pull the data from the camera and write it out to a pipe in /run/mpa, which can easily be mounted in a docker image and read there. You can use the libmodal_pipe(or manually request a pipe and open the FIFO, though this will be less reliable than our extensively tested library) to read it in a docker image (or images as MPA allows numerous clients).
  • 1 Votes
    4 Posts
    2k Views
    tomT
    @wilkinsaf Thank you for posting your solution, very helpful!
  • Push to Gitlab?

    9
    1
    0 Votes
    9 Posts
    2k Views
    tomT
    @wilkinsaf Hahaha appreciate you sharing your expertise
  • Can't ping in station mode and can't re-enable modem

    8
    0 Votes
    8 Posts
    1k Views
    J
    @tom Thanks for the response. The issue has been resolved. I successfully pinged google after trying this on my home network (WPA2-Personal security type), I'm guessing the issue was with the security type of my firm's network that I had been trying to connect to originally. As for the modem issues, after familiarizing myself more with the hardware I realized I hadn't attached the VOXL LTE modem that came with my kit which probably explains why a disabling command worked and an enabling command gave me a failure message. I had incorrectly assumed the modem of concern was already onboard the flight core. Thanks to the dev team and @Chad-Sweet for your responses.
  • voxl-rtsp - This computer has an invalid IP address: 0.0.0.0

    2
    0 Votes
    2 Posts
    600 Views
    modaltbM
    Hi @czarsimon , Are you seeing this IP address as the output of the command or via ifconfig ? I believe the rtsp command line command will spit out 0.0.0.0 (i.e. localhost-ish), but use ifconfig to find the real IP address and use that.
  • Installing OpenCV-4.5 fails on VOXL Emulator Docker Image V1.7

    2
    0 Votes
    2 Posts
    662 Views
    Lynn KoudsiL
    I resolved the problem by installing openmp from the voxl-packages site.
  • AprilTag Relocalization

    2
    0 Votes
    2 Posts
    1k Views
    G
    @Chad-Sweet Thanks for the reply. I actually wanted to test landing feature. If we could get the instruction for landing on the apriltag, that'd be great.
  • Example compiling custom TFLite model?

    5
    0 Votes
    5 Posts
    1k Views
    T
    Hi Matt, Sorry about the delay in following up on this. Switching over to running the TFLite quantized model was the necessary step to get things working. Thanks for your help!
  • Changing default cameras

    5
    0 Votes
    5 Posts
    1k Views
    Alex KushleyevA
    Hello Rolando, It will not be possible to fully use four ov7251 cameras at the same time due to i2c address conflict. the downward camera can coexist with the stereo pair because one of the stereo cameras is actually on a different i2c bus ov7251 camera has two i2c addresses, so with some software configuration it works. However, having 3 ov7251 cameras on i2c bus cannot be done without a conflict. In a condition of i2c conflict between cameras, what will happen is.. system will be able to detect each camera at boot time because probing happens while other cameras are powered off you should be able to fully use the conflicting cameras one at a time (not concurrently) if you use the conflicting cameras concurrently, commands sent to one camera will go out to both cameras, for example exposure and gain control. nothing will physically break, but this is currently not a supported use case. there will also be a short glitch after you started the first conflicting camera and when you are starting the second conflicting camera, since the first one will also get re-initialized with the commands intended for the second camera in your case, the ov7251 plugged into J2 was not detected because the camera configuration xml file is not configured to query this camera on J2 connector. If you wanted to enable it, you need to back up and edit the following file : /system/etc/camera/camera_config.xml and add an entry that looks like below (then reboot). The slave address 0xC0 is one of the two possible slave addresses for this camera. The other one is 0xE0 and is already used by the camera plugged into J4 (downward facing). So are you using one of the stereo cameras + stereo flex + extension cable? if you are using the stereo flex with one camera, make sure to use the left port on the flex because the right port is connected to the secondary i2c bus, accessible only in stereo configuration. Also, multiple stereo pairs are not supported on VOXL and stereo can only be used in J3. With the below config addition, you should be able to detect all 4 ov7251 cameras and successfully use the following configurations without confilicts: J2 + J4 (hires slot + tracking slot) J3 + J4 (stereo slot + tracking slot) if you want to use J2 + J3 (hires + tracking slot), change the I2C id to 0xE0, but then it's the same thing as current stereo + tracking. Now, in this configuration you should also be able to run all 4 cameras together but depending on the i2c ID of the camera in slot 0, it will conflict either with left stereo or tracking camera. I would not mess with stereo, so you could set i2c id of slot 0 to the same as in slot 2 (hires and tracking). then there is is still an issue of exposure/gain controls between the two cameras fighting with each other (both cameras will receive both exposure/gain updates). In order to prevent two cameras from fighting exposure/gain settings the only way to do it is to prevent one of the camera drivers from sending out exposure/gain updates at all. Then both cameras will have the same exposure/gain computed based on one camera's image. This would require a little bit of work on the camera driver side but it's possible (though not supported now). Anyway, this is just a long explanation of what you could try and what you will see. <!-- ov7251 tracking camera in camera slot 0 --> <CameraModuleConfig> <CameraId>0</CameraId> <SensorName>ov7251</SensorName> <SensorSlaveAddress>0xC0</SensorSlaveAddress> <ChromatixName>ov7251_chromatix</ChromatixName> <ModesSupported>1</ModesSupported> <Position>FRONT</Position> <MountAngle>360</MountAngle> <CSIInfo> <CSIDCore>0</CSIDCore> <LaneMask>0x1F</LaneMask> <LaneAssign>0x4320</LaneAssign> <ComboMode>0</ComboMode> </CSIInfo> <LensInfo> <FocalLength>4.73</FocalLength> <FNumber>2.2</FNumber> <TotalFocusDistance>1.9</TotalFocusDistance> <HorizontalViewAngle>64.1</HorizontalViewAngle> <VerticalViewAngle>51.6</VerticalViewAngle> <MinFocusDistance>0.1</MinFocusDistance> </LensInfo> </CameraModuleConfig>
  • stereo and tracking camera voxl_cam_ros

    4
    0 Votes
    4 Posts
    1k Views
    ?
    Glad to hear it's working! Yes, We're days away from finishing a rework of our docs that includes all the information about the new architecture, should be seeing it real soon.
  • Flash-system-image waiting for fastboot...

    3
    1
    0 Votes
    3 Posts
    780 Views
    G
    @PawelJ Thank you for the suggestion. Actually, I am facing another issue with my board, i.e. my board is going offline (https://forum.modalai.com/topic/289/adb-device-offline?_=1625029971070) and hence I am not able to communicate with it. Once I am able to communicate it I will check this.