Futaba S-BUS Library. Let you control 16 servos and 2 digital channels

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

FutabaSBUS Class Reference

FutabaSBUS Class Reference

SBUS control class, based on MODSERIAL. More...

#include <FutabaSBUS.h>

Public Member Functions

 FutabaSBUS (PinName tx, PinName rx)
 create a FutabaSBUS object connected to the specified serial pins
int16_t channel (uint8_t ch)
 Read channel(1..16), digital raw data.
uint8_t digichannel (uint8_t ch)
 Read digital channel(1..2), range 0..1.
void servo (uint8_t ch, int16_t position)
 Set servo position, raw data, range 200..2000?
void digiservo (uint8_t ch, uint8_t position)
 Set digital channel, 0..1.
uint8_t failsafe (void)
 Read failsafe condition.
void passthrough (bool mode)
 Set logical data passtrough - servo values are ignored, using received data.
bool passthrough (void)
 Read logical data passtrough.

Detailed Description

SBUS control class, based on MODSERIAL.

Example:

 // Continuously sweep the servo through it's full range
 #include "FutabaSBUS.h"
 #include "mbed.h"
 
 FutabaSBUS sbus(p28, p27);
 
 int main() {
     sbus.passthrough(false);
     while(1) {
         for(int i=0; i<100; i++) {
             sbus.servo(1) = i/100.0;
             wait(0.01);
         }
         for(int i=100; i>0; i--) {
             sbus.servo(1) = i/100.0;
             wait(0.01);
         }
     }
 }

Definition at line 60 of file FutabaSBUS.h.


Constructor & Destructor Documentation

FutabaSBUS ( PinName  tx,
PinName  rx 
)

create a FutabaSBUS object connected to the specified serial pins

&param pin serial tx,rx to connect to

Definition at line 39 of file FutabaSBUS.cpp.


Member Function Documentation

int16_t channel ( uint8_t  ch )

Read channel(1..16), digital raw data.

&param raw data from receiver range from 0 to 4096, normal from 352 1696

Definition at line 52 of file FutabaSBUS.cpp.

uint8_t digichannel ( uint8_t  ch )

Read digital channel(1..2), range 0..1.

&param range 0..1

Definition at line 61 of file FutabaSBUS.cpp.

void digiservo ( uint8_t  ch,
uint8_t  position 
)

Set digital channel, 0..1.

&param range 0..1

Definition at line 78 of file FutabaSBUS.cpp.

uint8_t failsafe ( void   )

Read failsafe condition.

&param 0=no failsafe 1=lost signal 3=failsafe

Definition at line 86 of file FutabaSBUS.cpp.

bool passthrough ( void   )

Read logical data passtrough.

&param bool

Definition at line 93 of file FutabaSBUS.cpp.

void passthrough ( bool  mode )

Set logical data passtrough - servo values are ignored, using received data.

&param bool

Definition at line 88 of file FutabaSBUS.cpp.

void servo ( uint8_t  ch,
int16_t  position 
)

Set servo position, raw data, range 200..2000?

&param raw data 0..2048

Definition at line 70 of file FutabaSBUS.cpp.