remove sx127x.h in app_match_nuttx/nuttx/include/nuttx/wireless/lpwan

This commit is contained in:
wgz-code 2022-03-17 09:13:04 +08:00
parent e69319a1bb
commit 1c73eca6e3
1 changed files with 0 additions and 318 deletions

View File

@ -1,318 +0,0 @@
/****************************************************************************
* include/nuttx/wireless/lpwan/sx127x.h
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __INCLUDE_NUTTX_SX127X_H
#define __INCLUDE_NUTTX_SX127X_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <nuttx/spi/spi.h>
#include <nuttx/irq.h>
#include <nuttx/wireless/ioctl.h>
#include <stdint.h>
#include <stdbool.h>
/****************************************************************************
* Pre-Processor Declarations
****************************************************************************/
/* Constants to SX127X */
/* PA BOOST threshold power */
#define SX127X_PASELECT_POWER (14)
/* BAND3 (HF) -> 862(779) - 1020(960) MHz
* BAND2 (LF) -> 410 - 525(480) MHz
* BAND1 (LF) -> 137 - 175(160) MHz
*/
#define SX127X_HFBAND_THR (525000000)
/* IOCTL commands ***********************************************************/
/* arg: Pointer to int */
#define SX127XIOC_RSSIGET _WLCIOC(SX127X_FIRST+0)
/* arg: Pointer to enum sx127x_modulation_e */
#define SX127XIOC_MODULATIONSET _WLCIOC(SX127X_FIRST+1)
#define SX127XIOC_MODULATIONGET _WLCIOC(SX127X_FIRST+2)
/* arg: Pointer to enum sx127x_opmode_fskook_e */
#define SX127XIOC_OPMODESET _WLCIOC(SX127X_FIRST+3)
#define SX127XIOC_OPMODEGET _WLCIOC(SX127X_FIRST+4)
/* arg: Pointer to struct sx127x_chanscan_ioc_s */
#define SX127XIOC_CHANSCAN _WLCIOC(SX127X_FIRST+5)
/* arg: Pointer to uint32_t */
#define SX127XIOC_PREAMBLESET _WLCIOC(SX127X_FIRST+6)
#define SX127XIOC_PREAMBLEGET _WLCIOC(SX127X_FIRST+7)
/* arg: Pointer to struct sx127x_syncword_ioc_s */
#define SX127XIOC_SYNCWORDSET _WLCIOC(SX127X_FIRST+8)
#define SX127XIOC_SYNCWORDGET _WLCIOC(SX127X_FIRST+9)
/* arg: Pointer to uint32_t */
#define SX127XIOC_RANDOMGET _WLCIOC(SX127X_FIRST+10)
/* TODO SX127X IOC:
* - CRC ON/OFF
* - FDEV
* - RX_BW + AFC_BW
* - BW for LORA
* - SF for LORA
* - CR for LORA
* - FREQ HOPPING
* - IMPLICIT HEADER for LORA
*/
/* RX FIFO data *************************************************************/
#ifdef CONFIG_LPWAN_SX127X_RXSUPPORT
# define SX127X_READ_DATA_HEADER_LEN (sizeof(struct sx127x_read_hdr_s) - \
SX127X_READ_DATA_MAX)
# define SX127X_READ_DATA_MAX (CONFIG_LPWAN_SX127X_RXFIFO_DATA_LEN)
# define SX127X_RXFIFO_ITEM_SIZE (sizeof(struct sx127x_read_hdr_s))
#endif
/****************************************************************************
* Public Data Types
****************************************************************************/
#ifdef CONFIG_ADAPTER_LORA_SX1278
/* Framework connect Lora data */
struct SX127xDataFormat
{
uint8_t flame_head;
uint32_t length;
uint16_t panid;
uint8_t client_id;
uint8_t gateway_id;
uint8_t data_type;
uint8_t data[128];
uint16_t crc16;
};
#endif
#ifdef CONFIG_LPWAN_SX127X_RXSUPPORT
/* RX FIFO data */
struct sx127x_read_hdr_s
{
uint16_t datalen;
int8_t snr;
int16_t rssi;
uint8_t reserved[3];
#ifdef CONFIG_ADAPTER_LORA_SX1278
struct SX127xDataFormat data;
#else
uint8_t data[SX127X_READ_DATA_MAX];
#endif
};
#endif
/* Channel scan data */
struct sx127x_chanscan_ioc_s
{
uint32_t freq;
int16_t rssi_thr;
int16_t rssi_max;
int16_t rssi_min;
uint16_t stime;
bool free;
};
/* SyncWord data */
struct sx127x_syncword_ioc_s
{
uint8_t syncword[8];
uint8_t len;
};
/* Modulation types */
enum sx127x_modulation_e
{
SX127X_MODULATION_INVALID = 0, /* Initial state */
SX127X_MODULATION_FSK = 1,
SX127X_MODULATION_OOK = 2,
SX127X_MODULATION_LORA = 3
};
/* Operating modes */
enum sx127x_opmode_fskook_e
{
SX127X_OPMODE_INVALID = 0, /* Initial state */
SX127X_OPMODE_SLEEP = 1,
SX127X_OPMODE_STANDBY = 2,
SX127X_OPMODE_FSTX = 3,
SX127X_OPMODE_TX = 4,
SX127X_OPMODE_FSRX = 5,
SX127X_OPMODE_RX = 6, /* RXCONT for LORA */
SX127X_OPMODE_RXSINGLE = 7, /* Only LORA */
SX127X_OPMODE_CAD = 8, /* Only LORA */
};
/* FSK bandwidth */
enum sx127x_fskook_bw_e
{
FSKOOK_BANDWIDTH_2P6KHZ = 0x17,
FSKOOK_BANDWIDTH_3P1KHZ = 0x0f,
FSKOOK_BANDWIDTH_3P9KHZ = 0x07,
FSKOOK_BANDWIDTH_5P2KHZ = 0x16,
FSKOOK_BANDWIDTH_6P3KHZ = 0x0e,
FSKOOK_BANDWIDTH_7P8KHZ = 0x06,
FSKOOK_BANDWIDTH_10P4KHZ = 0x15,
FSKOOK_BANDWIDTH_12P5KHZ = 0x0d,
FSKOOK_BANDWIDTH_15P6KHZ = 0x05,
FSKOOK_BANDWIDTH_20P8KHZ = 0x14,
FSKOOK_BANDWIDTH_25KHZ = 0x0c,
FSKOOK_BANDWIDTH_31P3KHZ = 0x04,
FSKOOK_BANDWIDTH_41P7KHZ = 0x13,
FSKOOK_BANDWIDTH_50KHZ = 0x0b,
FSKOOK_BANDWIDTH_62P5KHZ = 0x03,
FSKOOK_BANDWIDTH_83P3KHZ = 0x12,
FSKOOK_BANDWIDTH_100KHZ = 0x0a,
FSKOOK_BANDWIDTH_125KHZ = 0x02,
FSKOOK_BANDWIDTH_166P7KHZ = 0x11,
FSKOOK_BANDWIDTH_200KHZ = 0x09,
FSKOOK_BANDWIDTH_250KHZ = 0x01,
/* Other settings reserved */
};
/* LORA bandwidth */
enum sx127x_lora_bw_e
{
LORA_BANDWIDTH_7P8KHZ = 0,
LORA_BANDWIDTH_10P4KHZ = 1,
LORA_BANDWIDTH_15P6KHZ = 2,
LORA_BANDWIDTH_20P8KHZ = 3,
LORA_BANDWIDTH_31P2KHZ = 4,
LORA_BANDWIDTH_41P4KHZ = 5,
LORA_BANDWIDTH_62P5KHZ = 6,
LORA_BANDWIDTH_125KHZ = 7,
LORA_BANDWIDTH_250KHZ = 9
};
/* LORA SF */
enum sx127x_lora_sf_e
{
LORA_SF_6 = 6,
LORA_SF_7 = 7,
LORA_SF_8 = 8,
LORA_SF_9 = 9,
LORA_SF_10 = 10,
LORA_SF_11 = 11,
LORA_SF_12 = 12
};
/* LORA coding rate */
enum sx127x_lora_cr_e
{
LORA_CR_4d5 = 1,
LORA_CR_4d6 = 2,
LORA_CR_4d7 = 3,
LORA_CR_4d8 = 4
};
/* Board-specific operations and configuration */
struct sx127x_lower_s
{
/* Attach DIO0 interrupt - RXREADY/TXREADY/CADREADY */
CODE int (*irq0attach)(xcpt_t handler, FAR void *arg);
#ifdef CONFIG_LPWAN_SX127X_DIO1
/* Not supported: Attach DIO1 interrupt */
CODE int (*irq1attach)(xcpt_t handler, FAR void *arg);
#endif
#ifdef CONFIG_LPWAN_SX127X_DIO2
/* Not supported: Attach DIO2 interrupt */
CODE int (*irq2attach)(xcpt_t handler, FAR void *arg);
#endif
#ifdef CONFIG_LPWAN_SX127X_DIO3
/* Not supported: Attach DIO3 interrupt */
CODE int (*irq3attach)(xcpt_t handler, FAR void *arg);
#endif
#ifdef CONFIG_LPWAN_SX127X_DIO4
/* Not supported: Attach DIO4 interrupt */
CODE int (*irq4attach)(xcpt_t handler, FAR void *arg);
#endif
#ifdef CONFIG_LPWAN_SX127X_DIO5
/* Not supported: Attach DIO5 interrupt */
CODE int (*irq5attach)(xcpt_t handler, FAR void *arg);
#endif
/* Reset radio module */
CODE void (*reset)(void);
/* Change radio operation mode */
CODE int (*opmode_change)(int opmode);
/* Change radio frequency */
CODE int (*freq_select)(uint32_t freq);
/* Set PA BOOST output */
CODE int (*pa_select)(bool enable);
/* Force PA BOOST output */
bool pa_force;
};
/****************************************************************************
* Public Functions Prototypes
****************************************************************************/
int sx127x_register(FAR struct spi_dev_s *spi,
FAR const struct sx127x_lower_s *lower);
#endif /* __INCLUDE_NUTTX_SX127X_H */