Skyward boardcore
Loading...
Searching...
No Matches
SX1278Defs.h File Reference
#include <drivers/spi/SPIBusInterface.h>
#include <cstdint>
Include dependency graph for SX1278Defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Boardcore::SX1278::RegDioMapping::Mapping
 Represents an actual Dio mapping.. More...
 

Namespaces

namespace  Boardcore
 This file includes all the types the logdecoder script will decode.
 
namespace  Boardcore::SX1278
 
namespace  Boardcore::SX1278::RegDioMapping
 
namespace  Boardcore::SX1278::Fsk
 Definitions only valid for Fsk.
 
namespace  Boardcore::SX1278::Fsk::RegOpMode
 
namespace  Boardcore::SX1278::Fsk::RegPaConfig
 
namespace  Boardcore::SX1278::Fsk::RegPaRamp
 
namespace  Boardcore::SX1278::Fsk::RegOcp
 
namespace  Boardcore::SX1278::Fsk::RegRxConfig
 
namespace  Boardcore::SX1278::Fsk::RegRxBw
 
namespace  Boardcore::SX1278::Fsk::RegAfcBw
 
namespace  Boardcore::SX1278::Fsk::RegPreambleDetector
 
namespace  Boardcore::SX1278::Fsk::RegSyncConfig
 
namespace  Boardcore::SX1278::Fsk::RegPacketConfig1
 
namespace  Boardcore::SX1278::Fsk::RegPacketConfig2
 
namespace  Boardcore::SX1278::Fsk::RegFifoThresh
 
namespace  Boardcore::SX1278::Fsk::RegIrqFlags
 
namespace  Boardcore::SX1278::Fsk::RegPaDac
 
namespace  Boardcore::SX1278::Lora
 Definitions only valid for LoRa.
 
namespace  Boardcore::SX1278::Lora::RegOpMode
 
namespace  Boardcore::SX1278::Lora::RegPaConfig
 
namespace  Boardcore::SX1278::Lora::RegOcp
 
namespace  Boardcore::SX1278::Lora::RegIrqFlags
 
namespace  Boardcore::SX1278::Lora::RegModemConfig1
 
namespace  Boardcore::SX1278::Lora::RegModemConfig2
 
namespace  Boardcore::SX1278::Lora::RegModemConfig3
 
namespace  Boardcore::SX1278::Lora::RegDetectOptimize
 
namespace  Boardcore::SX1278::Lora::RegPaDac
 

Typedefs

using Boardcore::SX1278::Fsk::RegAfcBw::RxBwAfc = Boardcore::SX1278::Fsk::RegRxBw::RxBw
 

Enumerations

enum class  Boardcore::SX1278::Dio {
  Boardcore::SX1278::DIO0 = 0 , Boardcore::SX1278::DIO1 = 1 , Boardcore::SX1278::DIO2 = 2 , Boardcore::SX1278::DIO3 = 3 ,
  Boardcore::SX1278::DIO4 = 4 , Boardcore::SX1278::DIO5 = 5
}
 Represents a DIO.. More...
 
enum  Boardcore::SX1278::Fsk::RegOpMode::ModulationType { Boardcore::SX1278::Fsk::RegOpMode::MODULATION_TYPE_FSK = 0 << 6 , Boardcore::SX1278::Fsk::RegOpMode::MODULATION_TYPE_OOK = 1 << 6 }
 
enum  Boardcore::SX1278::Fsk::RegOpMode::Mode {
  Boardcore::SX1278::Fsk::RegOpMode::MODE_SLEEP = 0b000 , Boardcore::SX1278::Fsk::RegOpMode::MODE_STDBY = 0b001 , Boardcore::SX1278::Fsk::RegOpMode::MODE_FSTX = 0b010 , Boardcore::SX1278::Fsk::RegOpMode::MODE_TX = 0b011 ,
  Boardcore::SX1278::Fsk::RegOpMode::MODE_FSRX = 0b100 , Boardcore::SX1278::Fsk::RegOpMode::MODE_RX = 0b101
}
 
