KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: LED-Plugin problem
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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?

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;
}


Danke schonmal
Camaro thumb

PS: Die LEDs sollen so leuchten:

SceSysconLed aktiviert/deaktiviert auch nicht direkt die LEDs, sondern macht es nur möglich dass die LED benutzt wird (so kannst du z.B. die Power LED beim Aufladen deaktivieren) Wink
Danke schonmal für den Hinweis =D
Wie wäre denn der bessere Befehl?
Was deine tasten abfrage angeht, versuch es mal hier mit:
sceCtrlPeekBufferPositive
Ansonsten kannst ja einfach vshCtrlReadBufferPositive hooken oder nen CtrlCallback aktivieren... siehe mein Post hier.
Und tut mir leid, ich weiß den Befehl zum sofortigen aktivieren/deaktivieren der LEDs nicht Wink
Hackman, der befehl für die LED`s ist richtig es gibt aber noch ein speziellen der direkt für die Power LED ist aber ansonsten müßte er stimmen.
Nächstes Problem:
Wenn ich "sceCtrlPeekBufferPositiv" verwende, startet die PSP gar nicht...
Was ist denn verdammt nochmal am SourceCode falsch? Ich verstehs nich =/
und was bringt diese plugin dann?

~God3ateR~ :
und was bringt diese plugin dann?


Hat was mit nem Mod zu tun...
Den zeige ich euch, wenn er fertig ist Wink

Camaro8000 :
Nächstes Problem:
Wenn ich "sceCtrlPeekBufferPositiv" verwende, startet die PSP gar nicht...
Was ist denn verdammt nochmal am SourceCode falsch? Ich verstehs nich =/


Ich, ein paar Posts vorher :
Ansonsten kannst ja einfach vshCtrlReadBufferPositive hooken oder nen CtrlCallback aktivieren... siehe mein Post hier.
Und tut mir leid, ich weiß den Befehl zum sofortigen aktivieren/deaktivieren der LEDs nicht Wink


Wie gesagt, versuchs mal damit.

@Camaro8000: Danke :-)
Ich konnte durch deine Hilfe gerade mein erstes Plugin Coden =)
Warum benutzt du nicht die enum "Funktionen"?
Diese sind aussagekräftiger als die Hex Werte Big Grin
Referenz-URLs