OBAL - A Simple Linux-based Raspberry-Pi Ardupilot FCB

Ppm is already working, but I don’t get ibus working on it. It tested ibus with some modified version of a ibus test program for MCU’s on my raspberry but it looks like, ardupilot don’t recognize it. Did I something wrong? On start I give it the right serial with F parameter and in parameters I set serial5 protocol to rcin

Ok, looked I little bit into the code, looks like ibus isn’t integrated for Linux systems…

The function _process_rc_pulse in RCInput is called from RCInput_RPI.
The same PPM technique should work on SBUS.
I have not tried it but I am talking code wise.

I don’t get it working. But isn’t 100000 baud I little to fast for a normal gpio pin?
Btw, I have a python script that has no problem to decode ibus on the same hardware

Edit:
I got it working by using the RCInput_RCProtocol driver instead of the RCInput_RPI driver

Would you share this configuration please so that I can add it as an option to OBAL gitub
Thanks

In libraries/AP_HAL_Linux/HAL_Linux_Class.cpp around line 143 is the RC input driver.
I used following line to be able to use both:

static RCInput_Multi rcinDriver{2, new RCInput_RCProtocol(nullptr, nullptr), new RCInput_RPI()};

Both ppm and ibus are working with this, but when connected both at the same time, ardupilot gets a little confused. It should be able to make sbus too, when the uart hardware is right

Initialize RCInput_RCProtocol with null (nullptr, nullptr) this should open no drive as per file RCInput_RCProtocol.cpp line 44
int RCInput_RCProtocol::open_sbus(const char *path)

Yes, but if you define a serial port with protocol RCIN it automatically detects it

So you
1- Define static RCInput_Multi rcinDriver{2, new RCInput_RCProtocol(nullptr, nullptr), new RCInput_RPI()};
2- connect the SBUS from RX receiver to serial port RX ?
3- define Serial Port Protocol RCIN

and then the board can detect SBUS

Is this what do ?

I did it with ibus instead of sbus, but yes, it worked for me this way

1 Like

Yesterday I tried to connect this RX. I used SBUS pin to GPIO5 and RCInput_RPI could not detect the input.
Then I tried RCInput_Multi rcinDriver{2, new RCInput_RCProtocol("/dev/serial0", nullptr), new RCInput_UDP()}; and connected SBUS to RX again I received nothing.

I am not sure why ?

I think sbus need to be inverted, that’s why I use ibus

1 Like

Hello MHefny

Can the Obal board integrate GPS module and use RTL Mode (Return To Launch) function?

1 Like

yes please check this link

Example: MAVLink groundstation with IP 192.168.178.26 on port 14550 via wifi and GPS connected to /dev/serial0 and telemetry via OTG /dev/serial1.

sudo /home/pi/arducopter -A udp:192.168.1.123:14550 -B /dev/serial0 -C serial1

I mentioned here that GY-91 is not working.

I want to announce that it works fine now on OBAL-GY91
but you need RPI-Zero W2

It flies great and you can even integrate DroneEngage Camera on it.

1 Like
3 Likes

Hi, I get this message when running arduplane. Where can I get the data for “ardupilot.parm” with arduplane firmware?

1 Like

Hi this is a very good stage.
Create a file called ardupilot.parm next to your binary and that is it.
you can add
FRAME_CLASS 1
FRAME_TYPE 0
with the correct values or just keep it empty.

I am trying to run Arduplane with the file “ardu.parm”, while the message tells me that the file “ardupilot.parm” cannot be loaded.

When I corrected the filename, the arduplane script worked fine.

I suddenly realized how stupid I was ༼ つ ಥ_ಥ ༽つ

1 Like

It is mentioned here…
Enjoy the board, and I am here to support u …
Thanks