Skip to content

Commit fb4c235

Browse files
authored
Merge pull request #827 from FrameworkComputer/lotus.intrusion-count
fwk: Update more intrusion switch info
2 parents b0a3ff9 + 8a61e77 commit fb4c235

File tree

2 files changed

+83
-9
lines changed

2 files changed

+83
-9
lines changed

zephyr/program/lotus/lotus/src/input_module.c

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,64 @@ static int inputdeck_cmd(int argc, const char **argv)
273273

274274
id = get_hardware_id(ADC_HUB_BOARD_ID);
275275
mv = adc_read_channel(ADC_HUB_BOARD_ID);
276-
ccprintf(" C deck status %d = %d %d mv\n", i, id, mv);
277-
276+
ccprintf(" C-Deck status %d = %d %d mV", i, id, mv);
277+
switch (i) {
278+
case TOP_ROW_0:
279+
ccprintf(" [X - - - -]");
280+
break;
281+
case TOP_ROW_1:
282+
ccprintf(" [- X - - -]");
283+
break;
284+
case TOP_ROW_2:
285+
ccprintf(" [- - X - -]");
286+
break;
287+
case TOP_ROW_3:
288+
ccprintf(" [- - - X -]");
289+
break;
290+
case TOP_ROW_4:
291+
ccprintf(" [- - - - X]");
292+
break;
293+
case TOUCHPAD:
294+
ccprintf(" [Touchpad ]");
295+
break;
296+
case TOP_ROW_NOT_CONNECTED:
297+
ccprintf(" [Toprow disc.]");
298+
break;
299+
case HUBBOARD:
300+
ccprintf(" [Hubboard ]");
301+
break;
302+
default:
303+
break;
304+
}
305+
switch (id) {
306+
case INPUT_MODULE_SHORT:
307+
ccprintf(" [Short]\n");
308+
break;
309+
case INPUT_MODULE_GENERIC_A:
310+
ccprintf(" [Generic A]\n");
311+
break;
312+
case INPUT_MODULE_GENERIC_B:
313+
ccprintf(" [Generic B]\n");
314+
break;
315+
case INPUT_MODULE_GENERIC_C:
316+
ccprintf(" [Generic C]\n");
317+
break;
318+
case INPUT_MODULE_KEYBOARD_B:
319+
ccprintf(" [Keyboard B]\n");
320+
break;
321+
case INPUT_MODULE_KEYBOARD_A:
322+
ccprintf(" [Keyboard A]\n");
323+
break;
324+
case INPUT_MODULE_DISCONNECTED:
325+
ccprintf(" [Disconnected]\n");
326+
break;
327+
case INPUT_MODULE_TOUCHPAD:
328+
ccprintf(" [Touchpad]\n");
329+
break;
330+
default:
331+
ccprintf(" [Reserved]\n");
332+
break;
333+
}
278334
}
279335

280336
ccprintf("Input module Overcurrent Events: %d\n", oc_count);

zephyr/program/lotus/src/board_function.c

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ static uint8_t chassis_once_flag;
4242

4343
static uint64_t chassis_open_hibernate_time;
4444

45+
static uint8_t init = 1;
46+
4547
int bios_function_status(uint16_t type, uint16_t addr, uint8_t flag)
4648
{
4749
uint8_t status;
@@ -143,16 +145,29 @@ __overridable void project_chassis_function(enum gpio_signal signal)
143145

144146
static void check_chassis_open(void)
145147
{
146-
if (gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_chassis_open_l)) == 0
147-
&& !chassis_once_flag) {
148-
148+
if (gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_chassis_open_l)) == 0) {
149149
CPRINTS("Chassis was opened");
150-
chassis_once_flag = 1;
151-
152150
/* Record the chassis was open status in bbram */
153-
system_set_bbram(SYSTEM_BBRAM_IDX_CHASSIS_WAS_OPEN, 1);
151+
if (!chassis_once_flag)
152+
system_set_bbram(SYSTEM_BBRAM_IDX_CHASSIS_WAS_OPEN, 1);
154153

155-
/* Counter for chasis pin */
154+
chassis_once_flag = 1;
155+
156+
if (init) {
157+
system_get_bbram(SYSTEM_BBRAM_IDX_CHASSIS_VTR_OPEN,
158+
&chassis_vtr_open_count);
159+
if (chassis_vtr_open_count < 0xFF)
160+
chassis_vtr_open_count++;
161+
system_set_bbram(SYSTEM_BBRAM_IDX_CHASSIS_VTR_OPEN, chassis_vtr_open_count);
162+
} else {
163+
system_get_bbram(SYSTEM_BBRAM_IDX_CHASSIS_TOTAL,
164+
&chassis_open_count);
165+
if (chassis_open_count < 0xFF)
166+
chassis_open_count++;
167+
system_set_bbram(SYSTEM_BBRAM_IDX_CHASSIS_TOTAL, chassis_open_count);
168+
}
169+
170+
/* Counter for chassis pin */
156171
if (chipset_in_state(CHIPSET_STATE_ANY_OFF))
157172
if (chassis_press_counter < 0xFF)
158173
chassis_press_counter++;
@@ -185,7 +200,10 @@ static void bios_function_init(void)
185200
set_detect_mode(flash_storage_get(FLASH_FLAGS_INPUT_MODULE_POWER));
186201
#endif
187202
gpio_enable_dt_interrupt(GPIO_INT_FROM_NODELABEL(int_chassis_open));
203+
204+
init = 1;
188205
check_chassis_open();
206+
init = 0;
189207
}
190208
DECLARE_HOOK(HOOK_INIT, bios_function_init, HOOK_PRIO_DEFAULT + 1);
191209

0 commit comments

Comments
 (0)