Revert "sysclk: add notification led driver"
This reverts commit 06e5d5e3d1.
This commit is contained in:
@@ -107,12 +107,6 @@ u32 speedoBracket;
|
|||||||
u16 cpuIDDQ, gpuIDDQ, socIDDQ;
|
u16 cpuIDDQ, gpuIDDQ, socIDDQ;
|
||||||
u8 g_dramID = 0;
|
u8 g_dramID = 0;
|
||||||
u64 cldvfs, cldvfs_temp;
|
u64 cldvfs, cldvfs_temp;
|
||||||
|
|
||||||
// LED notification driver state
|
|
||||||
static HidsysUniquePadId g_ledPads[8];
|
|
||||||
static int g_ledPadCount = 0;
|
|
||||||
static HidsysNotificationLedPattern g_ledPattern;
|
|
||||||
Thread ledThread;
|
|
||||||
u32 cachedEristaUvLowTune0 = 0, cachedEristaUvLowTune1 = 0, cachedMarikoUvHighTune0 = 0;
|
u32 cachedEristaUvLowTune0 = 0, cachedEristaUvLowTune1 = 0, cachedMarikoUvHighTune0 = 0;
|
||||||
|
|
||||||
static const u32 ramBrackets[][22] = {
|
static const u32 ramBrackets[][22] = {
|
||||||
@@ -219,128 +213,6 @@ void miscThreadFunc(void*) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void changeLed(); // forward declaration
|
|
||||||
|
|
||||||
void Board::SetLedSolid() {
|
|
||||||
memset(&g_ledPattern, 0, sizeof(g_ledPattern));
|
|
||||||
g_ledPattern.baseMiniCycleDuration = 0x0F;
|
|
||||||
g_ledPattern.startIntensity = 0xF;
|
|
||||||
g_ledPattern.miniCycles[0].ledIntensity = 0xF;
|
|
||||||
g_ledPattern.miniCycles[0].transitionSteps = 0x0;
|
|
||||||
g_ledPattern.miniCycles[0].finalStepDuration = 0x0F;
|
|
||||||
changeLed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Board::SetLedDim() {
|
|
||||||
memset(&g_ledPattern, 0, sizeof(g_ledPattern));
|
|
||||||
g_ledPattern.baseMiniCycleDuration = 0x0F;
|
|
||||||
g_ledPattern.startIntensity = 0x5;
|
|
||||||
g_ledPattern.miniCycles[0].ledIntensity = 0x5;
|
|
||||||
g_ledPattern.miniCycles[0].transitionSteps = 0x0F;
|
|
||||||
g_ledPattern.miniCycles[0].finalStepDuration = 0x0F;
|
|
||||||
changeLed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Board::SetLedFade() {
|
|
||||||
memset(&g_ledPattern, 0, sizeof(g_ledPattern));
|
|
||||||
g_ledPattern.baseMiniCycleDuration = 0x8;
|
|
||||||
g_ledPattern.totalMiniCycles = 0x0; // 0 = loop indefinitely
|
|
||||||
g_ledPattern.startIntensity = 0x2;
|
|
||||||
g_ledPattern.miniCycles[0].ledIntensity = 0xF;
|
|
||||||
g_ledPattern.miniCycles[0].transitionSteps = 0xF;
|
|
||||||
g_ledPattern.miniCycles[1].ledIntensity = 0x2;
|
|
||||||
g_ledPattern.miniCycles[1].transitionSteps = 0xF;
|
|
||||||
changeLed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Board::SetLedOff() {
|
|
||||||
memset(&g_ledPattern, 0, sizeof(g_ledPattern));
|
|
||||||
changeLed();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Board::SetLedBlink() {
|
|
||||||
memset(&g_ledPattern, 0, sizeof(g_ledPattern));
|
|
||||||
g_ledPattern.baseMiniCycleDuration = 0x4;
|
|
||||||
g_ledPattern.totalMiniCycles = 0x0; // 0 = loop indefinitely
|
|
||||||
g_ledPattern.startIntensity = 0x2;
|
|
||||||
g_ledPattern.miniCycles[0].ledIntensity = 0xF;
|
|
||||||
g_ledPattern.miniCycles[0].transitionSteps = 0x2;
|
|
||||||
g_ledPattern.miniCycles[1].ledIntensity = 0x2;
|
|
||||||
g_ledPattern.miniCycles[1].transitionSteps = 0x2;
|
|
||||||
changeLed();
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool isLedControllerConnected(HidsysUniquePadId* padId) {
|
|
||||||
for (int i = 0; i < g_ledPadCount; i++) {
|
|
||||||
if (memcmp(&g_ledPads[i], padId, sizeof(HidsysUniquePadId)) == 0)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void removeLedController(HidsysUniquePadId* padId) {
|
|
||||||
for (int i = 0; i < g_ledPadCount; i++) {
|
|
||||||
if (memcmp(&g_ledPads[i], padId, sizeof(HidsysUniquePadId)) == 0) {
|
|
||||||
for (int j = i; j < g_ledPadCount - 1; j++)
|
|
||||||
g_ledPads[j] = g_ledPads[j + 1];
|
|
||||||
g_ledPadCount--;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void setLedOnPad(HidsysUniquePadId* padId) {
|
|
||||||
if (R_FAILED(hidsysSetNotificationLedPattern(&g_ledPattern, *padId)))
|
|
||||||
removeLedController(padId);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void changeLed() {
|
|
||||||
for (int i = 0; i < g_ledPadCount; i++)
|
|
||||||
setLedOnPad(&g_ledPads[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void scanForNewLedControllers() {
|
|
||||||
static const HidNpadIdType controllerTypes[8] = {
|
|
||||||
HidNpadIdType_Handheld,
|
|
||||||
HidNpadIdType_No1, HidNpadIdType_No2, HidNpadIdType_No3, HidNpadIdType_No4,
|
|
||||||
HidNpadIdType_No5, HidNpadIdType_No6, HidNpadIdType_No7
|
|
||||||
};
|
|
||||||
for (int i = 0; i < 8; i++) {
|
|
||||||
HidsysUniquePadId padIds[8];
|
|
||||||
s32 total = 0;
|
|
||||||
if (R_SUCCEEDED(hidsysGetUniquePadsFromNpad(controllerTypes[i], padIds, 8, &total)) && total > 0) {
|
|
||||||
for (int j = 0; j < total; j++) {
|
|
||||||
if (!isLedControllerConnected(&padIds[j]) && g_ledPadCount < 8) {
|
|
||||||
g_ledPads[g_ledPadCount++] = padIds[j];
|
|
||||||
setLedOnPad(&padIds[j]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void verifyLedControllers() {
|
|
||||||
for (int i = 0; i < g_ledPadCount; i++) {
|
|
||||||
if (R_FAILED(hidsysSetNotificationLedPattern(&g_ledPattern, g_ledPads[i]))) {
|
|
||||||
removeLedController(&g_ledPads[i]);
|
|
||||||
i--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ledThreadFunc(void*) {
|
|
||||||
scanForNewLedControllers();
|
|
||||||
int verifyCounter = 0;
|
|
||||||
for (;;) {
|
|
||||||
scanForNewLedControllers();
|
|
||||||
if (verifyCounter++ >= 5) {
|
|
||||||
verifyLedControllers();
|
|
||||||
verifyCounter = 0;
|
|
||||||
}
|
|
||||||
svcSleepThread(500000000ULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Board::Initialize()
|
void Board::Initialize()
|
||||||
{
|
{
|
||||||
Result rc = 0;
|
Result rc = 0;
|
||||||
@@ -388,12 +260,6 @@ void Board::Initialize()
|
|||||||
|
|
||||||
rc = pmdmntInitialize();
|
rc = pmdmntInitialize();
|
||||||
ASSERT_RESULT_OK(rc, "pmdmntInitialize");
|
ASSERT_RESULT_OK(rc, "pmdmntInitialize");
|
||||||
|
|
||||||
rc = hidInitialize();
|
|
||||||
ASSERT_RESULT_OK(rc, "hidInitialize");
|
|
||||||
|
|
||||||
rc = hidsysInitialize();
|
|
||||||
ASSERT_RESULT_OK(rc, "hidsysInitialize");
|
|
||||||
|
|
||||||
threadCreate(&gpuLThread, gpuLoadThread, NULL, NULL, 0x1000, 0x3F, -2);
|
threadCreate(&gpuLThread, gpuLoadThread, NULL, NULL, 0x1000, 0x3F, -2);
|
||||||
threadStart(&gpuLThread);
|
threadStart(&gpuLThread);
|
||||||
@@ -437,10 +303,6 @@ void Board::Initialize()
|
|||||||
cachedMarikoUvHighTune0 = *(u32*)(cldvfs + CL_DVFS_TUNE0_0);
|
cachedMarikoUvHighTune0 = *(u32*)(cldvfs + CL_DVFS_TUNE0_0);
|
||||||
Board::ResetToStockCpu();
|
Board::ResetToStockCpu();
|
||||||
}
|
}
|
||||||
|
|
||||||
threadCreate(&ledThread, ledThreadFunc, NULL, NULL, 0x4000, 0x15, -2);
|
|
||||||
threadStart(&ledThread);
|
|
||||||
svcSleepThread(1'000'000'000); // Give the LED thread some time to initialize and detect controllers before we set the pattern for the first time
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Board::fuseReadSpeedos() {
|
void Board::fuseReadSpeedos() {
|
||||||
@@ -553,7 +415,6 @@ void Board::Exit()
|
|||||||
threadClose(&cpuCore2Thread);
|
threadClose(&cpuCore2Thread);
|
||||||
// threadClose(&cpuCore3Thread);
|
// threadClose(&cpuCore3Thread);
|
||||||
threadClose(&miscThread);
|
threadClose(&miscThread);
|
||||||
threadClose(&ledThread);
|
|
||||||
|
|
||||||
pwmChannelSessionClose(&g_ICon);
|
pwmChannelSessionClose(&g_ICon);
|
||||||
pwmExit();
|
pwmExit();
|
||||||
@@ -561,8 +422,6 @@ void Board::Exit()
|
|||||||
batteryInfoExit();
|
batteryInfoExit();
|
||||||
pmdmntExit();
|
pmdmntExit();
|
||||||
nvExit();
|
nvExit();
|
||||||
hidsysExit();
|
|
||||||
hidExit();
|
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
DisplayRefresh_Shutdown();
|
DisplayRefresh_Shutdown();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,11 +68,6 @@ class Board
|
|||||||
static void SetDisplayRefreshDockedState(bool docked);
|
static void SetDisplayRefreshDockedState(bool docked);
|
||||||
static void SetCpuUvLevel(u32 levelLow, u32 levelHigh, u32 tbreakPoint);
|
static void SetCpuUvLevel(u32 levelLow, u32 levelHigh, u32 tbreakPoint);
|
||||||
static u32 CalculateTbreak(u32 table);
|
static u32 CalculateTbreak(u32 table);
|
||||||
static void SetLedSolid();
|
|
||||||
static void SetLedDim();
|
|
||||||
static void SetLedFade();
|
|
||||||
static void SetLedBlink();
|
|
||||||
static void SetLedOff();
|
|
||||||
protected:
|
protected:
|
||||||
static void FetchHardwareInfos();
|
static void FetchHardwareInfos();
|
||||||
static PcvModule GetPcvModule(SysClkModule sysclkModule);
|
static PcvModule GetPcvModule(SysClkModule sysclkModule);
|
||||||
|
|||||||
Reference in New Issue
Block a user