enum  Boardcore::SX1278::Fsk::RegPaRamp::ModulationShaping { Boardcore::SX1278::Fsk::RegPaRamp::MODULATION_SHAPING_NONE = 0b00 , Boardcore::SX1278::Fsk::RegPaRamp::MODULATION_SHAPING_GAUSSIAN_BT_1_0 = 0b01 , Boardcore::SX1278::Fsk::RegPaRamp::MODULATION_SHAPING_GAUSSIAN_BT_0_5 = 0b10 , Boardcore::SX1278::Fsk::RegPaRamp::MODULATION_SHAPING_GAUSSIAN_BT_0_3 = 0b11 }
 
enum  Boardcore::SX1278::Fsk::RegPaRamp::PaRamp {
  Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_MS_3_4 = 0b0000 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_MS_2 = 0b0001 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_MS_1 = 0b0010 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_500 = 0b0011 ,
  Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_250 = 0b0100 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_125 = 0b0101 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_100 = 0b0110 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_62 = 0b0111 ,
  Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_50 = 0b1000 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_40 = 0b1001 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_31 = 0b1010 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_25 = 0b1011 ,
  Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_20 = 0b1100 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_15 = 0b1101 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_12 = 0b1110 , Boardcore::SX1278::Fsk::RegPaRamp::PA_RAMP_US_10 = 0b1111
}
 
enum  Boardcore::SX1278::Fsk::RegRxBw::RxBw {
  Boardcore::SX1278::Fsk::RegRxBw::HZ_2600 = 0b10111 , Boardcore::SX1278::Fsk::RegRxBw::HZ_3100 = 0b01111 , Boardcore::SX1278::Fsk::RegRxBw::HZ_3900 = 0b00111 , Boardcore::SX1278::Fsk::RegRxBw::HZ_5200 = 0b10110 ,
  Boardcore::SX1278::Fsk::RegRxBw::HZ_6300 = 0b01110 , Boardcore::SX1278::Fsk::RegRxBw::HZ_7800 = 0b00110 , Boardcore::SX1278::Fsk::RegRxBw::HZ_10400 = 0b10101 , Boardcore::SX1278::Fsk::RegRxBw::HZ_12500 = 0b01101 ,
  Boardcore::SX1278::Fsk::RegRxBw::HZ_15600 = 0b00101 , Boardcore::SX1278::Fsk::RegRxBw::HZ_20800 = 0b10100 , Boardcore::SX1278::Fsk::RegRxBw::HZ_25000 = 0b01100 , Boardcore::SX1278::Fsk::RegRxBw::HZ_31300 = 0b00100 ,
  Boardcore::SX1278::Fsk::RegRxBw::HZ_41700 = 0b10011 , Boardcore::SX1278::Fsk::RegRxBw::HZ_50000 = 0b01011 , Boardcore::SX1278::Fsk::RegRxBw::HZ_62500 = 0b00011 , Boardcore::SX1278::Fsk::RegRxBw::HZ_83300 = 0b10010 ,
  Boardcore::SX1278::Fsk::RegRxBw::HZ_100000 = 0b01010 , Boardcore::SX1278::Fsk::RegRxBw::HZ_125000 = 0b00010 , Boardcore::SX1278::Fsk::RegRxBw::HZ_166700 = 0b10001 , Boardcore::SX1278::Fsk::RegRxBw::HZ_200000 = 0b01001 ,
  Boardcore::SX1278::Fsk::RegRxBw::HZ_250000 = 0b00001
}
 
enum  Boardcore::SX1278::Fsk::RegPreambleDetector::Size { Boardcore::SX1278::Fsk::RegPreambleDetector::PREAMBLE_DETECTOR_SIZE_1_BYTE = 0b00 , Boardcore::SX1278::Fsk::RegPreambleDetector::PREAMBLE_DETECTOR_SIZE_2_BYTES = 0b01 , Boardcore::SX1278::Fsk::RegPreambleDetector::PREAMBLE_DETECTOR_SIZE_3_BYTES = 0b10 }
 
