Added more mcuHwc Functions

This commit is contained in:
Pirater12 2017-09-26 13:29:17 +05:30
parent 25123ba057
commit cbeac6b7ec
2 changed files with 55 additions and 2 deletions

View File

@ -1,9 +1,19 @@
/** /**
* @file mcuHwc.h * @file mcuhwc.h
* @brief mcuHwc service. * @brief mcuHwc service.
*/ */
#pragma once #pragma once
typedef enum
{
LED_NORMAL = 1, ///< The normal mode of the led
LED_SLEEP_MODE, ///< The led pulses slowly as it does in the sleep mode
LED_OFF, ///< Switch off power led
LED_RED, ///< Red state of the led
LED_BLUE, ///< Blue state of the led
LED_BLINK_RED, ///< Blinking red state of power led and notification led
}powerLedState;
/// Initializes mcuHwc. /// Initializes mcuHwc.
Result mcuHwcInit(void); Result mcuHwcInit(void);
@ -42,4 +52,16 @@ Result mcuHwcGetBatteryLevel(u8 *level);
* @brief Gets the sound slider level * @brief Gets the sound slider level
* @param level Pointer to write the slider level to. * @param level Pointer to write the slider level to.
*/ */
Result mcuHwcGetSoundSliderLevel(u8 *level); Result mcuHwcGetSoundSliderLevel(u8 *level);
/**
* @brief Sets Wifi LED state
* @param state State of Wifi LED. (True/False)
*/
Result mcuHwcSetWifiLedState(bool state);
/**
* @brief Sets Power LED state
* @param state powerLedState State of power LED.
*/
Result mcuHwcSetPowerLedState(powerLedState state);

View File

@ -78,6 +78,32 @@ Result mcuHwcGetBatteryLevel(u8 *level)
return (Result)cmdbuf[1]; return (Result)cmdbuf[1];
} }
Result mcuHwcSetPowerLedState(powerLedState state)
{
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = IPC_MakeHeader(0x6,2,0); // 0x60040
cmdbuf[1] = state;
if(R_FAILED(ret = svcSendSyncRequest(mcuHwcHandle)))return ret;
return (Result)cmdbuf[1];
}
Result mcuHwcSetWifiLedState(bool state)
{
Result ret = 0;
u32 *cmdbuf = getThreadCommandBuffer();
cmdbuf[0] = IPC_MakeHeader(0x7,0,0); // 0x70000
cmdbuf[1] = state;
if(R_FAILED(ret = svcSendSyncRequest(mcuHwcHandle)))return ret;
return (Result)cmdbuf[1];
}
Result mcuHwcGetSoundSliderLevel(u8 *level) Result mcuHwcGetSoundSliderLevel(u8 *level)
{ {
Result ret = 0; Result ret = 0;
@ -90,4 +116,9 @@ Result mcuHwcGetSoundSliderLevel(u8 *level)
*level = cmdbuf[2]; *level = cmdbuf[2];
return (Result)cmdbuf[1]; return (Result)cmdbuf[1];
}
Result mcuHwcGet3dSliderLevel(u8 *level)
{
return mcuHwcReadRegister(8, &level, 1);
} }