26.08.2010, 18:55
Hi,
Ich probiere grade, ein kleines LED-Plugin zu schreiben.
Irgendwie schaffe ich es nicht, dass das Plugin richtig läuft.
Im jetzigen Codezustand kann ich nach aktivieren des Plugins mit L + Start keine Tasteneingaben mehr machen, aber die Wave und die Uhr funktionieren noch ganz normal.
Kann mir jemand sagen, was da falsch ist?
Ich probiere grade, ein kleines LED-Plugin zu schreiben.
Irgendwie schaffe ich es nicht, dass das Plugin richtig läuft.
Im jetzigen Codezustand kann ich nach aktivieren des Plugins mit L + Start keine Tasteneingaben mehr machen, aber die Wave und die Uhr funktionieren noch ganz normal.
Kann mir jemand sagen, was da falsch ist?
Code:
#include <pspkernel.h>
#include <pspctrl.h>
#include <pspdebug.h>
#include <pspthreadman.h>
#include <pspmodulemgr.h>
PSP_MODULE_INFO("LEDMOD", 0x1000, 1, 0);
PSP_MAIN_THREAD_ATTR(0);
SceCtrlData pad;
int powermode = 0;
int timer = 0;
//////////////////////////////////////////////////////////////////////
int main_thread(SceSize args, void *argp)
{
SceCtrlData pad;
int onoff = 0;
while(1)
{
sceCtrlReadBufferPositive(&pad, 1);
if((pad.Buttons & PSP_CTRL_LTRIGGER) && (pad.Buttons & PSP_CTRL_START))
{
if(onoff == 0) onoff = 1;
if(onoff == 1) onoff = 0;
}
if(onoff == 0)
{
//leds normal
}
if(onoff == 1)
{
sceSysconCtrlLed(2, 1);
sceKernelDelayThread(0.2 * 1000 * 1000);
sceSysconCtrlLed(2, 0);
sceKernelDelayThread(0.2 * 1000 * 1000);
sceSysconCtrlLed(1, 1);
sceKernelDelayThread(0.2 * 1000 * 1000);
sceSysconCtrlLed(1, 0);
sceKernelDelayThread(0.2 * 1000 * 1000);
sceSysconCtrlLed(0, 1);
sceKernelDelayThread(0.2 * 1000 * 1000);
sceSysconCtrlLed(0, 0);
break;
}
/*if((pad.Buttons & PSP_CTRL_RTRIGGER))
{
break;
}*/
}
sceKernelSleepThread();
return 0;
}
int module_start(SceSize args, void *argp) {
int thid;
thid = sceKernelCreateThread("LEDMOD", main_thread, 0x30, 0x1000, 0, NULL);
if(thid >= 0) sceKernelStartThread(thid, args, argp);
return 0;
}