APM:Libraries
Public Member Functions | Private Types | Private Attributes | List of all members
Linux::RCInput_115200 Class Reference

#include <RCInput_115200.h>

Inheritance diagram for Linux::RCInput_115200:
[legend]
Collaboration diagram for Linux::RCInput_115200:
[legend]

Public Member Functions

 RCInput_115200 (const char *device)
 
void init () override
 
void _timer_tick (void) override
 
void set_device_path (const char *path)
 
- Public Member Functions inherited from Linux::RCInput
 RCInput ()
 
bool new_input ()
 
uint8_t num_channels ()
 
uint16_t read (uint8_t ch)
 
uint8_t read (uint16_t *periods, uint8_t len)
 
int16_t get_rssi (void) override
 
bool set_override (uint8_t channel, int16_t override)
 
void clear_overrides ()
 
bool add_dsm_input (const uint8_t *bytes, size_t nbytes)
 
void add_sbus_input (const uint8_t *bytes, size_t nbytes)
 
bool add_sumd_input (const uint8_t *bytes, size_t nbytes)
 
bool add_st24_input (const uint8_t *bytes, size_t nbytes)
 
bool add_srxl_input (const uint8_t *bytes, size_t nbytes)
 
- Public Member Functions inherited from AP_HAL::RCInput
virtual void teardown ()
 
virtual bool rc_bind (int dsmMode)
 

Private Types

enum  Decoders {
  DECODER_DSM =0, DECODER_ST24, DECODER_SUMD, DECODER_SRXL,
  DECODER_SYNC
}
 

Private Attributes

const char * device_path
 
int32_t fd = -1
 
enum Decoders decoder = DECODER_SYNC
 
uint8_t dsm_count
 
uint8_t st24_count
 
uint32_t last_input_ms
 

Additional Inherited Members

- Static Public Member Functions inherited from Linux::RCInput
static RCInputfrom (AP_HAL::RCInput *rcinput)
 
- Protected Member Functions inherited from Linux::RCInput
void _process_rc_pulse (uint16_t width_s0, uint16_t width_s1)
 
void _update_periods (uint16_t *periods, uint8_t len)
 
void _process_ppmsum_pulse (uint16_t width)
 
void _process_sbus_pulse (uint16_t width_s0, uint16_t width_s1)
 
void _process_dsm_pulse (uint16_t width_s0, uint16_t width_s1)
 
- Protected Attributes inherited from Linux::RCInput
std::atomic< unsigned int > rc_input_count
 
std::atomic< unsigned int > last_rc_input_count
 
uint16_t _pwm_values [LINUX_RC_INPUT_NUM_CHANNELS]
 
uint8_t _num_channels
 
uint16_t _override [LINUX_RC_INPUT_NUM_CHANNELS]
 
struct {
   int8_t   _channel_counter
 
   uint16_t   _pulse_capt [LINUX_RC_INPUT_NUM_CHANNELS]
 
ppm_state
 
struct {
   uint16_t   bytes [25]
 
   uint16_t   bit_ofs
 
sbus_state
 
struct {
   uint16_t   bytes [16]
 
   uint16_t   bit_ofs
 
dsm_state
 
struct {
   uint8_t   frame [16]
 
   uint8_t   partial_frame_count
 
   uint32_t   last_input_ms
 
dsm
 
struct {
   uint8_t   frame [25]
 
   uint8_t   partial_frame_count
 
   uint32_t   last_input_ms
 
sbus
 
int16_t _rssi = -1
 

Detailed Description

Definition at line 26 of file RCInput_115200.h.

Member Enumeration Documentation

◆ Decoders

Enumerator
DECODER_DSM 
DECODER_ST24 
DECODER_SUMD 
DECODER_SRXL 
DECODER_SYNC 

Definition at line 39 of file RCInput_115200.h.

Constructor & Destructor Documentation

◆ RCInput_115200()

Linux::RCInput_115200::RCInput_115200 ( const char *  device)
inline

Definition at line 29 of file RCInput_115200.h.

Here is the call graph for this function:

Member Function Documentation

◆ _timer_tick()

void RCInput_115200::_timer_tick ( void  )
overridevirtual

Reimplemented from Linux::RCInput.

Definition at line 71 of file RCInput_115200.cpp.

Referenced by RCInput_115200().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void RCInput_115200::init ( )
overridevirtual

Call init from the platform hal instance init, so that both the type of the RCInput implementation and init argument (e.g. ISRRegistry) are known to the programmer. (It's too difficult to describe this dependency in the C++ type system.)

Reimplemented from Linux::RCInput.

Definition at line 39 of file RCInput_115200.cpp.

Referenced by RCInput_115200().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_device_path()

void RCInput_115200::set_device_path ( const char *  path)

Definition at line 66 of file RCInput_115200.cpp.

Referenced by RCInput_115200().

Here is the caller graph for this function:

Member Data Documentation

◆ decoder

enum Decoders Linux::RCInput_115200::decoder = DECODER_SYNC
private

Definition at line 46 of file RCInput_115200.h.

Referenced by _timer_tick().

◆ device_path

const char* Linux::RCInput_115200::device_path
private

Definition at line 36 of file RCInput_115200.h.

Referenced by init(), and set_device_path().

◆ dsm_count

uint8_t Linux::RCInput_115200::dsm_count
private

Definition at line 48 of file RCInput_115200.h.

Referenced by _timer_tick().

◆ fd

int32_t Linux::RCInput_115200::fd = -1
private

Definition at line 37 of file RCInput_115200.h.

Referenced by _timer_tick(), and init().

◆ last_input_ms

uint32_t Linux::RCInput_115200::last_input_ms
private

Definition at line 50 of file RCInput_115200.h.

Referenced by _timer_tick().

◆ st24_count

uint8_t Linux::RCInput_115200::st24_count
private

Definition at line 49 of file RCInput_115200.h.

Referenced by _timer_tick().


The documentation for this class was generated from the following files: