Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "modules/datalink/downlink.h"
#include "cc2500.h"
#include "generated/modules.h"
#include "mcu_periph/sys_time.h"
#include "mcu_periph/spi.h"
#include <assert.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
Go to the source code of this file.
Macros | |
#define | USE_RX_CC2500 |
#define | delayMicroseconds(us) cc2500_delayMicroseconds(us) |
#define | NOP 0xFF |
Functions | |
void | cc2500_init (void) |
static void | cc2500_delayMicroseconds (uint32_t us) |
static void | rxSpiReadCommandMulti (uint8_t command, uint8_t commandData, uint8_t *retData, uint8_t length) |
static uint8_t | rxSpiReadCommand (uint8_t command, uint8_t commandData) |
static void | rxSpiWriteCommandMulti (uint8_t command, uint8_t *data, uint8_t length) |
static void | rxSpiWriteCommand (uint8_t command, uint8_t data) |
static void | rxSpiWriteByte (uint8_t data) |
void | cc2500ReadFifo (uint8_t *dpbuffer, uint8_t len) |
void | cc2500WriteFifo (uint8_t *dpbuffer, uint8_t len) |
void | cc2500ReadRegisterMulti (uint8_t address, uint8_t *data, uint8_t length) |
void | cc2500WriteRegisterMulti (uint8_t address, uint8_t *data, uint8_t length) |
uint8_t | cc2500ReadReg (uint8_t reg) |
void | cc2500Strobe (uint8_t address) |
void | cc2500WriteReg (uint8_t address, uint8_t data) |
void | cc2500SetPower (uint8_t power) |
uint8_t | cc2500Reset (void) |
Variables | |
static struct spi_periph * | cc2500_spi_p |
static struct spi_transaction | cc2500_spi_t |
static uint8_t | cc2500_input_buf [64] |
static uint8_t | cc2500_output_buf [64] |
#define delayMicroseconds | ( | us | ) | cc2500_delayMicroseconds(us) |
|
static |
Definition at line 62 of file cc2500.c.
References get_sys_time_float().
void cc2500_init | ( | void | ) |
Definition at line 43 of file cc2500.c.
References spi_transaction::bitorder, cc2500_input_buf, cc2500_output_buf, cc2500_spi_p, cc2500_spi_t, spi_transaction::cdiv, spi_transaction::cpha, spi_transaction::cpol, spi_transaction::dss, spi_transaction::input_buf, spi_transaction::input_length, spi_transaction::output_buf, spi_transaction::output_length, spi_transaction::select, spi_transaction::slave_idx, SPICphaEdge1, SPICpolIdleLow, SPIDiv32, SPIDss8bit, SPIMSBFirst, SPISelectUnselect, SPITransDone, and spi_transaction::status.
Referenced by radio_control_cc2500_init().
Definition at line 174 of file cc2500.c.
References CC2500_3F_RXFIFO, CC2500_READ_BURST, NOP, and rxSpiReadCommandMulti().
Referenced by frSkyXHandlePacket(), getBind1(), getBind2(), and tuneRx().
Definition at line 199 of file cc2500.c.
References NOP, and rxSpiReadCommand().
Referenced by cc2500Reset(), cc2500SpiDetect(), frSkyXHandlePacket(), getBind1(), getBind2(), initialise(), and tuneRx().
Definition at line 188 of file cc2500.c.
References NOP, and rxSpiReadCommandMulti().
uint8_t cc2500Reset | ( | void | ) |
Definition at line 228 of file cc2500.c.
References CC2500_0E_FREQ1, CC2500_SRES, cc2500ReadReg(), cc2500Strobe(), and delayMicroseconds.
Referenced by initialise(), and radio_control_cc2500_init().
void cc2500SetPower | ( | uint8_t | power | ) |
Definition at line 211 of file cc2500.c.
References CC2500_3E_PATABLE, and cc2500WriteReg().
Referenced by frSkyXHandlePacket().
void cc2500Strobe | ( | uint8_t | address | ) |
Definition at line 204 of file cc2500.c.
References rxSpiWriteByte().
Referenced by cc2500Reset(), cc2500WriteFifo(), frSkySpiDataReceived(), frSkyXHandlePacket(), initGetBind(), initialise(), initTuneRx(), and nextChannel().
Definition at line 180 of file cc2500.c.
References CC2500_3F_TXFIFO, CC2500_SFTX, CC2500_STX, CC2500_WRITE_BURST, cc2500Strobe(), and rxSpiWriteCommandMulti().
Referenced by frSkyXHandlePacket().
Definition at line 206 of file cc2500.c.
References rxSpiWriteCommand().
Referenced by cc2500SetPower(), initGetBind(), initialise(), initialiseData(), initTuneRx(), nextChannel(), and tuneRx().
Definition at line 193 of file cc2500.c.
References rxSpiWriteCommandMulti().
Definition at line 92 of file cc2500.c.
References rxSpiReadCommandMulti().
Referenced by cc2500ReadReg().
|
static |
Definition at line 73 of file cc2500.c.
References cc2500_spi_p, cc2500_spi_t, spi_transaction::input_buf, spi_transaction::input_length, spi_transaction::output_buf, spi_transaction::output_length, spi_submit(), SPITransDone, SPITransSuccess, and spi_transaction::status.
Referenced by cc2500ReadFifo(), cc2500ReadRegisterMulti(), and rxSpiReadCommand().
|
static |
Definition at line 121 of file cc2500.c.
References rxSpiWriteCommandMulti().
Referenced by cc2500Strobe().
Definition at line 117 of file cc2500.c.
References rxSpiWriteCommandMulti().
Referenced by cc2500WriteReg().
Definition at line 99 of file cc2500.c.
References cc2500_spi_p, cc2500_spi_t, spi_transaction::input_length, spi_transaction::output_buf, spi_transaction::output_length, spi_submit(), SPITransDone, SPITransSuccess, and spi_transaction::status.
Referenced by cc2500WriteFifo(), cc2500WriteRegisterMulti(), rxSpiWriteByte(), and rxSpiWriteCommand().
|
static |
Definition at line 39 of file cc2500.c.
Referenced by cc2500_init().
|
static |
Definition at line 40 of file cc2500.c.
Referenced by cc2500_init().
|
static |
Definition at line 37 of file cc2500.c.
Referenced by cc2500_init(), rxSpiReadCommandMulti(), and rxSpiWriteCommandMulti().
|
static |
Definition at line 37 of file cc2500.c.
Referenced by cc2500_init(), rxSpiReadCommandMulti(), and rxSpiWriteCommandMulti().