Giter VIP home page Giter VIP logo

sbustopwm's Introduction

Arduino used as SBUS to 16-channels PPM decoder

Analog input A4 is used to set the failsafe times to the current received pulses. Connect a switch to this and connect to ground to set the failsafe. Failsafe is entered if no SBUS signal is being received.

Analog input A5 is an option, if grounded, the outputs for channels 1-8 and 9-16 are swapped.

The Tx pin is another option link. If left open, all works as 16 channels. If the Tx pin is connected to ground, via a 1K resistor, then it switches to 8 channel only mode, but with a servo update rate of 9mS.

Connections:

License and Disclaimer

This software is provided under the GNU v2.0 License. All relevant restrictions apply including the following. In case there is a conflict, the GNU v2.0 License is overriding. This software is provided as-is in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. In no event will the authors and/or contributors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software.
  2. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
  4. This notice may not be removed or altered from any distribution.

By downloading this software you are agreeing to the terms specified in this page and the spirit of thereof.

sbustopwm's People

Contributors

mikebland avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sbustopwm's Issues

Failsafe problem

When FS on FRSKY then all chanell sets on min value instead of FS value. Probably is because there is SBUS signal but with no pulse . When signal pin is disconnected then FS values are proper.

Anyway very usefull code.

Inverter

I know that arduino can read inverted sbus signal directly on softserial, so no HW inverter will be needed.

Attiny85 Digispark Support

I'm looking for a project with smaler hardware like Attiny85 Digispark for a 4 channel SBus decoder
and it must also be work with the RC cahnnel 9-12 or 13-16.

My issue is now, can we do this with this project code ?

If yes, can you give us user's a layout of the hardware and a example for the changes of the code ?

Thanks a lot.

PPM or PWM?

Hi,
It's a bit unclear why it converts to ppm, while usually it supposed to convert to pwm.

Compile errors: variables being redefined in multiSim

Greetings!

Am I doing something silly? The project won't compile for me in Arduino 1.8.15. The error logs indicates that a number of variables are being redefined. Here's the first instance:

multiSim:120:31: error: redefinition of 'uint8_t* Ports [16]'
 uint8_t *Ports[NUMBER_CHANNELS] = {
                               ^
/Users/andrewcarlisle/Documents/Arduino/SbusToPpm/SbusToPpm.ino:89:10: note: 'uint8_t* Ports [16]' previously defined here
 uint8_t *Ports[NUMBER_CHANNELS] = {
          ^~~~~

With thanks,
Andrew

Skipping data during output instead of dropping frames

Just wondering if it would be better to reduce PWM rate by skipping every second channel data during output. Could work like this;
Skip output of channel if servo signal was generated based on previous frame and servo data haven't changed,
This should result in less latency for some of the channels and servo action would be spread on two different time periods = less peak power, at least for analog servos. However for FrSky, one would have to make sure to use more than eight channels to achieve 18ms output. Actually this is all FrSky related and not relevant if the goal is a generic SBUS decoder.

Sbus To CPpm

Hi Mike,
Can it be also set to decode SBUS to 16 or 12 CPPM channels on one single output?
Thank you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.