enum  Boardcore::SX1278::Fsk::RegSyncConfig::AutoRestartRxMode { Boardcore::SX1278::Fsk::RegSyncConfig::AUTO_RESTART_RX_MODE_OFF = 0b00 , Boardcore::SX1278::Fsk::RegSyncConfig::AUTO_RESTART_RX_MODE_ON_WITHOUT_PILL_LOCK = 0b01 , Boardcore::SX1278::Fsk::RegSyncConfig::AUTO_RESTART_RX_MODE_ON_WITH_PILL_LOCK = 0b10 }
 
enum  Boardcore::SX1278::Fsk::RegSyncConfig::PreamblePolarity { Boardcore::SX1278::Fsk::RegSyncConfig::PREAMBLE_POLARITY_AA = 0 , Boardcore::SX1278::Fsk::RegSyncConfig::PREAMBLE_POLARITY_55 = 1 }
 
enum  Boardcore::SX1278::Fsk::RegPacketConfig1::PacketFormat { Boardcore::SX1278::Fsk::RegPacketConfig1::PACKET_FORMAT_FIXED_LENGTH = 0 , Boardcore::SX1278::Fsk::RegPacketConfig1::PACKET_FORMAT_VARIABLE_LENGTH = 1 }
 
enum  Boardcore::SX1278::Fsk::RegPacketConfig1::DcFree { Boardcore::SX1278::Fsk::RegPacketConfig1::DC_FREE_NONE = 0b00 , Boardcore::SX1278::Fsk::RegPacketConfig1::DC_FREE_MANCHESTER = 0b01 , Boardcore::SX1278::Fsk::RegPacketConfig1::DC_FREE_WHITENING = 0b10 }
 
enum  Boardcore::SX1278::Fsk::RegPacketConfig1::AddressFiltering { Boardcore::SX1278::Fsk::RegPacketConfig1::ADDRESS_FILTERING_NONE = 0b00 , Boardcore::SX1278::Fsk::RegPacketConfig1::ADDRESS_FILTERING_MATCH_NODE = 0b01 , Boardcore::SX1278::Fsk::RegPacketConfig1::ADDRESS_FILTERING_MATCH_NODE_OR_BROADCAST = 0b10 }
 
enum  Boardcore::SX1278::Fsk::RegPacketConfig1::CrcWhiteningType { Boardcore::SX1278::Fsk::RegPacketConfig1::CRC_WHITENING_TYPE_CCITT_CRC = 0 , Boardcore::SX1278::Fsk::RegPacketConfig1::CRC_WHITENING_TYPE_IBM_CRC = 1 }
 
enum  Boardcore::SX1278::Fsk::RegPacketConfig2::DataMode { Boardcore::SX1278::Fsk::RegPacketConfig2::DATA_MODE_CONTINUOS = 0 , Boardcore::SX1278::Fsk::RegPacketConfig2::DATA_MODE_PACKET = 1 }
 
enum  Boardcore::SX1278::Fsk::RegFifoThresh::TxStartCondition { Boardcore::SX1278::Fsk::RegFifoThresh::TX_START_CONDITION_FIFO_LEVEL = 0 , Boardcore::SX1278::Fsk::RegFifoThresh::TX_START_CONDITION_FIFO_NOT_EMPTY = 1 }
 
