From 38e312e8da7250467d3557e830e506723f043ba3 Mon Sep 17 00:00:00 2001 From: Calvin Leng Date: Mon, 9 Feb 2026 14:46:10 -0800 Subject: [PATCH 1/5] feature: add SD card option for DiskWriterNode --- api/nodes/disk_writer.proto | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/nodes/disk_writer.proto b/api/nodes/disk_writer.proto index 08a4b2d..f3594be 100644 --- a/api/nodes/disk_writer.proto +++ b/api/nodes/disk_writer.proto @@ -3,7 +3,14 @@ syntax = "proto3"; package synapse; message DiskWriterConfig { + enum WriteTarget { + kUnknown = 0; + kDisk = 1; + kSdCard = 2; + } + string filename = 1; + WriteTarget write_target = 2; } message DiskWriterStatus { From 3d6dab0f22053419398e10829e9a4b3f5d830e62 Mon Sep 17 00:00:00 2001 From: Calvin Leng Date: Mon, 9 Feb 2026 18:15:37 -0800 Subject: [PATCH 2/5] changed SD card API changes to be more generalizable, and added clear indication of disk usage --- api/nodes/disk_writer.proto | 11 ++++------- api/status.proto | 11 +++++++++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/api/nodes/disk_writer.proto b/api/nodes/disk_writer.proto index f3594be..8ddaa73 100644 --- a/api/nodes/disk_writer.proto +++ b/api/nodes/disk_writer.proto @@ -3,14 +3,11 @@ syntax = "proto3"; package synapse; message DiskWriterConfig { - enum WriteTarget { - kUnknown = 0; - kDisk = 1; - kSdCard = 2; - } - string filename = 1; - WriteTarget write_target = 2; + + // String specifying storage device, decided by the implementer + // e.g. "disk", "sdcard1", "sdcard2" + string storage_device_name = 2; } message DiskWriterStatus { diff --git a/api/status.proto b/api/status.proto index 3a73793..306a798 100644 --- a/api/status.proto +++ b/api/status.proto @@ -23,9 +23,16 @@ enum DeviceState { kError = 4; } +message StorageDeviceStatus { + // Human-readable name decided by implementer, + // can be dynamic on runtime, e.g. "disk", "sdcard1", "sdcard2" + string name = 1; + float total_gb = 2; + float used_gb = 3; +} + message DeviceStorage { - float total_gb = 1; - float used_gb = 2; + repeated StorageDeviceStatus storage_devices; } message DevicePower { From 0d38f9f169a7717a5dbdf63ea0632ebea07180c5 Mon Sep 17 00:00:00 2001 From: Calvin Leng Date: Mon, 9 Feb 2026 18:32:40 -0800 Subject: [PATCH 3/5] Decided to introduce a storage_device_id concept to be in-line with peripheral_id --- api/nodes/disk_writer.proto | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/api/nodes/disk_writer.proto b/api/nodes/disk_writer.proto index 8ddaa73..f754567 100644 --- a/api/nodes/disk_writer.proto +++ b/api/nodes/disk_writer.proto @@ -4,10 +4,7 @@ package synapse; message DiskWriterConfig { string filename = 1; - - // String specifying storage device, decided by the implementer - // e.g. "disk", "sdcard1", "sdcard2" - string storage_device_name = 2; + uint32 storage_device_id = 2; } message DiskWriterStatus { From 7806c20dbbff672cfb0d12f72ed53aa76667c896 Mon Sep 17 00:00:00 2001 From: Calvin Leng Date: Mon, 9 Feb 2026 19:02:40 -0800 Subject: [PATCH 4/5] Forgot to add a =1 --- api/status.proto | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/api/status.proto b/api/status.proto index 306a798..85392ea 100644 --- a/api/status.proto +++ b/api/status.proto @@ -23,16 +23,15 @@ enum DeviceState { kError = 4; } -message StorageDeviceStatus { - // Human-readable name decided by implementer, - // can be dynamic on runtime, e.g. "disk", "sdcard1", "sdcard2" +message StorageDevice { string name = 1; - float total_gb = 2; - float used_gb = 3; + uint32 storage_device_id = 2; + float total_gb = 3; + float used_gb = 4; } message DeviceStorage { - repeated StorageDeviceStatus storage_devices; + repeated StorageDevice storage_devices = 1; } message DevicePower { From bff4c3b239c08eb68a4d8e00fe0453029d5fb1da Mon Sep 17 00:00:00 2001 From: Calvin Leng Date: Tue, 10 Feb 2026 16:31:00 -0800 Subject: [PATCH 5/5] backwards compatibility --- api/status.proto | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/status.proto b/api/status.proto index 85392ea..9400c34 100644 --- a/api/status.proto +++ b/api/status.proto @@ -31,7 +31,8 @@ message StorageDevice { } message DeviceStorage { - repeated StorageDevice storage_devices = 1; + reserved 1, 2; + repeated StorageDevice storage_devices = 3; } message DevicePower {