Add Debug page and fix BLE communication issues
Major changes: - Added Debug tab with real-time message logging and hex viewer - Implemented timed data logging ($UMTDL command) per API v1.3 - Fixed BLE message parsing to handle notifications without line endings - Added Schema 2 support (22-field timed logging packets) - Updated Maglink BLE UUIDs (fff0/fff1/fff2) - Added connection timeout (10s) to prevent hanging on unavailable devices - Added connection status display and manual push-button logging trigger - Improved retry logging with attempt numbers and delays - Added console window allocation for Windows debug output - Added BLE disconnect on app close Bug fixes: - Fixed device name filtering for Maglink (ML-* prefix) - Fixed RtkGps enum reference in DeviceScanViewModel - Fixed DebugMessage namespace (moved to Models) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
24
FieldLogger/Models/DebugMessage.cs
Normal file
24
FieldLogger/Models/DebugMessage.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
namespace FieldLogger.Models;
|
||||
|
||||
public class DebugMessage
|
||||
{
|
||||
public DateTime Timestamp { get; set; }
|
||||
public string Direction { get; set; } = "";
|
||||
public string RawMessage { get; set; } = "";
|
||||
public string Type { get; set; } = "";
|
||||
public string? ParsedData { get; set; }
|
||||
public string TypeColor { get; set; } = "Gray";
|
||||
public bool HasParsedData => !string.IsNullOrEmpty(ParsedData);
|
||||
|
||||
public string HexBytes
|
||||
{
|
||||
get
|
||||
{
|
||||
if (string.IsNullOrEmpty(RawMessage))
|
||||
return "[empty]";
|
||||
|
||||
var bytes = System.Text.Encoding.ASCII.GetBytes(RawMessage);
|
||||
return BitConverter.ToString(bytes).Replace("-", " ");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user