enum  Boardcore::SX1278::Fsk::RegIrqFlags::IrqFlags {
  Boardcore::SX1278::Fsk::RegIrqFlags::MODE_READY = 1 << 15 , Boardcore::SX1278::Fsk::RegIrqFlags::RX_READY = 1 << 14 , Boardcore::SX1278::Fsk::RegIrqFlags::TX_READY = 1 << 13 , Boardcore::SX1278::Fsk::RegIrqFlags::PILL_LOCK = 1 << 12 ,
  Boardcore::SX1278::Fsk::RegIrqFlags::RSSI = 1 << 11 , Boardcore::SX1278::Fsk::RegIrqFlags::TIMEOUT = 1 << 10 , Boardcore::SX1278::Fsk::RegIrqFlags::PREAMBLE_DETECT = 1 << 9 , Boardcore::SX1278::Fsk::RegIrqFlags::SYNC_ADDRESS_MATCH = 1 << 8 ,
  Boardcore::SX1278::Fsk::RegIrqFlags::FIFO_FULL = 1 << 7 , Boardcore::SX1278::Fsk::RegIrqFlags::FIFO_EMPTY = 1 << 6 , Boardcore::SX1278::Fsk::RegIrqFlags::FIFO_LEVEL = 1 << 5 , Boardcore::SX1278::Fsk::RegIrqFlags::FIFO_OVERRUN = 1 << 4 ,
  Boardcore::SX1278::Fsk::RegIrqFlags::PACKET_SENT = 1 << 3 , Boardcore::SX1278::Fsk::RegIrqFlags::PAYLOAD_READY = 1 << 2 , Boardcore::SX1278::Fsk::RegIrqFlags::CRC_OK = 1 << 1 , Boardcore::SX1278::Fsk::RegIrqFlags::LOW_BAT = 1 << 0
}
 
enum  Boardcore::SX1278::Fsk::RegPaDac::PaDac { Boardcore::SX1278::Fsk::RegPaDac::PA_DAC_DEFAULT_VALUE = 0x04 , Boardcore::SX1278::Fsk::RegPaDac::PA_DAC_PA_BOOST = 0x07 }
 
