From 9849deca010e1249f2996e1e4017615d12f2aebf Mon Sep 17 00:00:00 2001 From: Aurelio Mannara Date: Sat, 13 Dec 2014 13:10:54 +0100 Subject: [PATCH] Added 2 hid functions -Added HIDUSER_GetGyroscopeRawToDpsCoefficient(float *coeff) -Added HIDUSER_GetSoundVolume(u8 *volume) --- libctru/include/3ds/services/hid.h | 3 ++- libctru/source/services/hid.c | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/libctru/include/3ds/services/hid.h b/libctru/include/3ds/services/hid.h index 4ba6aa7..87a99cf 100644 --- a/libctru/include/3ds/services/hid.h +++ b/libctru/include/3ds/services/hid.h @@ -102,4 +102,5 @@ Result HIDUSER_EnableAccelerometer(); Result HIDUSER_DisableAccelerometer(); Result HIDUSER_EnableGyroscope(); Result HIDUSER_DisableGyroscope(); - +Result HIDUSER_GetGyroscopeRawToDpsCoefficient(float *coeff); +Result HIDUSER_GetSoundVolume(u8 *volume); //Return the volume slider value (0-63) diff --git a/libctru/source/services/hid.c b/libctru/source/services/hid.c index d48f30c..2379151 100644 --- a/libctru/source/services/hid.c +++ b/libctru/source/services/hid.c @@ -245,3 +245,28 @@ Result HIDUSER_DisableGyroscope() return cmdbuf[1]; } +Result HIDUSER_GetGyroscopeRawToDpsCoefficient(float *coeff) +{ + u32* cmdbuf=getThreadCommandBuffer(); + cmdbuf[0]=0x150000; //request header code + + Result ret=0; + if((ret=svcSendSyncRequest(hidHandle)))return ret; + + *coeff = (float)cmdbuf[2]; + + return cmdbuf[1]; +} + +Result HIDUSER_GetSoundVolume(u8 *volume) +{ + u32* cmdbuf=getThreadCommandBuffer(); + cmdbuf[0]=0x170000; //request header code + + Result ret=0; + if((ret=svcSendSyncRequest(hidHandle)))return ret; + + *volume = (u8)cmdbuf[2]; + + return cmdbuf[1]; +}