protobuf messages

This commit is contained in:
2026-08-20 13:27:31 +02:00
parent 51831efdfa
commit ecbd8bf8a9
4 changed files with 226 additions and 0 deletions
+131
View File
@@ -0,0 +1,131 @@
syntax = "proto3";
enum UI_type {
undef = 0;
ui_button = 1;
ui_can = 2;
ui_checkbox = 3;
ui_combobox = 4;
ui_dial = 5;
ui_double_spinbox = 6;
ui_hex_spinbox = 7;
ui_label = 8;
ui_led = 9;
ui_plot = 10;
ui_slider = 11;
ui_spinbox = 12;
ui_stacked_widget = 13;
ui_status_bar = 14;
ui_tab_widget = 15;
ui_table = 16;
ui_textbox = 17;
ui_thermo = 18;
}
message CAN_Frame_m {
uint32 sid = 1;
int64 dlc = 2;
bytes payload = 3;
}
message UI_color {
uint32 fg_color = 1;
uint32 bg_color = 2;
}
message UI_label_m {
UI_color color = 1;
string text = 2;
}
message UI_can_m {
UI_color color = 1;
repeated CAN_Frame_m send_frames = 2;
repeated CAN_Frame_m recv_frames = 3;
}
message UI_checkbox_m {
UI_color color = 1;
string text = 2;
bool checked = 3;
}
message UI_combobox_m {
int64 selected = 1;
repeated string options = 2;
}
message UI_range_m {
double min = 1;
double max = 2;
double value = 3;
string unit = 4;
string text = 5;
}
message UI_spinbox_m {
double min = 1;
double max = 2;
double value = 3;
}
message UI_plot_m {
UI_color color = 1;
string text = 2;
string x_label = 3;
string y_label = 4;
repeated double x_vals = 5;
repeated double y_vals = 6;
}
message UI_stacked_widget_m {
int64 tab_count = 1;
int64 current_tab = 2;
}
message UI_tab_widget_m {
int64 selecte_tab = 1;
repeated string tab_names = 2;
repeated bool tab_visible = 3;
}
message UI_status_bar_m {
uint64 timeout = 1;
string message = 2;
}
message UI_table_m {
int64 row_count = 1;
int64 column_count = 2;
repeated string row_labels = 3;
repeated string column_labels = 4;
repeated string table = 5;
}
message UI_textbox_m {
UI_color color = 1;
string text = 2;
string hint = 3;
}
message UI_item_m {
uint64 id = 1;
UI_type type = 2;
bool enabled = 3;
bool visible = 4;
oneof kind {
UI_label_m label = 5;
UI_can_m can = 6;
UI_checkbox_m checkbox = 7;
UI_combobox_m combobox = 8;
UI_range_m range = 9;
UI_spinbox_m spinbox = 10;
UI_plot_m plot = 11;
UI_stacked_widget_m stacked_widget = 12;
UI_tab_widget_m tab_widget = 13;
UI_status_bar_m status_bar = 14;
UI_table_m table = 15;
UI_textbox_m textbox = 16;
}
}