This commit is contained in:
2026-02-27 16:26:25 +01:00
parent a8f49f629e
commit b23ad9a1fd
3 changed files with 17 additions and 10 deletions

View File

@@ -267,19 +267,22 @@ func (drv *repeaterDriver) handleRXData(line string) {
return // nothing to do!
}
/* companion/repeater time isn't reliable, as they often don't have an RTC:
when, err := time.Parse("15:04:05 - 02/3/2006", strings.TrimSpace(line[:21]))
if err != nil {
Logger.Warnf("meshcore: corrupt raw packet: %v", err)
}
*/
var (
when = time.Now()
snr float64
rssi int8
rssi int
data []byte
)
if drv.hasSNR {
snr = float64(b[0]) / 4
rssi = int8(b[1])
rssi = int(b[1])
data = b[2:]
if drv.rawPackets != nil {
select {
@@ -325,9 +328,9 @@ func (drv *repeaterDriver) handleRX(line string) {
for _, part := range strings.Split(line, " ") {
switch {
case strings.HasPrefix(part, "SNR="):
snr, _ = strconv.Atoi(part[3:])
snr, _ = strconv.Atoi(part[4:])
case strings.HasPrefix(part, "RSSI="):
rssi, _ = strconv.Atoi(part[4:])
rssi, _ = strconv.Atoi(part[5:])
}
}
@@ -337,7 +340,7 @@ func (drv *repeaterDriver) handleRX(line string) {
Time: drv.lastFrameAt,
Protocol: protocol.MeshCore,
SNR: float64(snr),
RSSI: int8(rssi),
RSSI: rssi,
Raw: drv.lastFrame,
}:
default:
@@ -350,7 +353,7 @@ func (drv *repeaterDriver) handleRX(line string) {
packet := new(Packet)
if err := packet.UnmarshalBytes(drv.lastFrame); err == nil {
packet.SNR = float64(snr)
packet.RSSI = int8(rssi)
packet.RSSI = rssi
select {
case drv.packets <- packet:
default: