diff --git a/lib/connector/meshcore_connector.dart b/lib/connector/meshcore_connector.dart index 04e9583..ee9533e 100644 --- a/lib/connector/meshcore_connector.dart +++ b/lib/connector/meshcore_connector.dart @@ -3043,7 +3043,7 @@ class MeshCoreConnector extends ChangeNotifier { try { final reader = BufferReader(frame); reader.skipBytes(1); - _batteryMillivolts = reader.readInt16LE(); + _batteryMillivolts = reader.readUInt16LE(); _storageUsedKb = reader.readUInt32LE(); _storageTotalKb = reader.readUInt32LE(); final volts = (_batteryMillivolts! / 1000.0).toStringAsFixed(2); diff --git a/lib/models/channel_message.dart b/lib/models/channel_message.dart index 0f0a5b4..7c09089 100644 --- a/lib/models/channel_message.dart +++ b/lib/models/channel_message.dart @@ -132,17 +132,15 @@ class ChannelMessage { final hasPath = (flags & 0x01) != 0; reader.skipBytes(1); // Skip reserved byte channelIdx = reader.readByte(); - pathLen = reader.readByte(); + pathLen = reader.readInt8(); txtType = reader.readByte(); if (hasPath && pathLen > 0) { reader.rewind(); // Rewind to read path length again for pathBytes pathBytes = reader.readBytes(pathLen); - } else { - pathLen = 0; } } else { channelIdx = reader.readByte(); - pathLen = reader.readByte(); + pathLen = reader.readInt8(); txtType = reader.readByte(); } final timestampRaw = reader.readUInt32LE(); diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart index cc61143..46d6352 100644 --- a/lib/screens/settings_screen.dart +++ b/lib/screens/settings_screen.dart @@ -975,7 +975,6 @@ void _privacySettings(BuildContext context, MeshCoreConnector connector) { value: advertLocPolicy, onChanged: (value) { setDialogState(() => advertLocPolicy = value); - advertLocPolicy = value; }, ), const SizedBox(height: 8),