enum  Boardcore::SX1278::Fsk::Registers {
  Boardcore::SX1278::Fsk::REG_FIFO = 0x00 , Boardcore::SX1278::Fsk::REG_OP_MODE = 0x01 , Boardcore::SX1278::Fsk::REG_BITRATE_MSB = 0x02 , Boardcore::SX1278::Fsk::REG_BITRATE_LSB = 0x03 ,
  Boardcore::SX1278::Fsk::REG_FDEV_MSB = 0x04 , Boardcore::SX1278::Fsk::REG_FDEV_LSB = 0x05 , Boardcore::SX1278::Fsk::REG_FRF_MSB = 0x06 , Boardcore::SX1278::Fsk::REG_FRF_MID = 0x07 ,
  Boardcore::SX1278::Fsk::REG_FRF_LSB = 0x08 , Boardcore::SX1278::Fsk::REG_PA_CONFIG = 0x09 , Boardcore::SX1278::Fsk::REG_PA_RAMP = 0x0a , Boardcore::SX1278::Fsk::REG_OCP = 0x0b ,
  Boardcore::SX1278::Fsk::REG_LNA = 0x0c , Boardcore::SX1278::Fsk::REG_RX_CONFIG = 0x0d , Boardcore::SX1278::Fsk::REG_RSSI_CONFIG = 0x0e , Boardcore::SX1278::Fsk::REG_RSSI_COLLISION = 0x0f ,
  Boardcore::SX1278::Fsk::REG_RSSI_THRESH = 0x10 , Boardcore::SX1278::Fsk::REG_RSSI_VALUE = 0x11 , Boardcore::SX1278::Fsk::REG_RX_BW = 0x12 , Boardcore::SX1278::Fsk::REG_AFC_BW = 0x13 ,
  Boardcore::SX1278::Fsk::REG_OOK_PEAK = 0x14 , Boardcore::SX1278::Fsk::REG_OOK_FIX = 0x15 , Boardcore::SX1278::Fsk::REG_OOK_AVG = 0x16 , Boardcore::SX1278::Fsk::REG_AFC_FEI = 0x1a ,
  Boardcore::SX1278::Fsk::REG_AFC_MSB = 0x1b , Boardcore::SX1278::Fsk::REG_AFC_LSB = 0x1c , Boardcore::SX1278::Fsk::REG_FEI_MSB = 0x1d , Boardcore::SX1278::Fsk::REG_FEI_LSB = 0x1e ,
  Boardcore::SX1278::Fsk::REG_PREAMBLE_DETECT = 0x1f , Boardcore::SX1278::Fsk::REG_RX_TIMEOUT_1 = 0x20 , Boardcore::SX1278::Fsk::REG_RX_TIMEOUT_2 = 0x21 , Boardcore::SX1278::Fsk::REG_RX_TIMEOUT_3 = 0x22 ,
  Boardcore::SX1278::Fsk::REG_RX_DELAY = 0x23 , Boardcore::SX1278::Fsk::REG_OSC = 0x24 , Boardcore::SX1278::Fsk::REG_PREAMBLE_MSB = 0x25 , Boardcore::SX1278::Fsk::REG_PREAMBLE_LSB = 0x26 ,
  Boardcore::SX1278::Fsk::REG_SYNC_CONFIG = 0x27 , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_1 = 0x28 , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_2 = 0x29 , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_3 = 0x2a ,
  Boardcore::SX1278::Fsk::REG_SYNC_VALUE_4 = 0x2b , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_5 = 0x2c , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_6 = 0x2d , Boardcore::SX1278::Fsk::REG_SYNC_VALUE_7 = 0x2e ,
  Boardcore::SX1278::Fsk::REG_SYNC_VALUE_8 = 0x2f , Boardcore::SX1278::Fsk::REG_PACKET_CONFIG_1 = 0x30 , Boardcore::SX1278::Fsk::REG_PACKET_CONFIG_2 = 0x31 , Boardcore::SX1278::Fsk::REG_PACKET_PAYLOAD_LENGTH = 0x32 ,
  Boardcore::SX1278::Fsk::REG_NODE_ADRS = 0x33 , Boardcore::SX1278::Fsk::REG_BROADCAST_ADRS = 0x34 , Boardcore::SX1278::Fsk::REG_FIFO_THRESH = 0x35 , Boardcore::SX1278::Fsk::REG_SEQ_CONFIG_1 = 0x36 ,
  Boardcore::SX1278::Fsk::REG_SEQ_CONFIG_2 = 0x37 , Boardcore::SX1278::Fsk::REG_TIMER_RESOL = 0x38 , Boardcore::SX1278::Fsk::REG_TIMER_1_COEF = 0x39 , Boardcore::SX1278::Fsk::REG_TIMER_2_COEF = 0x3a ,
  Boardcore::SX1278::Fsk::REG_IMAGE_CAL = 0x3b , Boardcore::SX1278::Fsk::REG_TEMP = 0x3c , Boardcore::SX1278::Fsk::REG_LOW_BAT = 0x3d , Boardcore::SX1278::Fsk::REG_IRQ_FLAGS_1 = 0x3e ,
  Boardcore::SX1278::Fsk::REG_IRQ_FLAGS_2 = 0x3f , Boardcore::SX1278::Fsk::REG_DIO_MAPPING_1 = 0x40 , Boardcore::SX1278::Fsk::REG_DIO_MAPPING_2 = 0x41 , Boardcore::SX1278::Fsk::REG_VERSION = 0x42 ,
  Boardcore::SX1278::Fsk::REG_PILL_HOP = 0x44 , Boardcore::SX1278::Fsk::REG_TCXO = 0x4b , Boardcore::SX1278::Fsk::REG_PA_DAC = 0x4d , Boardcore::SX1278::Fsk::REG_FORMER_TEMP = 0x5b ,
  Boardcore::SX1278::Fsk::REG_BITRATE_FRAC = 0x5d , Boardcore::SX1278::Fsk::REG_AGC_REF = 0x61 , Boardcore::SX1278::Fsk::REG_AGC_THRESH_1 = 0x62 , Boardcore::SX1278::Fsk::REG_AGC_THRESH_2 = 0x63 ,
  Boardcore::SX1278::Fsk::REG_AGC_THRESH_3 = 0x64 , Boardcore::SX1278::Fsk::REG_AGC_PILL = 0x70
}
 
