File tree Expand file tree Collapse file tree 1 file changed +6
-27
lines changed Expand file tree Collapse file tree 1 file changed +6
-27
lines changed Original file line number Diff line number Diff line change @@ -28,36 +28,15 @@ use crate::serial::serial_thread;
28
28
const APP_INFO : AppInfo = AppInfo { name : "Serial Monitor" , author : "Linus Leo Stöckli" } ;
29
29
30
30
fn split ( payload : & str ) -> Vec < & str > {
31
- let delimiter_1;
32
- if payload. contains ( ": " ) {
33
- delimiter_1 = ": " ;
34
- } else {
35
- delimiter_1 = ":" ;
36
- }
37
- let delimiter_2;
38
- if payload. contains ( ", " ) {
39
- delimiter_2 = ", " ;
40
- } else {
41
- delimiter_2 = "," ;
42
- }
43
31
let mut split_data: Vec < & str > = vec ! [ ] ;
44
- let first_split = payload. split ( delimiter_1) . collect :: < Vec < & str > > ( ) ;
45
- for s in first_split. iter ( ) {
46
- let s_split = s. split ( delimiter_2) . collect :: < Vec < & str > > ( ) ;
47
- for si in s_split. iter ( ) {
48
- let mut contains_value = false ;
49
- for char in si. bytes ( ) {
50
- if b"-0.123456789" . contains ( & char) {
51
- contains_value = true ;
52
- break ;
53
- }
54
- }
55
- if contains_value {
56
- split_data. push ( si) ;
57
- }
58
- }
32
+ for s in payload. split ( ':' ) {
33
+ split_data. extend ( s. split ( ',' ) ) ;
59
34
}
60
35
split_data
36
+ . iter ( )
37
+ . map ( |x| x. trim ( ) )
38
+ . filter ( |x| x. parse :: < f32 > ( ) . is_ok ( ) )
39
+ . collect ( )
61
40
}
62
41
63
42
fn main_thread ( data_lock : Arc < RwLock < DataContainer > > ,
You can’t perform that action at this time.
0 commit comments