Code: Select all
#include "predef.h"
#include <stdio.h>
#include <ctype.h>
#include <startnet.h>
#include <autoupdate.h>
extern "C" {
void UserMain(void * pd);
}
const char * AppName="PK70 LED Example";
int LED1 = 0;
int LED2 = 0;
void SetLED(int led, int color=0, bool blink=false) {
//The first parameter can be 0 (both LEDs), 1 (Status 1 LED), or 2 (Status 2 LED)
//The second parameter is the color. 0 is off, 1 is red, 2 is green. If unspecified, it will default to 0 (off).
//The third parameter can be set to true if you want the LED(s) to blink.
if (led < 2) { //Either 0 or 1
if (blink && LED1>0) {
LED1 = 0;
} else {
LED1 = color;
}
}
if (led != 1) { //Either 0 or 2
if (blink && LED2>0) {
LED2 = 0;
} else {
LED2 = color*4;
}
}
putleds(LED1 | LED2); //OR the bits
}
void UserMain(void * pd) {
InitializeStack();
OSChangePrio(MAIN_PRIO);
EnableAutoUpdate();
while (1) {
SetLED(1,1); //This sets LED1 to 1 (red)
OSTimeDly(20);
SetLED(1,2); //This sets LED1 to 2 (green)
OSTimeDly(20);
SetLED(2,1); //This sets LED2 to 1 (red)
OSTimeDly(20);
SetLED(2,2); //This sets LED1 to 2 (green)
OSTimeDly(20);
SetLED(0,2,true); //This makes both LEDs blink green
OSTimeDly(20);
SetLED(0,2,true); //This makes both LEDs blink green
OSTimeDly(20);
SetLED(0,1,true); //This makes both LEDs blink red
OSTimeDly(20);
SetLED(0,1,true); //This makes both LEDs blink red
OSTimeDly(20);
SetLED(0); //This turns off both LEDs
OSTimeDly(20);
}
}