Files
drivers/lora/config.go
Mirac Kara e95cfe66c1 LoRa WAN US915 Support
Adds a driver for us 915 protocol to the lora WAN drivers.
2023-10-26 08:32:04 +02:00

89 lines
2.2 KiB
Go

package lora
import "errors"
// Config holds the LoRa configuration parameters
type Config struct {
Freq uint32 // Frequency
Cr uint8 // Coding Rate
Sf uint8 // Spread Factor
Bw uint8 // Bandwidth
Ldr uint8 // Low Data Rate
Preamble uint16 // PreambleLength
SyncWord uint16 // Sync Word
HeaderType uint8 // Header : Implicit/explicit
Crc uint8 // CRC : Yes/No
Iq uint8 // iq : Standard/inverted
LoraTxPowerDBm int8 // Tx power in Dbm
}
var (
ErrUndefinedLoraConf = errors.New("Undefined Lora configuration")
)
const (
SpreadingFactor5 = 0x05
SpreadingFactor6 = 0x06
SpreadingFactor7 = 0x07
SpreadingFactor8 = 0x08
SpreadingFactor9 = 0x09
SpreadingFactor10 = 0x0A
SpreadingFactor11 = 0x0B
SpreadingFactor12 = 0x0C
)
const (
CodingRate4_5 = 0x01 // 7 0 LoRa coding rate: 4/5
CodingRate4_6 = 0x02 // 7 0 4/6
CodingRate4_7 = 0x03 // 7 0 4/7
CodingRate4_8 = 0x04 // 7 0 4/8
)
const (
HeaderExplicit = 0x00 // 7 0 LoRa header mode: explicit
HeaderImplicit = 0x01 // 7 0 implicit
)
const (
LowDataRateOptimizeOff = 0x00 // 7 0 LoRa low data rate optimization: disabled
LowDataRateOptimizeOn = 0x01 // 7 0 enabled
)
const (
CRCOff = 0x00 // 7 0 LoRa CRC mode: disabled
CRCOn = 0x01 // 7 0 enabled
)
const (
IQStandard = 0x00 // 7 0 LoRa IQ setup: standard
IQInverted = 0x01 // 7 0 inverted
)
const (
Bandwidth_7_8 = iota // 7.8 kHz
Bandwidth_10_4 // 10.4 kHz
Bandwidth_15_6 // 15.6 kHz
Bandwidth_20_8 // 20.8 kHz
Bandwidth_31_25 // 31.25 kHz
Bandwidth_41_7 // 41.7 kHz
Bandwidth_62_5 // 62.5 kHz
Bandwidth_125_0 // 125.0 kHz
Bandwidth_250_0 // 250.0 kHz
Bandwidth_500_0 // 500.0 kHz
)
const (
SyncPublic = iota
SyncPrivate
)
const (
MHz_868_1 = 868100000
MHz_868_5 = 868500000
MHz_902_3 = 902300000
Mhz_903_0 = 903000000
MHZ_915_0 = 915000000
MHz_916_8 = 916800000
MHz_923_3 = 923300000
)