mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 21:52:48 +00:00
Don't spam the MCU with reads (in hid.c)
This commit is contained in:
parent
cb694689aa
commit
90a7705d21
@ -7,7 +7,8 @@ u32 InputWait() {
|
|||||||
u32 pad_state_old = HID_STATE;
|
u32 pad_state_old = HID_STATE;
|
||||||
u32 cart_state_old = CART_STATE;
|
u32 cart_state_old = CART_STATE;
|
||||||
u32 sd_state_old = SD_STATE;
|
u32 sd_state_old = SD_STATE;
|
||||||
u64 timer = timer_start();
|
u64 timer_dpad = timer_start();
|
||||||
|
u64 timer_mcu = timer_dpad;
|
||||||
delay = (delay) ? 72 : 128;
|
delay = (delay) ? 72 : 128;
|
||||||
while (true) {
|
while (true) {
|
||||||
u32 pad_state = HID_STATE;
|
u32 pad_state = HID_STATE;
|
||||||
@ -19,11 +20,12 @@ u32 InputWait() {
|
|||||||
if (sd_state != sd_state_old)
|
if (sd_state != sd_state_old)
|
||||||
return sd_state ? SD_INSERT : SD_EJECT;
|
return sd_state ? SD_INSERT : SD_EJECT;
|
||||||
u8 special_key;
|
u8 special_key;
|
||||||
if (I2C_readRegBuf(I2C_DEV_MCU, 0x10, &special_key, 1)) {
|
if ((timer_msec(timer_mcu) >= 64) && (I2C_readRegBuf(I2C_DEV_MCU, 0x10, &special_key, 1))) {
|
||||||
if (special_key == 0x01)
|
if (special_key == 0x01)
|
||||||
return pad_state | BUTTON_POWER;
|
return pad_state | BUTTON_POWER;
|
||||||
else if (special_key == 0x04)
|
else if (special_key == 0x04)
|
||||||
return pad_state | BUTTON_HOME;
|
return pad_state | BUTTON_HOME;
|
||||||
|
timer_mcu = timer_start();
|
||||||
}
|
}
|
||||||
pad_state_old = pad_state;
|
pad_state_old = pad_state;
|
||||||
delay = 0;
|
delay = 0;
|
||||||
@ -31,7 +33,7 @@ u32 InputWait() {
|
|||||||
}
|
}
|
||||||
if ((pad_state == pad_state_old) &&
|
if ((pad_state == pad_state_old) &&
|
||||||
(!(pad_state & BUTTON_ARROW) ||
|
(!(pad_state & BUTTON_ARROW) ||
|
||||||
(delay && (timer_msec(timer) < delay))))
|
(delay && (timer_msec(timer_dpad) < delay))))
|
||||||
continue;
|
continue;
|
||||||
// make sure the key is pressed
|
// make sure the key is pressed
|
||||||
u32 t_pressed = 0;
|
u32 t_pressed = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user