enum  Boardcore::SX1278::Lora::RegOpMode::Mode {
  Boardcore::SX1278::Lora::RegOpMode::MODE_SLEEP = 0b000 , Boardcore::SX1278::Lora::RegOpMode::MODE_STDBY = 0b001 , Boardcore::SX1278::Lora::RegOpMode::MODE_FSTX = 0b010 , Boardcore::SX1278::Lora::RegOpMode::MODE_TX = 0b011 ,
  Boardcore::SX1278::Lora::RegOpMode::MODE_FSRX = 0b100 , Boardcore::SX1278::Lora::RegOpMode::MODE_RXCONTINUOUS = 0b101 , Boardcore::SX1278::Lora::RegOpMode::MODE_RXSINGLE = 0b110 , Boardcore::SX1278::Lora::RegOpMode::MODE_CAD = 0b111
}
 
enum  Boardcore::SX1278::Lora::RegIrqFlags::IrqFlags {
  Boardcore::SX1278::Lora::RegIrqFlags::RX_TIMEOUT = 1 << 7 , Boardcore::SX1278::Lora::RegIrqFlags::RX_DONE = 1 << 6 , Boardcore::SX1278::Lora::RegIrqFlags::PAYLOAD_CRC_ERROR = 1 << 5 , Boardcore::SX1278::Lora::RegIrqFlags::VALID_HEADER = 1 << 4 ,
  Boardcore::SX1278::Lora::RegIrqFlags::TX_DONE = 1 << 3 , Boardcore::SX1278::Lora::RegIrqFlags::CAD_DONE = 1 << 2 , Boardcore::SX1278::Lora::RegIrqFlags::FHSS_CHANGE_CHANNEL = 1 << 1 , Boardcore::SX1278::Lora::RegIrqFlags::CAD_DETECTED = 1 << 0
}
 
enum  Boardcore::SX1278::Lora::RegModemConfig1::Bw {
  Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_7800 = 0b0000 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_10400 = 0b0001 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_15600 = 0b0010 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_20800 = 0b0011 ,
  Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_31250 = 0b0100 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_41700 = 0b0101 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_62500 = 0b0110 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_125000 = 0b0111 ,
  Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_250000 = 0b1000 , Boardcore::SX1278::Lora::RegModemConfig1::BW_HZ_500000 = 0b1001
}
 
enum  Boardcore::SX1278::Lora::RegModemConfig1::Cr { Boardcore::SX1278::Lora::RegModemConfig1::CR_1 = 0b001 , Boardcore::SX1278::Lora::RegModemConfig1::CR_2 = 0b010 , Boardcore::SX1278::Lora::RegModemConfig1::CR_3 = 0b011 , Boardcore::SX1278::Lora::RegModemConfig1::CR_4 = 0b100 }
 
enum  Boardcore::SX1278::Lora::RegModemConfig2::Sf {
  Boardcore::SX1278::Lora::RegModemConfig2::SF_6 = 6 , Boardcore::SX1278::Lora::RegModemConfig2::SF_7 = 7 , Boardcore::SX1278::Lora::RegModemConfig2::SF_8 = 8 , Boardcore::SX1278::Lora::RegModemConfig2::SF_9 = 9 ,
  Boardcore::SX1278::Lora::RegModemConfig2::SF_10 = 10 , Boardcore::SX1278::Lora::RegModemConfig2::SF_11 = 11 , Boardcore::SX1278::Lora::RegModemConfig2::SF_12 = 12
}
 
