Skip to content

Commit 50b6107

Browse files
committed
Updated menu to mirror input scheme of Lab 3's menu
1 parent 69c5e8d commit 50b6107

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

BUILD_DIR/t4_sensor2.c

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
static esos_sensor_process_t sensor_processing_mode;
3232

3333
char buffer[30];
34+
char proc_mode[8];
35+
char num_samples[8];
3436
BOOL b_keepLooping = FALSE;
3537

3638
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
5254
}
5355

5456
ESOS_CHILD_TASK(menu) {
55-
static uint8_t proc_mode = 0x00;
56-
static uint8_t num_samples = 0x00;
57-
5857
ESOS_TASK_BEGIN();
5958
for (;;) {
6059
ESOS_TASK_WAIT_ON_AVAILABLE_OUT_COMM(); // wait until we can grab the output stream
@@ -71,7 +70,7 @@ ESOS_CHILD_TASK(menu) {
7170
ESOS_TASK_SIGNAL_AVAILABLE_OUT_COMM(); // let everyone else know we are done with the out stream
7271

7372
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
7574
ESOS_TASK_SIGNAL_AVAILABLE_IN_COMM(); // let everyone else know we are done with the in stream
7675

7776
// start the second part of the menu (largely same as above)
@@ -90,41 +89,41 @@ ESOS_CHILD_TASK(menu) {
9089
ESOS_TASK_SIGNAL_AVAILABLE_OUT_COMM();
9190

9291
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);
9493
ESOS_TASK_SIGNAL_AVAILABLE_IN_COMM();
9594

9695
// assign the appropriate sensor_processing_mode based on user input
9796
// in the order defined in esos_sensor.h
9897
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
107106

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
128127
: 0x00;
129128
}
130129
ESOS_TASK_END();

0 commit comments

Comments
 (0)