资源简介

基于LoRa终端平台(STM8L151C8T6和SX1278)和Contiki系统,开发了3个小系统:发送随机数据,接收数据帧,Ping-Pong收发系统。

资源截图

代码片段和文件信息

/**
 * \file
 *         Main.c
 * \description
 *         base test of LoRa-Node(STM8L151C8T6+SX1278)
 * \author
 *         JiangJunnk.com>
 * \date
 *         2016-10-15 11:12
 * \copyright
 *         (c) 2016-2020 Rimelink (www.rimelink.com) All Rights Reserved.
 */


/* Includes ------------------------------------------------------------------*/
#include 
#include 
#include “contiki.h“
#include “autostart.h“
#include “pt-sem.h“
#include “rtimer.h“
#include “Dbg.h“
#include “Chip.h“
#include “DebugPort.h“
#include “Util.h“
#include “sx1278_src.h“
#include “sx1278_ports.h“


/* Private typedef -----------------------------------------------------------*/
/**
* @brief  Result of radio operation
*/
typedef enum
{
    RF_None = (uint8_t)0
    RF_Tx_Done
    RF_Tx_Timeout
    RF_Rx_Done
    RF_Rx_Timeout
    RF_Rx_Error
    RF_Cad_Done
    RF_Cad_Timeout
} RF_Result_Typedef;

/**
* @brief  SX1278 DIO pins I/O definitions
*/
#define NUM_RADIO_BUF    1 /* Number of unit of radio buffer */
typedef struct 
{
    uint8_t    bySize; /* Size of valid data */
    uint8_t    a_byBuf[RF_FIFO_SIZE]; /* Data buffer */
} RADIO_BUF;

/**
* @brief  frame of random data.
*/
typedef struct
{
    uint8_t    a_byBuf[RF_FIFO_SIZE - sizeof(uint16_t)];
    uint16_t    wCRC16;    
} RF_frame_RAND_DATA;


/* Private function prototypes -----------------------------------------------*/
static void RadioTxDone(void);
static void RadioTxTimeout(void);
static void RadioRxDone(uint16_t size int16_t rssi int8_t snr);
static void RadioRxTimeout(void);
static void RadioRxError(void);
static void RadioCadDone(bool bIsCadDetected);
static void RadioCadTimeout(void);
static void *GetRadioBufPtr(void);
static void PutRadioBufSize(uint8_t bySize);


/* Private macro -------------------------------------------------------------*/
#define RADIO_FREQ    470000000 /* 470 MHz */


/* Private variables ---------------------------------------------------------*/
PROCESS_NAME(TxRandData);
PROCESS_NAME(RxPrintSNRRSSI);
PROCESS_NAME(PingPong);


/**
* @brief  Callback functions for radio events.
*/
const static RadioEvents_t    s_stRFEvents =
{
    .TxDone = RadioTxDone
    .TxTimeout = RadioTxTimeout
    .RxDone = RadioRxDone
    .GetBufPtr = GetRadioBufPtr
    .RxTimeout = RadioRxTimeout
    .RxError = RadioRxError
    .CadDone = RadioCadDone
    .CadTimeout = RadioCadTimeout
};

/**
* @brief  Result of radio operation
*/
static volatile RF_Result_Typedef    s_tRFResult = RF_None;

/**
* @brief  Save RSSI and SNR of the last received packet.
*/
static int16_t    s_nPacketRssi = 0;
static int8_t    s_chPacketSnr = 0;

/**
* @brief  Cycle buffer to save radio packets.
* @note  MUST avoid race condition on “s_astRadioBuf“ when (NUM_RADiO_BUF==1) that 
*            accessed both by ISR and process.
*/
static RADIO_BUF    s_astRadioBu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6503  2016-06-22 22:49  LoRabase\Application\Include\Dbg.h

     文件       8082  2016-09-10 17:19  LoRabase\Application\Include\Util.h

    ..A.SHR       248  2016-02-19 18:53  LoRabase\Application\Include\vssver2.scc

     文件      11265  2016-03-04 15:42  LoRabase\Application\Source\Dbg.c

     文件      11139  2016-10-15 11:05  LoRabase\Application\Source\Util.c

    ..A.SHR       247  2016-02-19 18:53  LoRabase\Application\Source\vssver2.scc

     文件      38253  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-coffee.c

     文件       5011  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-coffee.h

     文件       4054  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-eeprom.c

     文件       2980  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-posix-dir.c

     文件       3260  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-posix.c

     文件       4522  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-ram.c

     文件       4873  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs-xmem.c

     文件       8559  2013-11-06 00:15  LoRabase\Contiki\core\cfs\cfs.h

    ..A.SHR       292  2016-02-19 18:52  LoRabase\Contiki\core\cfs\vssver2.scc

     文件       9896  2013-11-06 00:15  LoRabase\Contiki\core\contiki-default-conf.h

     文件       1907  2013-11-06 00:15  LoRabase\Contiki\core\contiki-lib.h

     文件       2196  2013-11-06 00:15  LoRabase\Contiki\core\contiki-net.h

     文件       1890  2013-11-06 00:15  LoRabase\Contiki\core\contiki-version.h

     文件       2121  2013-11-06 00:15  LoRabase\Contiki\core\contiki.h

     文件      13340  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-conio.c

     文件       2085  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-conio.h

     文件      11504  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-draw.h

     文件       2247  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-mouse.h

     文件       2112  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-vncarch.h

     文件      17059  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-vncfont.c

     文件       1787  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-vncfont.h

     文件      27954  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-vncserver.c

     文件       1744  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk-vncserver.h

     文件      51634  2013-11-06 00:15  LoRabase\Contiki\core\ctk\ctk.c

............此处省略484个文件信息

评论

共有 条评论