enum  Boardcore::SX1278::Lora::Registers {
  Boardcore::SX1278::Lora::REG_FIFO = 0x00 , Boardcore::SX1278::Lora::REG_OP_MODE = 0x01 , Boardcore::SX1278::Lora::REG_FRF_MSB = 0x06 , Boardcore::SX1278::Lora::REG_FRF_MID = 0x07 ,
  Boardcore::SX1278::Lora::REG_FRF_LSB = 0x08 , Boardcore::SX1278::Lora::REG_PA_CONFIG = 0x09 , Boardcore::SX1278::Lora::REG_PA_RAMP = 0x0a , Boardcore::SX1278::Lora::REG_OCP = 0x0b ,
  Boardcore::SX1278::Lora::REG_LNA = 0x0c , Boardcore::SX1278::Lora::REG_FIFO_ADDR_PTR = 0x0d , Boardcore::SX1278::Lora::REG_FIFO_TX_BASE_ADDR = 0x0e , Boardcore::SX1278::Lora::REG_FIFO_RX_BASE_ADDR = 0x0f ,
  Boardcore::SX1278::Lora::REG_FIFO_RX_CURRENT_ADDR = 0x10 , Boardcore::SX1278::Lora::REG_IRQ_FLAGS_MASK = 0x11 , Boardcore::SX1278::Lora::REG_IRQ_FLAGS = 0x12 , Boardcore::SX1278::Lora::REG_RX_NB_BYTES = 0x13 ,
  Boardcore::SX1278::Lora::REG_RX_HEADER_CNT_VALUE_MSB = 0x14 , Boardcore::SX1278::Lora::REG_RX_HEADER_CNT_VALUE_LSB = 0x15 , Boardcore::SX1278::Lora::REG_RX_PACKET_CNT_VALUE_MSB = 0x16 , Boardcore::SX1278::Lora::REG_RX_PACKET_CNT_VALUE_LSB = 0x17 ,
  Boardcore::SX1278::Lora::REG_MODEM_STAT = 0x18 , Boardcore::SX1278::Lora::REG_PKT_SNR_VALUE = 0x19 , Boardcore::SX1278::Lora::REG_PKT_RSSI_VALUE = 0x1a , Boardcore::SX1278::Lora::REG_RSSI_VALUE = 0x1b ,
  Boardcore::SX1278::Lora::REG_HOP_CHANNEL = 0x1c , Boardcore::SX1278::Lora::REG_MODEM_CONFIG_1 = 0x1d , Boardcore::SX1278::Lora::REG_MODEM_CONFIG_2 = 0x1e , Boardcore::SX1278::Lora::REG_SYMB_TIMEOUT_LSB = 0x1f ,
  Boardcore::SX1278::Lora::REG_PREAMBLE_MSB = 0x20 , Boardcore::SX1278::Lora::REG_PREAMBLE_LSB = 0x21 , Boardcore::SX1278::Lora::REG_PAYLOAD_LENGTH = 0x22 , Boardcore::SX1278::Lora::REG_MAX_PAYLOAD_LENGTH = 0x23 ,
  Boardcore::SX1278::Lora::REG_HOP_PERIOD = 0x24 , Boardcore::SX1278::Lora::REG_FIFO_RX_BYTE_ADDR = 0x25 , Boardcore::SX1278::Lora::REG_MODEM_CONFIG_3 = 0x26 , Boardcore::SX1278::Lora::REG_PPM_CORRECTION = 0x27 ,
  Boardcore::SX1278::Lora::REG_FEI_MSB = 0x28 , Boardcore::SX1278::Lora::REG_FEI_MID = 0x29 , Boardcore::SX1278::Lora::REG_FEI_LSB = 0x2a , Boardcore::SX1278::Lora::REG_RSSI_WIDEBAND = 0x2c ,
  Boardcore::SX1278::Lora::REG_IF_FREQ_2 = 0x2f , Boardcore::SX1278::Lora::REG_IF_FREQ_1 = 0x30 , Boardcore::SX1278::Lora::REG_DETECT_OPTIMIZE = 0x31 , Boardcore::SX1278::Lora::REG_INVERT_IQ = 0x33 ,
  Boardcore::SX1278::Lora::REG_HIGH_BW_OPTIMIZE_1 = 0x36 , Boardcore::SX1278::Lora::REG_DETECTION_THRESHOLD = 0x37 , Boardcore::SX1278::Lora::REG_SYNC_WORD = 0x39 , Boardcore::SX1278::Lora::REG_HIGH_BW_OPTIMIZE_2 = 0x3a ,
  Boardcore::SX1278::Lora::REG_INVERT_IQ_2 = 0x3b , Boardcore::SX1278::Lora::REG_DIO_MAPPING_1 = 0x40 , Boardcore::SX1278::Lora::REG_DIO_MAPPING_2 = 0x41 , Boardcore::SX1278::Lora::REG_VERSION = 0x42 ,
  Boardcore::SX1278::Lora::REG_TCXO = 0x4b , Boardcore::SX1278::Lora::REG_PA_DAC = 0x4d , Boardcore::SX1278::Lora::REG_FORMER_TEMP = 0x5b , Boardcore::SX1278::Lora::REG_AGC_REF = 0x61 ,
  Boardcore::SX1278::Lora::REG_AGC_THRESH_1 = 0x62 , Boardcore::SX1278::Lora::REG_AGC_THRESH_2 = 0x63 , Boardcore::SX1278::Lora::REG_AGC_THRESH_3 = 0x64 , Boardcore::SX1278::Lora::REG_AGC_PILL = 0x70
}
 

