![]() | LEGO Mindstorms EV3 |
Example program
*/
UBYTE prg[] = // p5.c
{ //
PROGRAMHeader(0,1,0), // 0 VersionInfo,NumberOfObjects,GlobalBytes
VMTHREADHeader(0,3), // 12 OffsetToInstructions,LocalBytes
//
// 24 VMTHREAD1
// {
opUI_WRITE,LC0(PUT_STRING),LCS, // UI_WRITE(STRING," LineFollower\r\n")
' ',' ',' ',' ', //
'L','i','n','e','F','o','l', //
'l','o','w','e','r', //
'\r','\n',0, //
opUI_FLUSH, // UI_FLUSH
//
opINPUT_READ,LC0(0),LC0(1), // INPUT_READ(0,0,2,LV0) // Read light sensor
LC1(2),LC0(1),LV0(0), //
opDIV8,LV0(0),LC0(2),LV0(0), // LV0 /= 2
opADD8,LV0(0),LC0(15),LV0(0), // LV0 += 15
//
// do
// {
opINPUT_READ,LC0(0),LC0(1), // INPUT_READ(0,0,2) // Read light sensor
LC1(2),LC0(1),LV0(1), //
opSUB8,LV0(1),LV0(0),LV0(1), // LV1 -= LV0
opDIV8,LV0(1),LC0(2),LV0(1), // LV1 /= 2
opADD8,LC1(40),LV0(1),LV0(2), // LV2 = 40 + LV1
opSUB8,LC1(40),LV0(1),LV0(3), // LV3 = 40 - LV1
//
opOUTPUT_POWER,LC0(0),LC0(1),LV0(3), // OUTPUT_POWER(0,0x1,LV3) // Motor 1 = LV3
opOUTPUT_POWER,LC0(0),LC0(2),LV0(2), // OUTPUT_POWER(0,0x2,LV2) // Motor 2 = LV2
//
opOUTPUT_START,LC0(0),LC0(3), // OUTPUT_START(0,0x3)
//
// }
opJR,LC1(-39), // while (TRUE)
opOBJECT_END // }
};
/*