mikmas

  • *
  • 4
[CC3D] Using FlexiPort as input port
« on: January 25, 2020, 02:39:43 pm »
I have problems with PWM input* so i decided to try DSM (FlexiPort), but nowhere i can find technical details about this.
I figured out it have 4 pins - +, -, TxD, RxD which is one of the simplest protocols in my opinion, but no more informations. In Input tab in OpenPilot on dropdown list i have DSM (FlexiPort), but how this DSM protocol looks? How to send command for example "set throttle on 1500, roll on 1000, and so on..."? I will be glad for strict technical documentation of this FlexiPort/MainPort DSM IO.

* in OpenPilot/LibrePilot suddenly i get no value changes. First time it works (attachment 1, nastawy.png) and now whatever i send on PWM channels i have no response (attachment 2, no-reaction.png)

Re: [CC3D] Using FlexiPort as input port
« Reply #1 on: January 25, 2020, 10:26:18 pm »
You will find Flexiport etc. pinout here:
https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/2818090/CC+Hardware+Configuration

I assume you want to use DSM.  Your Input page lines must be set to DSM, not PWM.

Positive and negative wires are obvious and must be correct.  The other wire is the receiver sending a signal, so it goes to the Flexiport input pin which looks like pin 4.  :)

From memory.  I think the following is correct.

Some protocols use 1000-2000 and some use other number ranges.  I would configure CC3D to set up the receiver as DSM on Flexiport (on Hardware page), save and reboot CC3D.  Power with flight battery via ESC/BEC (so that the RC receiver gets power) and USB connection (so GCS is connected), then run "Start Transmitter Setup Wizard" on the Input page.  Save when done.  After running that wizard, your Input page transmitter stick and switch "number ranges" will be set correctly and you can see those as needed.

Note that your ESCs and servos etc. still usually need to have a number range of 1000-2000 and those are set on the Output page.  Your transmitter (Input page) could be let's say 800-1800 and your servo could be 1000-2000 and it would be translated automatically.  1300 (middle) on the transmitter would be 1500 (middle) on the ESC / servo for example when using Manual mode where there is the closest thing to a direct connection.
« Last Edit: January 25, 2020, 10:32:05 pm by TheOtherCliff »