Functions

SPIBusConfig Boardcore::SX1278::getSpiBusConfig (SPI::ClockDivider clock_divider)
 
constexpr uint16_t Boardcore::SX1278::RegDioMapping::make (int dio0, int dio1, int dio2, int dio3, int dio4, int dio5, bool map_preamble_detect)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegOpMode::make (Mode mode, bool low_frequency_mode_on, ModulationType modulation_type)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPaConfig::make (uint8_t output_power, uint8_t max_power, bool pa_select)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPaRamp::make (PaRamp pa_ramp, ModulationShaping modulation_shaping)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegOcp::make (uint8_t ocp_trim, bool ocp_on)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegRxConfig::make (bool rx_trigger_rssi_interrupt, bool rx_trigger_preable_detect, bool agc_auto_on, bool afc_auto_on, bool restart_rx_with_pll_lock, bool restart_rx_without_pll_lock, bool restart_rx_on_collision)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegRxBw::make (RxBw rx_bw)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegAfcBw::make (RxBwAfc rx_bw_afc)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPreambleDetector::make (int tol, Size size, bool on)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegSyncConfig::make (int size, bool on, PreamblePolarity preamble_polarity, AutoRestartRxMode auto_restart_rx_mode)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPacketConfig1::make (CrcWhiteningType crc_whitening_type, AddressFiltering address_filtering, bool crc_auto_clear_off, bool crc_on, DcFree dc_free, PacketFormat packet_format)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPacketConfig2::make (bool beacon_on, bool io_home_power_frame, bool io_home_on, DataMode data_mode)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegFifoThresh::make (int fifo_threshold, TxStartCondition tx_start_condition)
 
constexpr uint8_t Boardcore::SX1278::Fsk::RegPaDac::make (PaDac pa_dac)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegOpMode::make (Mode mode, bool low_frequency_mode_on, bool access_shared_reg)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegPaConfig::make (uint8_t output_power, uint8_t max_power, bool pa_select)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegOcp::make (uint8_t ocp_trim, bool ocp_on)
 
constexpr uint32_t Boardcore::SX1278::Lora::RegModemConfig1::bandwidthToInt (Bw bw)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegModemConfig1::make (bool implicit_mode_on, Cr coding_rate, Bw bw)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegModemConfig2::make (bool rx_payload_crc_on, bool tx_continuous_mode, Sf spreading_factor)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegModemConfig3::make (bool agc_auto_on, bool low_data_rate_optimize)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegDetectOptimize::make (uint8_t detection_optimize, bool automatic_if_on)
 
constexpr uint8_t Boardcore::SX1278::Lora::RegPaDac::make (bool pa_boost)
 

Variables

constexpr int Boardcore::SX1278::FXOSC = 32000000
 Main oscillator frequency (Hz)
 
constexpr float Boardcore::SX1278::FSTEP = 61.03515625
 Frequency step (Hz) used in some calculations.
 
constexpr int Boardcore::SX1278::MIN_FREQ_DEV = 0
 
constexpr int Boardcore::SX1278::MAX_FREQ_DEV = 0x3fff * FSTEP
 
constexpr int Boardcore::SX1278::MIN_FREQ_RF = 0
 
constexpr int Boardcore::SX1278::MAX_FREQ_RF = 0xffffff * FSTEP
 
constexpr int Boardcore::SX1278::Fsk::FIFO_LEN = 64
 Length of the internal FIFO.