slight code refactor
This commit is contained in:
30
main.go
30
main.go
@@ -442,46 +442,54 @@ func transformDOCSIS(rawDOCSIS *DOCSISResponse) (nChannels []*DOCSISChannelInfo)
|
||||
}
|
||||
|
||||
func snrStr2SNR(snrStr string) *float64 {
|
||||
rSNR, unit := strUnit2Elements(snrStr)
|
||||
rSNR, unit, err := strUnit2Elements(snrStr)
|
||||
if err != nil {
|
||||
log.Fatalf("error parsing SNR: %v", err)
|
||||
}
|
||||
|
||||
if strings.ToLower(unit) != "db" {
|
||||
panic(fmt.Sprintf("error parsing power unit %s", snrStr))
|
||||
log.Fatalf("malformatted power unit: %q", unit)
|
||||
}
|
||||
|
||||
return &rSNR
|
||||
}
|
||||
|
||||
func powerStr2Power(powerStr string) float64 {
|
||||
rPower, unit := strUnit2Elements(powerStr)
|
||||
rPower, unit, err := strUnit2Elements(powerStr)
|
||||
if err != nil {
|
||||
log.Fatalf("error parsing power unit: %v", err)
|
||||
}
|
||||
|
||||
if strings.ToLower(unit) != "dbmv" {
|
||||
panic(fmt.Sprintf("error parsing power unit %s", powerStr))
|
||||
log.Fatalf("malformed power unit: %q", unit)
|
||||
}
|
||||
|
||||
return rPower
|
||||
}
|
||||
|
||||
func freqStr2Hz(freqStr string) uint64 {
|
||||
rFreq, unit := strUnit2Elements(freqStr)
|
||||
rFreq, unit, err := strUnit2Elements(freqStr)
|
||||
if err != nil {
|
||||
log.Fatalf("error parsing frequency: %v", err)
|
||||
}
|
||||
|
||||
if strings.ToLower(unit) != "mhz" {
|
||||
panic(fmt.Sprintf("error parsing frequency unit %s", freqStr))
|
||||
log.Fatalf("malformed frequency unit: %q", unit)
|
||||
}
|
||||
|
||||
return uint64(rFreq * 1000000)
|
||||
}
|
||||
|
||||
func strUnit2Elements(rawStr string) (float64, string) {
|
||||
func strUnit2Elements(rawStr string) (float64, string, error) {
|
||||
splitStr := strings.Split(rawStr, " ")
|
||||
|
||||
if len(splitStr) < 2 {
|
||||
panic(fmt.Sprintf("error parsing floatUnit %s", rawStr))
|
||||
return -1, "", fmt.Errorf("malformed elements: %q", rawStr)
|
||||
}
|
||||
|
||||
rFloat, err := strconv.ParseFloat(splitStr[0], 64)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("error parsing floatUnit %s", splitStr[0]))
|
||||
return 0, "", fmt.Errorf("error parsing float: %w", err)
|
||||
}
|
||||
|
||||
return rFloat, splitStr[1]
|
||||
return rFloat, splitStr[1], nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user