Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
cc2500_smartport.h File Reference
#include "cc2500_compat.h"
#include <stdbool.h>
#include <stdint.h>
+ Include dependency graph for cc2500_smartport.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  smartPortPayload_s
 

Typedefs

typedef bool smartPortDownlinkFn(uint32_t *data)
 
typedef void smartPortUplinkFn(struct smartPortPayload_s *payload)
 
typedef struct smartPortPayload_s smartPortPayload_t
 
typedef void smartPortWriteFrameFn(const smartPortPayload_t *payload)
 
typedef bool smartPortCheckQueueEmptyFn(void)
 

Enumerations

enum  {
  FSSP_START_STOP = 0x7E , FSSP_DLE = 0x7D , FSSP_DLE_XOR = 0x20 , FSSP_DATA_FRAME = 0x10 ,
  FSSP_MSPC_FRAME_SMARTPORT = 0x30 , FSSP_MSPC_FRAME_FPORT = 0x31 , FSSP_MSPS_FRAME = 0x32 , FSSP_SENSOR_ID1 = 0x1B ,
  FSSP_SENSOR_ID2 = 0x0D , FSSP_SENSOR_ID3 = 0x34 , FSSP_SENSOR_ID4 = 0x67
}
 

Functions

bool initSmartPortTelemetryExternal (smartPortWriteFrameFn *smartPortWriteFrameExternal)
 
void processSmartPortTelemetry (smartPortPayload_t *payload, volatile bool *hasRequest, const uint32_t *requestTimeout)
 
smartPortPayload_tsmartPortDataReceive (uint16_t c, bool *clearToSend, smartPortCheckQueueEmptyFn *checkQueueEmpty, bool withChecksum)
 

Variables

smartPortDownlinkFnsmartPortDownlink
 
smartPortUplinkFnsmartPortUplink
 

Data Structure Documentation

◆ smartPortPayload_s

struct smartPortPayload_s

Definition at line 76 of file cc2500_smartport.h.

Data Fields
uint32_t data
uint8_t frameId
uint16_t valueId

Typedef Documentation

◆ smartPortCheckQueueEmptyFn

typedef bool smartPortCheckQueueEmptyFn(void)

Definition at line 83 of file cc2500_smartport.h.

◆ smartPortDownlinkFn

typedef bool smartPortDownlinkFn(uint32_t *data)

Definition at line 8 of file cc2500_smartport.h.

◆ smartPortPayload_t

◆ smartPortUplinkFn

typedef void smartPortUplinkFn(struct smartPortPayload_s *payload)

Definition at line 15 of file cc2500_smartport.h.

◆ smartPortWriteFrameFn

typedef void smartPortWriteFrameFn(const smartPortPayload_t *payload)

Definition at line 82 of file cc2500_smartport.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FSSP_START_STOP 
FSSP_DLE 
FSSP_DLE_XOR 
FSSP_DATA_FRAME 
FSSP_MSPC_FRAME_SMARTPORT 
FSSP_MSPC_FRAME_FPORT 
FSSP_MSPS_FRAME 
FSSP_SENSOR_ID1 
FSSP_SENSOR_ID2 
FSSP_SENSOR_ID3 
FSSP_SENSOR_ID4 

Definition at line 55 of file cc2500_smartport.h.

Function Documentation

◆ initSmartPortTelemetryExternal()

bool initSmartPortTelemetryExternal ( smartPortWriteFrameFn smartPortWriteFrameExternal)

Definition at line 480 of file cc2500_smartport.c.

References initSmartPortSensors(), smartPortWriteFrame, TELEMETRY_STATE_INITIALIZED_EXTERNAL, TELEMETRY_STATE_UNINITIALIZED, and telemetryState.

Referenced by frSkyXInit().

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

◆ processSmartPortTelemetry()

void processSmartPortTelemetry ( smartPortPayload_t payload,
volatile bool *  hasRequest,
const uint32_t requestTimeout 
)

Definition at line 533 of file cc2500_smartport.c.

