Browse Source

tweak volcano conf and steps bar

Thomas Buck 11 months ago
parent
commit
09e4ac3655
5 changed files with 63 additions and 33 deletions
  1. 1
    1
      include/volcano.h
  2. 4
    2
      src/state_volcano_conf.c
  3. 1
    1
      src/state_volcano_run.c
  4. 56
    28
      src/volcano.c
  5. 1
    1
      src/workflow.c

+ 1
- 1
include/volcano.h View File

32
 };
32
 };
33
 
33
 
34
 // returns < 0 on error
34
 // returns < 0 on error
35
-int8_t volcano_discover_characteristics(void);
35
+int8_t volcano_discover_characteristics(bool wf, bool conf);
36
 
36
 
37
 // in 1/10th degrees C, or < 0 on error
37
 // in 1/10th degrees C, or < 0 on error
38
 int16_t volcano_get_current_temp(void);
38
 int16_t volcano_get_current_temp(void);

+ 4
- 2
src/state_volcano_conf.c View File

80
 
80
 
81
 static void send_values(void) {
81
 static void send_values(void) {
82
     volcano_set_unit(val_celsius ? UNIT_C : UNIT_F);
82
     volcano_set_unit(val_celsius ? UNIT_C : UNIT_F);
83
-    sleep_ms(100);
83
+    sleep_ms(150);
84
     volcano_set_vibration(val_vibrate);
84
     volcano_set_vibration(val_vibrate);
85
-    sleep_ms(100);
85
+    sleep_ms(150);
86
     volcano_set_display_cooling(val_disp_cool);
86
     volcano_set_display_cooling(val_disp_cool);
87
 }
87
 }
88
 
88
 
89
 static void fetch_values(void) {
89
 static void fetch_values(void) {
90
+    volcano_discover_characteristics(false, true);
91
+
90
     enum unit unit = volcano_get_unit();
92
     enum unit unit = volcano_get_unit();
91
     val_celsius = (unit == UNIT_C);
93
     val_celsius = (unit == UNIT_C);
92
 
94
 

+ 1
- 1
src/state_volcano_run.c View File

121
         return;
121
         return;
122
     }
122
     }
123
 
123
 
124
-    bar_graph(50, menu->y_off, 0, state.index, state.count);
124
+    bar_graph(50, menu->y_off, 0, state.index + 1, state.count);
125
     bar_graph(50 + MENU_BOX_HEIGHT(3, 20, 2) + menu->y_off, menu->y_off,
125
     bar_graph(50 + MENU_BOX_HEIGHT(3, 20, 2) + menu->y_off, menu->y_off,
126
               state.start_val, state.curr_val, state.step->val);
126
               state.start_val, state.curr_val, state.step->val);
127
 
127
 

+ 56
- 28
src/volcano.c View File

54
     0x5a, 0x26, 0x42, 0x49, 0x43, 0x4b, 0x45, 0x4c,
54
     0x5a, 0x26, 0x42, 0x49, 0x43, 0x4b, 0x45, 0x4c,
55
 };
55
 };
56
 
56
 
57
-int8_t volcano_discover_characteristics(void) {
58
-    uuid_base[1] = UUID_SRVC_2;
59
-    uuid_base2[1] = UUID_SRVC_2;
57
+int8_t volcano_discover_characteristics(bool wf, bool conf) {
58
+    if (wf) {
59
+        uuid_base[1] = UUID_SRVC_2;
60
+        uuid_base2[1] = UUID_SRVC_2;
60
 
61
 
61
-    uuid_base[3] = UUID_WRITE_SRVC;
62
-    int8_t r;
62
+        uuid_base[3] = UUID_WRITE_SRVC;
63
+        int8_t r;
63
 
64
 
64
-    uuid_base2[3] = UUID_TARGET_TEMP;
65
-    r = ble_discover(uuid_base, uuid_base2);
66
-    if (r < 0) {
67
-        return r;
68
-    }
65
+        uuid_base2[3] = UUID_TARGET_TEMP;
66
+        r = ble_discover(uuid_base, uuid_base2);
67
+        if (r < 0) {
68
+            return r;
69
+        }
69
 
70
 
70
-    uuid_base2[3] = UUID_HEATER_ON;
71
-    r = ble_discover(uuid_base, uuid_base2);
72
-    if (r < 0) {
73
-        return r;
74
-    }
71
+        uuid_base2[3] = UUID_HEATER_ON;
72
+        r = ble_discover(uuid_base, uuid_base2);
73
+        if (r < 0) {
74
+            return r;
75
+        }
75
 
76
 
76
-    uuid_base2[3] = UUID_HEATER_OFF;
77
-    r = ble_discover(uuid_base, uuid_base2);
78
-    if (r < 0) {
79
-        return r;
80
-    }
77
+        uuid_base2[3] = UUID_HEATER_OFF;
78
+        r = ble_discover(uuid_base, uuid_base2);
79
+        if (r < 0) {
80
+            return r;
81
+        }
81
 
82
 
82
-    uuid_base2[3] = UUID_PUMP_ON;
83
-    r = ble_discover(uuid_base, uuid_base2);
84
-    if (r < 0) {
85
-        return r;
83
+        uuid_base2[3] = UUID_PUMP_ON;
84
+        r = ble_discover(uuid_base, uuid_base2);
85
+        if (r < 0) {
86
+            return r;
87
+        }
88
+
89
+        uuid_base2[3] = UUID_PUMP_OFF;
90
+        r = ble_discover(uuid_base, uuid_base2);
91
+        if (r < 0) {
92
+            return r;
93
+        }
86
     }
94
     }
87
 
95
 
88
-    uuid_base2[3] = UUID_PUMP_OFF;
89
-    r = ble_discover(uuid_base, uuid_base2);
90
-    if (r < 0) {
91
-        return r;
96
+    if (conf) {
97
+        uuid_base[1] = UUID_SRVC_1;
98
+        uuid_base2[1] = UUID_SRVC_1;
99
+
100
+        uuid_base[3] = UUID_WRITE_SRVC;
101
+        int8_t r;
102
+
103
+        uuid_base2[3] = UUID_PRJSTAT1;
104
+        r = ble_discover(uuid_base, uuid_base2);
105
+        if (r < 0) {
106
+            return r;
107
+        }
108
+
109
+        uuid_base2[3] = UUID_PRJSTAT2;
110
+        r = ble_discover(uuid_base, uuid_base2);
111
+        if (r < 0) {
112
+            return r;
113
+        }
114
+
115
+        uuid_base2[3] = UUID_PRJSTAT3;
116
+        r = ble_discover(uuid_base, uuid_base2);
117
+        if (r < 0) {
118
+            return r;
119
+        }
92
     }
120
     }
93
 
121
 
94
     return 0;
122
     return 0;

+ 1
- 1
src/workflow.c View File

217
      */
217
      */
218
     DO_WHILE(volcano_set_heater_state(true),
218
     DO_WHILE(volcano_set_heater_state(true),
219
              !(volcano_get_state() & VOLCANO_STATE_HEATER));
219
              !(volcano_get_state() & VOLCANO_STATE_HEATER));
220
-    volcano_discover_characteristics();
220
+    volcano_discover_characteristics(true, false);
221
 
221
 
222
     do_step();
222
     do_step();
223
 }
223
 }

Loading…
Cancel
Save