MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / fromPBDataRate

Function fromPBDataRate

pkg/packetbrokeragent/translation.go:64–97  ·  view source on GitHub ↗
(dataRate *packetbroker.DataRate)

Source from the content-addressed store, hash-verified

62}
63
64func fromPBDataRate(dataRate *packetbroker.DataRate) (dr *ttnpb.DataRate, ok bool) {
65 switch mod := dataRate.GetModulation().(type) {
66 case *packetbroker.DataRate_Lora:
67 return &ttnpb.DataRate{
68 Modulation: &ttnpb.DataRate_Lora{
69 Lora: &ttnpb.LoRaDataRate{
70 SpreadingFactor: mod.Lora.SpreadingFactor,
71 Bandwidth: mod.Lora.Bandwidth,
72 CodingRate: mod.Lora.CodingRate,
73 },
74 },
75 }, true
76 case *packetbroker.DataRate_Fsk:
77 return &ttnpb.DataRate{
78 Modulation: &ttnpb.DataRate_Fsk{
79 Fsk: &ttnpb.FSKDataRate{
80 BitRate: mod.Fsk.BitsPerSecond,
81 },
82 },
83 }, true
84 case *packetbroker.DataRate_Lrfhss:
85 return &ttnpb.DataRate{
86 Modulation: &ttnpb.DataRate_Lrfhss{
87 Lrfhss: &ttnpb.LRFHSSDataRate{
88 ModulationType: mod.Lrfhss.ModulationType,
89 OperatingChannelWidth: mod.Lrfhss.OperatingChannelWidth,
90 CodingRate: mod.Lrfhss.CodingRate,
91 },
92 },
93 }, true
94 default:
95 return nil, false
96 }
97}
98
99func toPBDataRate(dataRate *ttnpb.DataRate) (*packetbroker.DataRate, bool) {
100 if dataRate == nil {

Callers 2

fromPBUplinkFunction · 0.85
fromPBDownlinkFunction · 0.85

Calls 1

GetModulationMethod · 0.80

Tested by

no test coverage detected