R6203SB SBus on 2560 based board

Post Reply
hansflying
Posts: 2
Joined: Mon Sep 30, 2013 5:27 am

R6203SB SBus on 2560 based board

Post by hansflying »

Dear all,

I am trying to use SBus of my R6203SB receiver and Futaba T8FG transmitter.

The FC board is based on mega 2560.

I also use a signal inverter, (https://www.mikrocontroller.com/index.p ... 86f01342f3),
connecting the R6203SB and the board RX1 port.

I changed the config.h of Multiwii 2.2 by :

/******************************* SBUS RECIVER ************************************/
/* The following line apply only for Futaba S-Bus Receiver on MEGA boards at RX1 only (Serial 1).
You have to invert the S-Bus-Serial Signal e.g. with a Hex-Inverter like IC SN74 LS 04 */
#define SBUS

But the RC signal shown on the Mutliwiiconf is not correct.

Do you also use the R6203SB? do I need to do other setting in Multiwii code?

any suggestion will be very appreciated.

thanks.

hansflying

Gimbal
Posts: 146
Joined: Tue Jul 24, 2012 7:14 pm
Location: Sweden

Re: R6203SB SBus on 2560 based board

Post by Gimbal »

Take a look at this thread

viewtopic.php?f=8&t=3580&hilit=sbus

And you need to do this to check stop byte:

/**************************************************************************************/
/*************** SBUS RX Data ********************/
/**************************************************************************************/
#if defined(SBUS)
void readSBus(){
#define SBUS_SYNCBYTE 0x0F // Not 100% sure: at the beginning of coding it was 0xF0 !!!
static uint16_t sbus[25]={0};
while(SerialAvailable(1)){
int val = SerialRead(1);
if(sbusIndex==0 && val != SBUS_SYNCBYTE)
continue;
sbus[sbusIndex++] = val;
if(sbusIndex==25){
sbusIndex=0;
if (sbus[24] == 0x0){

hansflying
Posts: 2
Joined: Mon Sep 30, 2013 5:27 am

Re: R6203SB SBus on 2560 based board

Post by hansflying »

Hi Gimbal,

follow the tips in viewtopic.php?f=8&t=3259,

===================================================================

in serial.ino search for:

#if defined(SPEKTRUM) && (UART_NUMBER > 1)
#define SPEK_COND && (SPEK_SERIAL_PORT != CURRENTPORT)
#endif

and simply ADD the sbus part blow so it looks like:

#if defined(SPEKTRUM) && (UART_NUMBER > 1)
#define SPEK_COND && (SPEK_SERIAL_PORT != CURRENTPORT)
#endif
#if defined(SBUS) && (UART_NUMBER > 1)
#define SPEK_COND && (SPEK_SERIAL_PORT != CURRENTPORT)
#endif
===========================================================

my R6203SB receiver and Futaba T8FG transmitter work now.

thanks a lot!!!!

Post Reply