diff options
author | Egor Ananyin <ananinegor@gmail.com> | 2020-07-06 19:47:38 +0300 |
---|---|---|
committer | Egor Ananyin <ananinegor@gmail.com> | 2020-07-06 19:47:38 +0300 |
commit | 388e4016a23dc5f3d7b140d500c42fd5c1d1943c (patch) | |
tree | c01e1c9e4b043454512de0cb732e4275e870e36d /arm7/lib/src | |
parent | 1f2f48038cabc775a4e5af8938d5cd619f7a4fd9 (diff) |
One more func
Diffstat (limited to 'arm7/lib/src')
-rw-r--r-- | arm7/lib/src/PAD_xyButton.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arm7/lib/src/PAD_xyButton.c b/arm7/lib/src/PAD_xyButton.c index d224d6a5..fa344f04 100644 --- a/arm7/lib/src/PAD_xyButton.c +++ b/arm7/lib/src/PAD_xyButton.c @@ -2,11 +2,12 @@ #include "OS_alarm.h" #include "OS_tick.h" #include "PAD_xyButton.h" +#include "registers.h" static BOOL PADi_XYButtonAvailable; static OSAlarm PADi_Alarm; -extern void FUN_037FB92C(void); +void EXIi_SelectRcnt(u16); ARM_FUNC BOOL PAD_InitXYButton(void) { OSTick tick; @@ -17,8 +18,16 @@ ARM_FUNC BOOL PAD_InitXYButton(void) { else { OS_CreateAlarm(&PADi_Alarm); tick = OS_GetTick(); - OS_SetPeriodicAlarm(&PADi_Alarm, tick + 0x82e, 0x82e, (OSAlarmHandler)FUN_037FB92C, NULL); + OS_SetPeriodicAlarm(&PADi_Alarm, tick + 0x82e, 0x82e, (OSAlarmHandler)PADi_xyButtonAlarmHandler, NULL); PADi_XYButtonAvailable = TRUE; return TRUE; } } + +void PADi_xyButtonAlarmHandler(void) { + u16 r4 = 0, r1; + EXIi_SelectRcnt(0x8000); + r1 = reg_EXTKEYIN; + if(r1 & EXTKEYIN_HINGE) r4 = 0x8000; + BUTTON_XY_BUF = r4 | ((r1 & (EXTKEYIN_X | EXTKEYIN_Y | EXTKEYIN_DEBUG)) << 10); +} |