ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    GPIO on DSP?

    VOXL 2
    4
    8
    475
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      czarsimon
      last edited by

      Hello, in the documentation for the VOXL 2 connector J19 pin 9 is listed as a GPIO, the other pins are connected to the SLPI/DSP, is the GPIO connected to the DSP as well? How can it be controlled from within the DSP? Are there any other pins that can be used as GPIO and controlled from the DSP/PX4? Thank you

      VinnyV 1 Reply Last reply Reply Quote 0
      • VinnyV
        Vinny ModalAI Team @czarsimon
        last edited by

        Hi @czarsimon
        J10 pin 9 is a Voltage for Spektrum Style RC modules that require a power ON/OFF/ON sequence to bind.
        GPIO_159 is the GPIO that enables this feature. If held static ON, this is a reverse protected 3.3V pin, up to 1A of support.

        6ca43c92-9147-4f70-836d-093ca968c2a7-image.png
        83491011-d3ab-4314-8704-5bb92ddfe9d3-image.png

        All Board-to-Cable (JST's) connectors are on the DSP since they are purpose designed for Flight Control features.
        You'll need to use the Board-to-Board connectors (J3 and J5) for Apps GPIOs.

        https://docs.modalai.com/voxl2-connectors/#j3---legacy-board-to-board-connector-b2b

        https://docs.modalai.com/voxl2-connectors/#j5---high-speed-board-to-board-connector-hsb2b

        Hope this helps!

        J 1 Reply Last reply Reply Quote 0
        • J
          jmltt @Vinny
          last edited by

          @Vinny Can you explain how the J10/J19, M0094 and the spektrum receiver are meant to work together?

          I have a dev drone w/ VOXL2 & spektrum satellite receiver. After flashing the latest SDK (1.6.3) the receiver and transmitter stay bound but I have to force a rebind to get RC data coming in to PX4 every time I power cycle the drone. No issue up to SDK 1.1.2 and I noticed the way kernel GPIO initialization is handled changed in 1.1.3. More details here:

          https://forum.modalai.com/topic/5243/spektrum-rc-bind-issues-after-sdk-update

          I'm guessing this has to do with GPIO pin settings for pins 46, 67 or 159 being set wrong on boot, but I don't know enough about the hardware to understand what's going on. If I have a spektrum receiver on a dev drone w/ M0054 that is already bound to a transmitter, what should the GPIO pin settings be on boot to enable rc data flow to px4?

          J 1 Reply Last reply Reply Quote 0
          • J
            jmltt @jmltt
            last edited by

            @jmltt nvm solved - GPIO pin 46 needs to have direction set to in or else data won't get through for some reason

            one of the more recent voxl2 kernel board support package updates in the system image went from initializing GPIO46 as input to just not initializing it at all

            tomT 1 Reply Last reply Reply Quote 0
            • tomT
              tom admin @jmltt
              last edited by

              @jmltt The last ModalAI supported SDK on the Sentinel platform is SDK 1.5.0. Which doesn't mean that you won't success with newer SDKs, we just haven't tested with it.

              J 1 Reply Last reply Reply Quote 0
              • J
                jmltt @tom
                last edited by jmltt

                @tom assuming this reply was accidental. I was asking about how the M0094 worked and required GPIO pin settings for rc data flow

                tomT 1 Reply Last reply Reply Quote 0
                • tomT
                  tom admin @jmltt
                  last edited by

                  @jmltt Apologies, context was lost. For clarity, sentinel was the last dev drone in which spektrum rc was supported and SDK 1.5.0 was the last SDK tested on said platform. Later SDKs have different gpio defaults which is why you're running into this issue

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jmltt @tom
                    last edited by

                    @tom got it, I think you indirectly answered my question by giving me the last valid configuration. Am I looking in the right place?:

                    voxl sdk 1.5.0 -> system image 1.8.04 -> recipes-kernel/linux-msm/files/dts/common/m0xxx-modalai-gpio.dtsi :

                    &soc {
                    	voxl_gpio {
                    		...
                    		
                    		modalai,gpio-init-output-high = <0 1 53 56 57 85 86 87 88 89 124 152 157 159>;
                    		modalai,**gpio-init-output-low** = <36 37 **46** 54 55 67 82 83 84 131 153 154 155>;
                    		modalai,gpio-init-input = <48 49 50 51 52 110 111 112 113 114>;
                    		
                    		status = "ok";
                    	};
                    
                    	...
                    };
                    

                    So settings for gpio pin 46 on sentinel w/ spektrum receiver should be direction:out, value:0 assuming they aren't overwritten somewhere else.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Powered by NodeBB | Contributors