tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/sx127x/registers.go (about)

     1  package sx127x
     2  
     3  const (
     4  	// registers
     5  	SX127X_REG_FIFO                 = 0x00
     6  	SX127X_REG_OP_MODE              = 0x01
     7  	SX127X_REG_FRF_MSB              = 0x06
     8  	SX127X_REG_FRF_MID              = 0x07
     9  	SX127X_REG_FRF_LSB              = 0x08
    10  	SX127X_REG_PA_CONFIG            = 0x09
    11  	SX127X_REG_PA_RAMP              = 0x0a
    12  	SX127X_REG_OCP                  = 0x0b
    13  	SX127X_REG_LNA                  = 0x0c
    14  	SX127X_REG_FIFO_ADDR_PTR        = 0x0d
    15  	SX127X_REG_FIFO_TX_BASE_ADDR    = 0x0e
    16  	SX127X_REG_FIFO_RX_BASE_ADDR    = 0x0f
    17  	SX127X_REG_FIFO_RX_CURRENT_ADDR = 0x10
    18  	SX127X_REG_IRQ_FLAGS_MASK       = 0x11
    19  	SX127X_REG_IRQ_FLAGS            = 0x12
    20  	SX127X_REG_RX_NB_BYTES          = 0x13
    21  	SX127X_REG_PKT_SNR_VALUE        = 0x19
    22  	SX127X_REG_PKT_RSSI_VALUE       = 0x1a
    23  	SX127X_REG_RSSI_VALUE           = 0x1b
    24  	SX127X_REG_MODEM_CONFIG_1       = 0x1d
    25  	SX127X_REG_MODEM_CONFIG_2       = 0x1e
    26  	SX127X_REG_SYMB_TIMEOUT_LSB     = 0x1f
    27  	SX127X_REG_PREAMBLE_MSB         = 0x20
    28  	SX127X_REG_PREAMBLE_LSB         = 0x21
    29  	SX127X_REG_PAYLOAD_LENGTH       = 0x22
    30  	SX127X_REG_MAX_PAYLOAD_LENGTH   = 0x23
    31  	SX127X_REG_HOP_PERIOD           = 0x24
    32  	SX127X_REG_MODEM_CONFIG_3       = 0x26
    33  	SX127X_REG_FREQ_ERROR_MSB       = 0x28
    34  	SX127X_REG_FREQ_ERROR_MID       = 0x29
    35  	SX127X_REG_FREQ_ERROR_LSB       = 0x2a
    36  	SX127X_REG_RSSI_WIDEBAND        = 0x2c
    37  	SX127X_REG_DETECTION_OPTIMIZE   = 0x31
    38  	SX127X_REG_INVERTIQ             = 0x33
    39  	SX127X_REG_DETECTION_THRESHOLD  = 0x37
    40  	SX127X_REG_SYNC_WORD            = 0x39
    41  	SX127X_REG_INVERTIQ2            = 0x3b
    42  	SX127X_REG_DIO_MAPPING_1        = 0x40
    43  	SX127X_REG_DIO_MAPPING_2        = 0x41
    44  	SX127X_REG_VERSION              = 0x42
    45  	SX127X_REG_PA_DAC               = 0x4d
    46  	// PA config
    47  	SX127X_PA_BOOST = 0x80
    48  
    49  	// Bits masking the corresponding IRQs from the radio
    50  	SX127X_IRQ_LORA_RXTOUT_MASK = uint8(0x80)
    51  	SX127X_IRQ_LORA_RXDONE_MASK = uint8(0x40)
    52  	SX127X_IRQ_LORA_CRCERR_MASK = uint8(0x20)
    53  	SX127X_IRQ_LORA_HEADER_MASK = uint8(0x10)
    54  	SX127X_IRQ_LORA_TXDONE_MASK = uint8(0x08)
    55  	SX127X_IRQ_LORA_CDDONE_MASK = uint8(0x04)
    56  	SX127X_IRQ_LORA_FHSSCH_MASK = uint8(0x02)
    57  	SX127X_IRQ_LORA_CDDETD_MASK = uint8(0x01)
    58  
    59  	// DIO function mappings                D0D1D2D3
    60  	SX127X_MAP_DIO0_LORA_RXDONE = uint8(0x00) // 00------
    61  	SX127X_MAP_DIO0_LORA_TXDONE = uint8(0x40) // 01------
    62  	SX127X_MAP_DIO1_LORA_RXTOUT = uint8(0x00) // --00----
    63  	SX127X_MAP_DIO1_LORA_NOP    = uint8(0x30) // --11----
    64  	SX127X_MAP_DIO2_LORA_NOP    = uint8(0xC0) // ----11--
    65  
    66  	SX127X_PAYLOAD_LENGTH = uint8(0x40)
    67  
    68  	// Low Noise Amp
    69  	SX127X_LNA_MAX_GAIN = uint8(0x23)
    70  	SX127X_LNA_OFF_GAIN = uint8(0x00)
    71  	SX127X_LNA_LOW_GAIN = uint8(0x20)
    72  
    73  	// Bandwidth
    74  	SX127X_LORA_BW_7_8   = uint8(0x00)
    75  	SX127X_LORA_BW_10_4  = uint8(0x01)
    76  	SX127X_LORA_BW_15_6  = uint8(0x02)
    77  	SX127X_LORA_BW_20_8  = uint8(0x03)
    78  	SX127X_LORA_BW_31_25 = uint8(0x04)
    79  	SX127X_LORA_BW_41_7  = uint8(0x05)
    80  	SX127X_LORA_BW_62_5  = uint8(0x06)
    81  	SX127X_LORA_BW_125_0 = uint8(0x07)
    82  	SX127X_LORA_BW_250_0 = uint8(0x08)
    83  	SX127X_LORA_BW_500_0 = uint8(0x09)
    84  	// Automatic gain control
    85  	SX127X_AGC_AUTO_OFF = uint8(0x00)
    86  	SX127X_AGC_AUTO_ON  = uint8(0x01)
    87  	// Operation modes
    88  	SX127X_OPMODE_LORA      = uint8(0x80)
    89  	SX127X_OPMODE_MASK      = uint8(0x07)
    90  	SX127X_OPMODE_SLEEP     = uint8(0x00)
    91  	SX127X_OPMODE_STANDBY   = uint8(0x01)
    92  	SX127X_OPMODE_FSTX      = uint8(0x02)
    93  	SX127X_OPMODE_TX        = uint8(0x03)
    94  	SX127X_OPMODE_FSRX      = uint8(0x04)
    95  	SX127X_OPMODE_RX        = uint8(0x05)
    96  	SX127X_OPMODE_RX_SINGLE = uint8(0x06)
    97  	SX127X_OPMODE_CAD       = uint8(0x07)
    98  
    99  	SX127X_LORA_MAC_PUBLIC_SYNCWORD  = 0x34
   100  	SX127X_LORA_MAC_PRIVATE_SYNCWORD = 0x14
   101  )