@@ -9,6 +9,21 @@ export struct raw_can {
9
9
data : string
10
10
}
11
11
12
+ export component VerificationIcon inherits Rectangle {
13
+ in property <bool > is_ok : true;
14
+ if is_ok :
15
+ Image {
16
+ source : @image-url("images/green_tick.png" );
17
+ width : 25px ;
18
+ height : 25px ;
19
+ }
20
+ if !is_ok :
21
+ Image {
22
+ source : @image-url("images/red_cross.png" );
23
+ width : 25px ;
24
+ height : 25px ;
25
+ }
26
+ }
12
27
13
28
export component StartPauseButton inherits Rectangle {
14
29
callback clicked ();
@@ -40,18 +55,35 @@ export component StartPauseButton inherits Rectangle {
40
55
41
56
export component CanTransmitData inherits Rectangle {
42
57
callback send (bool, string, string);
58
+ out property <bool > can_id_check : false;
59
+ out property <bool > can_data_check : false;
60
+ callback can_id_check_string (bool, string) -> bool;
61
+ callback can_data_check_string (string) -> bool;
43
62
HorizontalLayout {
44
63
is_extended := MyCheckBox {
45
64
text : "Extended Frame" ;
46
65
}
47
66
can_id := LineEdit {
48
67
placeholder-text : "ID (hex) - eg: 1814FF12" ;
68
+ edited => {
69
+ can_id_check = can_id_check_string(is_extended.checked, can_id.text);
70
+ }
71
+ }
72
+ VerificationIcon {
73
+ is_ok : can_id_check;
49
74
}
50
75
can_data := LineEdit {
51
76
placeholder-text : "data (hex) - eg: 1A2B3C4D" ;
77
+ edited => {
78
+ can_data_check = can_data_check_string(can_data.text);
79
+ }
80
+ }
81
+ VerificationIcon {
82
+ is_ok : can_data_check;
52
83
}
53
84
Button {
54
85
text : "send" ;
86
+ enabled : can_id_check && can_data_check;
55
87
clicked => {
56
88
send(is_extended.checked, can_id.text, can_data.text)
57
89
}
@@ -71,6 +103,8 @@ export component debugPage inherits Rectangle {
71
103
{id : "181FF1FA" , len : 4 , data : "00 01 02 03 04 05 06 07" }];
72
104
callback change_state (bool);
73
105
callback can_transmit (bool, string, string);
106
+ callback can_id_check_string (bool, string) -> bool;
107
+ callback can_data_check_string (string) -> bool;
74
108
75
109
VerticalLayout {
76
110
HorizontalLayout {
@@ -180,21 +214,45 @@ export component debugPage inherits Rectangle {
180
214
send (is_extended, can_id, can_data) => {
181
215
can_transmit(is_extended, can_id, can_data);
182
216
}
217
+ can_id_check_string (is_extended, id) => {
218
+ can_id_check_string(is_extended, id)
219
+ }
220
+ can_data_check_string (data) => {
221
+ can_data_check_string(data)
222
+ }
183
223
}
184
224
CanTransmitData {
185
225
send (is_extended, can_id, can_data) => {
186
226
can_transmit(is_extended, can_id, can_data);
187
227
}
228
+ can_id_check_string (is_extended, id) => {
229
+ can_id_check_string(is_extended, id)
230
+ }
231
+ can_data_check_string (data) => {
232
+ can_data_check_string(data)
233
+ }
188
234
}
189
235
CanTransmitData {
190
236
send (is_extended, can_id, can_data) => {
191
237
can_transmit(is_extended, can_id, can_data);
192
238
}
239
+ can_id_check_string (is_extended, id) => {
240
+ can_id_check_string(is_extended, id)
241
+ }
242
+ can_data_check_string (data) => {
243
+ can_data_check_string(data)
244
+ }
193
245
}
194
246
CanTransmitData {
195
247
send (is_extended, can_id, can_data) => {
196
248
can_transmit(is_extended, can_id, can_data);
197
249
}
250
+ can_id_check_string (is_extended, id) => {
251
+ can_id_check_string(is_extended, id)
252
+ }
253
+ can_data_check_string (data) => {
254
+ can_data_check_string(data)
255
+ }
198
256
}
199
257
}
200
258
}
0 commit comments