References ARMING_FLAG, attitude, cmpTimeUs(), currentControlRateProfile, currentPidProfile, pidGains_s::D, FD_PITCH, FD_ROLL, FD_YAW, featureIsEnabled, FLIGHT_MODE, frSkyDataIdTableInfo, FSSP_DATAID_A4, FSSP_DATAID_ALTITUDE, FSSP_DATAID_CURRENT, FSSP_DATAID_CURRENT1, FSSP_DATAID_CURRENT2, FSSP_DATAID_CURRENT3, FSSP_DATAID_CURRENT4, FSSP_DATAID_CURRENT5, FSSP_DATAID_CURRENT6, FSSP_DATAID_CURRENT7, FSSP_DATAID_CURRENT8, FSSP_DATAID_DOWNLINK, FSSP_DATAID_FUEL, FSSP_DATAID_GPS_ALT, FSSP_DATAID_HEADING, FSSP_DATAID_HOME_DIST, FSSP_DATAID_LATLONG, FSSP_DATAID_RPM, FSSP_DATAID_RPM1, FSSP_DATAID_RPM2, FSSP_DATAID_RPM3, FSSP_DATAID_RPM4, FSSP_DATAID_RPM5, FSSP_DATAID_RPM6, FSSP_DATAID_RPM7, FSSP_DATAID_RPM8, FSSP_DATAID_SPEED, FSSP_DATAID_T1, FSSP_DATAID_T11, FSSP_DATAID_T2, FSSP_DATAID_TEMP, FSSP_DATAID_TEMP1, FSSP_DATAID_TEMP2, FSSP_DATAID_TEMP3, FSSP_DATAID_TEMP4, FSSP_DATAID_TEMP5, FSSP_DATAID_TEMP6, FSSP_DATAID_TEMP7, FSSP_DATAID_TEMP8, FSSP_DATAID_UPLINK, FSSP_DATAID_VARIO, FSSP_DATAID_VFAS, FSSP_DATAID_VFAS1, FSSP_DATAID_VFAS2, FSSP_DATAID_VFAS3, FSSP_DATAID_VFAS4, FSSP_DATAID_VFAS5, FSSP_DATAID_VFAS6, FSSP_DATAID_VFAS7, FSSP_DATAID_VFAS8, getAmperage, getBatteryCellCount, getBatteryVoltage, getEstimatedAltitudeCm, getEstimatedVario, getMAhDrawn, pidGains_s::I, frSkyTableInfo_s::index, isArmingDisabled, micros, pidGains_s::P, pidProfile_s::pid, PID_PITCH, PID_ROLL, PID_YAW, controlRateConfig_t::rates, sensors, frSkyTableInfo_s::size, smartPortDownlink, smartPortSendPackage(), smartPortUplink, frSkyTableInfo_s::table, telemetryConfig(), UNUSED, smartPortPayload_s::valueId, mesonh.mesonh_atmosphere::X, mesonh.mesonh_atmosphere::Y, and mesonh.mesonh_atmosphere::Z.

Referenced by frSkyXProcessFrame().

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

◆ smartPortDataReceive()

smartPortPayload_t* smartPortDataReceive ( uint16_t  c,
bool *  clearToSend,
smartPortCheckQueueEmptyFn checkQueueEmpty,
bool  withChecksum 
)

Definition at line 238 of file cc2500_smartport.c.

References checksum, FSSP_DLE, FSSP_DLE_XOR, FSSP_SENSOR_ID1, FSSP_SENSOR_ID2, and FSSP_START_STOP.

Referenced by frSkyXProcessFrame().

+ Here is the caller graph for this function:

Variable Documentation

◆ smartPortDownlink

smartPortDownlinkFn* smartPortDownlink
extern

Definition at line 22 of file cc2500_smartport.c.

Referenced by datalink_frsky_x_init(), and processSmartPortTelemetry().

◆ smartPortUplink

smartPortUplinkFn* smartPortUplink
extern

Definition at line 23 of file cc2500_smartport.c.

Referenced by datalink_frsky_x_init(), and processSmartPortTelemetry().