Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ClassBEnqueueMargin = time.Second * 5
ClassBEnqueueMargin contains the margin duration when scheduling Class-B messages.
View Source
var MulticastClassCInterval = time.Second
MulticastClassCInterval defines the interval between the gateway scheduling for Class-C multicast.
View Source
var SchedulerBatchSize = 100
SchedulerBatchSize contains the batch size of the Class-C scheduler
View Source
var SpreadFactorToRequiredSNRTable = map[int]float64{
6: -5,
7: -7.5,
8: -10,
9: -12.5,
10: -15,
11: -17.5,
12: -20,
}
SpreadFactorToRequiredSNRTable contains the required SNR to demodulate a LoRa frame for the given spreadfactor. These values are taken from the SX1276 datasheet.
View Source
var Version string
Version defines the LoRa Server version.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { General struct { LogLevel int `mapstructure:"log_level"` } PostgreSQL struct { DSN string `mapstructure:"dsn"` Automigrate bool DB *common.DBLogger } `mapstructure:"postgresql"` Redis struct { URL string `mapstructure:"url"` MaxIdle int `mapstructure:"max_idle"` IdleTimeout time.Duration `mapstructure:"idle_timeout"` Pool *redis.Pool } NetworkServer struct { NetID lorawan.NetID NetIDString string `mapstructure:"net_id"` DeduplicationDelay time.Duration `mapstructure:"deduplication_delay"` DeviceSessionTTL time.Duration `mapstructure:"device_session_ttl"` GetDownlinkDataDelay time.Duration `mapstructure:"get_downlink_data_delay"` Band struct { Band band.Band Name band.Name DwellTime400ms bool `mapstructure:"dwell_time_400ms"` RepeaterCompatible bool `mapstructure:"repeater_compatible"` } NetworkSettings struct { InstallationMargin float64 `mapstructure:"installation_margin"` RXWindow int `mapstructure:"rx_window"` RX1Delay int `mapstructure:"rx1_delay"` RX1DROffset int `mapstructure:"rx1_dr_offset"` RX2DR int `mapstructure:"rx2_dr"` RX2Frequency int `mapstructure:"rx2_frequency"` DownlinkTXPower int `mapstructure:"downlink_tx_power"` EnabledUplinkChannels []int `mapstructure:"enabled_uplink_channels"` DisableMACCommands bool `mapstructure:"disable_mac_commands"` DisableADR bool `mapstructure:"disable_adr"` ExtraChannels []struct { Frequency int MinDR int `mapstructure:"min_dr"` MaxDR int `mapstructure:"max_dr"` } `mapstructure:"extra_channels"` ClassB struct { PingSlotDR int `mapstructure:"ping_slot_dr"` PingSlotFrequency int `mapstructure:"ping_slot_frequency"` } `mapstructure:"class_b"` RejoinRequest struct { Enabled bool `mapstructure:"enabled"` MaxCountN int `mapstructure:"max_count_n"` MaxTimeN int `mapstructure:"max_time_n"` } `mapstructure:"rejoin_request"` } `mapstructure:"network_settings"` Scheduler struct { SchedulerInterval time.Duration `mapstructure:"scheduler_interval"` ClassC struct { DownlinkLockDuration time.Duration `mapstructure:"downlink_lock_duration"` } `mapstructure:"class_c"` } `mapstructure:"scheduler"` API struct { Bind string CACert string `mapstructure:"ca_cert"` TLSCert string `mapstructure:"tls_cert"` TLSKey string `mapstructure:"tls_key"` } `mapstructure:"api"` Gateway struct { Stats struct { TimezoneLocation *time.Location CreateGatewayOnStats bool `mapstructure:"create_gateway_on_stats"` Timezone string AggregationIntervals []string `mapstructure:"aggregation_intervals"` } Backend struct { Type string `mapstructure:"type"` Backend backend.Gateway `mapstructure:"-"` MQTT mqtt.Config `mapstructure:"mqtt"` GCPPubSub gcppubsub.Config `mapstructure:"gcp_pub_sub"` } } } `mapstructure:"network_server"` GeolocationServer struct { Client geo.GeolocationServerServiceClient `mapstructure:"-"` Server string `mapstructure:"server"` CACert string `mapstructure:"ca_cert"` TLSCert string `mapstructure:"tls_cert"` TLSKey string `mapstructure:"tls_key"` } `mapstructure:"geolocation_server"` JoinServer struct { Pool jsclient.Pool Default struct { Server string CACert string `mapstructure:"ca_cert"` TLSCert string `mapstructure:"tls_cert"` TLSKey string `mapstructure:"tls_key"` } KEK struct { Set []struct { Label string KEK string `mapstructure:"kek"` } } `mapstructure:"kek"` } `mapstructure:"join_server"` ApplicationServer struct { Pool asclient.Pool } NetworkController struct { Client nc.NetworkControllerServiceClient Server string CACert string `mapstructure:"ca_cert"` TLSCert string `mapstructure:"tls_cert"` TLSKey string `mapstructure:"tls_key"` } `mapstructure:"network_controller"` }
Config defines the configuration structure.
var C Config
C holds the global configuration.
Click to show internal directories.
Click to hide internal directories.