Added more mcuHwc functions. (#378)
This commit is contained in:
parent
8e2d82ae9a
commit
65673fd3f3
@ -4,6 +4,16 @@
|
||||
*/
|
||||
#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.
|
||||
Result mcuHwcInit(void);
|
||||
|
||||
@ -11,7 +21,7 @@ Result mcuHwcInit(void);
|
||||
void mcuHwcExit(void);
|
||||
|
||||
/**
|
||||
* @brief Reads data from a mcuHwc Register
|
||||
* @brief Reads data from an i2c device3 register
|
||||
* @param reg Register number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
|
||||
* @param data Pointer to write the data to.
|
||||
* @param size Size of data to be read
|
||||
@ -19,7 +29,7 @@ void mcuHwcExit(void);
|
||||
Result mcuHwcReadRegister(u8 reg, void *data, u32 size);
|
||||
|
||||
/**
|
||||
* @brief Writes data to a mcuHwc Register
|
||||
* @brief Writes data to a i2c device3 register
|
||||
* @param reg Register number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
|
||||
* @param data Pointer to write the data to.
|
||||
* @param size Size of data to be written
|
||||
@ -43,3 +53,21 @@ Result mcuHwcGetBatteryLevel(u8 *level);
|
||||
* @param level Pointer to write the slider level to.
|
||||
*/
|
||||
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);
|
||||
|
||||
/**
|
||||
* @brief Gets 3d slider level
|
||||
* @param level Pointer to write 3D slider level to.
|
||||
*/
|
||||
Result mcuHwcGet3dSliderLevel(u8 *level);
|
||||
|
@ -78,6 +78,32 @@ Result mcuHwcGetBatteryLevel(u8 *level)
|
||||
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 ret = 0;
|
||||
@ -90,4 +116,9 @@ Result mcuHwcGetSoundSliderLevel(u8 *level)
|
||||
*level = cmdbuf[2];
|
||||
|
||||
return (Result)cmdbuf[1];
|
||||
}
|
||||
|
||||
Result mcuHwcGet3dSliderLevel(u8 *level)
|
||||
{
|
||||
return mcuHwcReadRegister(8, &level, 1);
|
||||
}
|
Loading…
Reference in New Issue
Block a user