Initial commit: FieldLogger MAUI app with Maglink BLE support
Added Maglink RTK GNSS receiver integration with correct BLE UUIDs and device name filtering (ML-* prefix). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
64
FieldLogger/MauiProgram.cs
Normal file
64
FieldLogger/MauiProgram.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using FieldLogger.Services;
|
||||
using FieldLogger.Services.Ble;
|
||||
using FieldLogger.Services.Data;
|
||||
using FieldLogger.Services.Sync;
|
||||
using FieldLogger.ViewModels;
|
||||
using FieldLogger.Views;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace FieldLogger;
|
||||
|
||||
public static class MauiProgram
|
||||
{
|
||||
public static MauiApp CreateMauiApp()
|
||||
{
|
||||
var builder = MauiApp.CreateBuilder();
|
||||
builder
|
||||
.UseMauiApp<App>()
|
||||
#if !WINDOWS
|
||||
.UseMauiMaps()
|
||||
#endif
|
||||
.ConfigureFonts(fonts =>
|
||||
{
|
||||
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
|
||||
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
|
||||
});
|
||||
|
||||
#if DEBUG
|
||||
builder.Logging.AddDebug();
|
||||
#endif
|
||||
|
||||
// Core services
|
||||
builder.Services.AddSingleton<SettingsService>();
|
||||
builder.Services.AddSingleton<AppDatabase>();
|
||||
builder.Services.AddSingleton<BleScanner>();
|
||||
builder.Services.AddSingleton<UmReceiverService>();
|
||||
builder.Services.AddSingleton<MaglinkService>();
|
||||
builder.Services.AddSingleton<DeviceConnectionManager>();
|
||||
builder.Services.AddSingleton<PointLogger>();
|
||||
builder.Services.AddSingleton<IMqttSyncService, NullMqttSyncService>();
|
||||
|
||||
// View models
|
||||
builder.Services.AddSingleton<HomeViewModel>();
|
||||
builder.Services.AddSingleton<JobsViewModel>();
|
||||
builder.Services.AddSingleton<MapViewModel>();
|
||||
builder.Services.AddSingleton<SettingsViewModel>();
|
||||
builder.Services.AddTransient<DeviceScanViewModel>();
|
||||
builder.Services.AddTransient<JobDetailViewModel>();
|
||||
|
||||
// Pages
|
||||
builder.Services.AddSingleton<HomePage>();
|
||||
builder.Services.AddSingleton<JobsPage>();
|
||||
builder.Services.AddSingleton<MapPage>();
|
||||
builder.Services.AddSingleton<SettingsPage>();
|
||||
builder.Services.AddTransient<DeviceScanPage>();
|
||||
builder.Services.AddTransient<JobDetailPage>();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Instantiate the point logger so it listens for receiver packets from startup.
|
||||
_ = app.Services.GetRequiredService<PointLogger>();
|
||||
|
||||
return app;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user