31
31
static esos_sensor_process_t sensor_processing_mode ;
32
32
33
33
char buffer [30 ];
34
+ char proc_mode [8 ];
35
+ char num_samples [8 ];
34
36
BOOL b_keepLooping = FALSE;
35
37
36
38
ESOS_CHILD_TASK (barGraph_child , uint16_t u16_num2graph ){ //visual display of data
@@ -52,9 +54,6 @@ ESOS_CHILD_TASK(barGraph_child, uint16_t u16_num2graph){ //visual display of da
52
54
}
53
55
54
56
ESOS_CHILD_TASK (menu ) {
55
- static uint8_t proc_mode = 0x00 ;
56
- static uint8_t num_samples = 0x00 ;
57
-
58
57
ESOS_TASK_BEGIN ();
59
58
for (;;) {
60
59
ESOS_TASK_WAIT_ON_AVAILABLE_OUT_COMM (); // wait until we can grab the output stream
@@ -71,7 +70,7 @@ ESOS_CHILD_TASK(menu) {
71
70
ESOS_TASK_SIGNAL_AVAILABLE_OUT_COMM (); // let everyone else know we are done with the out stream
72
71
73
72
ESOS_TASK_WAIT_ON_AVAILABLE_IN_COMM (); // wait until we can grab the input stream
74
- ESOS_TASK_WAIT_ON_GET_UINT8 (proc_mode ); // write the user's input to the aforementioned buffer
73
+ ESOS_TASK_WAIT_ON_GET_STRING (proc_mode ); // write the user's input to the aforementioned buffer
75
74
ESOS_TASK_SIGNAL_AVAILABLE_IN_COMM (); // let everyone else know we are done with the in stream
76
75
77
76
// start the second part of the menu (largely same as above)
@@ -90,41 +89,41 @@ ESOS_CHILD_TASK(menu) {
90
89
ESOS_TASK_SIGNAL_AVAILABLE_OUT_COMM ();
91
90
92
91
ESOS_TASK_WAIT_ON_AVAILABLE_IN_COMM ();
93
- ESOS_TASK_WAIT_ON_GET_UINT8 (num_samples );
92
+ ESOS_TASK_WAIT_ON_GET_STRING (num_samples );
94
93
ESOS_TASK_SIGNAL_AVAILABLE_IN_COMM ();
95
94
96
95
// assign the appropriate sensor_processing_mode based on user input
97
96
// in the order defined in esos_sensor.h
98
97
sensor_processing_mode =
99
- proc_mode == ONESHOT && num_samples == SAMPLES_ONESHOT ? ESOS_SENSOR_ONE_SHOT
100
-
101
- : proc_mode == AVG && num_samples == SAMPLES2 ? ESOS_SENSOR_AVG2
102
- : proc_mode == AVG && num_samples == SAMPLES4 ? ESOS_SENSOR_AVG4
103
- : proc_mode == AVG && num_samples == SAMPLES8 ? ESOS_SENSOR_AVG8
104
- : proc_mode == AVG && num_samples == SAMPLES16 ? ESOS_SENSOR_AVG16
105
- : proc_mode == AVG && num_samples == SAMPLES32 ? ESOS_SENSOR_AVG32
106
- : proc_mode == AVG && num_samples == SAMPLES64 ? ESOS_SENSOR_AVG64
98
+ proc_mode [ 0 ] == ONESHOT && num_samples [ 0 ] == SAMPLES_ONESHOT ? ESOS_SENSOR_ONE_SHOT
99
+
100
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES2 ? ESOS_SENSOR_AVG2
101
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES4 ? ESOS_SENSOR_AVG4
102
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES8 ? ESOS_SENSOR_AVG8
103
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES16 ? ESOS_SENSOR_AVG16
104
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES32 ? ESOS_SENSOR_AVG32
105
+ : proc_mode [ 0 ] == AVG && num_samples [ 0 ] == SAMPLES64 ? ESOS_SENSOR_AVG64
107
106
108
- : proc_mode == MIN && num_samples == SAMPLES2 ? ESOS_SENSOR_MIN2
109
- : proc_mode == MIN && num_samples == SAMPLES4 ? ESOS_SENSOR_MIN4
110
- : proc_mode == MIN && num_samples == SAMPLES8 ? ESOS_SENSOR_MIN8
111
- : proc_mode == MIN && num_samples == SAMPLES16 ? ESOS_SENSOR_MIN16
112
- : proc_mode == MIN && num_samples == SAMPLES32 ? ESOS_SENSOR_MIN32
113
- : proc_mode == MIN && num_samples == SAMPLES64 ? ESOS_SENSOR_MIN16
114
-
115
- : proc_mode == MAX && num_samples == SAMPLES2 ? ESOS_SENSOR_MAX2
116
- : proc_mode == MAX && num_samples == SAMPLES4 ? ESOS_SENSOR_MAX4
117
- : proc_mode == MAX && num_samples == SAMPLES8 ? ESOS_SENSOR_MAX8
118
- : proc_mode == MAX && num_samples == SAMPLES16 ? ESOS_SENSOR_MAX16
119
- : proc_mode == MAX && num_samples == SAMPLES32 ? ESOS_SENSOR_MAX32
120
- : proc_mode == MAX && num_samples == SAMPLES64 ? ESOS_SENSOR_MAX16
121
-
122
- : proc_mode == MEDIAN && num_samples == SAMPLES2 ? ESOS_SENSOR_MEDIAN2
123
- : proc_mode == MEDIAN && num_samples == SAMPLES4 ? ESOS_SENSOR_MEDIAN4
124
- : proc_mode == MEDIAN && num_samples == SAMPLES8 ? ESOS_SENSOR_MEDIAN8
125
- : proc_mode == MEDIAN && num_samples == SAMPLES16 ? ESOS_SENSOR_MEDIAN16
126
- : proc_mode == MEDIAN && num_samples == SAMPLES32 ? ESOS_SENSOR_MEDIAN32
127
- : proc_mode == MEDIAN && num_samples == SAMPLES64 ? ESOS_SENSOR_MEDIAN16
107
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES2 ? ESOS_SENSOR_MIN2
108
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES4 ? ESOS_SENSOR_MIN4
109
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES8 ? ESOS_SENSOR_MIN8
110
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES16 ? ESOS_SENSOR_MIN16
111
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES32 ? ESOS_SENSOR_MIN32
112
+ : proc_mode [ 0 ] == MIN && num_samples [ 0 ] == SAMPLES64 ? ESOS_SENSOR_MIN16
113
+
114
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES2 ? ESOS_SENSOR_MAX2
115
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES4 ? ESOS_SENSOR_MAX4
116
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES8 ? ESOS_SENSOR_MAX8
117
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES16 ? ESOS_SENSOR_MAX16
118
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES32 ? ESOS_SENSOR_MAX32
119
+ : proc_mode [ 0 ] == MAX && num_samples [ 0 ] == SAMPLES64 ? ESOS_SENSOR_MAX16
120
+
121
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES2 ? ESOS_SENSOR_MEDIAN2
122
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES4 ? ESOS_SENSOR_MEDIAN4
123
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES8 ? ESOS_SENSOR_MEDIAN8
124
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES16 ? ESOS_SENSOR_MEDIAN16
125
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES32 ? ESOS_SENSOR_MEDIAN32
126
+ : proc_mode [ 0 ] == MEDIAN && num_samples [ 0 ] == SAMPLES64 ? ESOS_SENSOR_MEDIAN16
128
127
: 0x00 ;
129
128
}
130
129
ESOS_TASK_END ();
0 commit comments