feat: add tag picker in sensor calibration flow

This commit is contained in:
2026-05-21 21:46:08 +02:00
parent cf3019f484
commit 12772bcd8f
6 changed files with 260 additions and 11 deletions
@@ -80,6 +80,12 @@ class PhoenixSensorRepository implements SensorRepository {
);
}
@override
Future<int> setCalibrationTag(int id, String tagId) async {
final json = await client.setCalibrationTag(id, tagId);
return json['samples_needed'] as int;
}
@override
Future<void> cancelCalibration(int id) => client.cancelCalibration(id);
@@ -32,6 +32,9 @@ abstract class SensorRepository {
/// result. Returns the fitted (rssiRef, pathLossExp) pair.
Future<({double rssiRef, double pathLossExp})> finishCalibration(int id);
/// Commits a specific tag for calibration stages. Returns samples_needed.
Future<int> setCalibrationTag(int id, String tagId);
/// Aborts calibration and discards all accumulated stage data.
Future<void> cancelCalibration(int id);
@@ -52,6 +52,12 @@ class SensorClient extends LocaliserdClient {
'/api/sensors/$id/calibration/finish',
) as Map<String, dynamic>;
Future<Map<String, dynamic>> setCalibrationTag(int id, String tagId) async =>
await post('/api/sensors/$id/calibration/tag', {
'tag_id': tagId,
})
as Map<String, dynamic>;
Future<void> cancelCalibration(int id) =>
delete('/api/sensors/$id/calibration');