Kontrollera din iRobot skapa med en Palm Pilot (9 / 16 steg)
Steg 9: Programmet, del 1
I nästa några steg jag ska anta att läsaren redan är bekant med C-språket. Om du inte du bör prova några tutorials och praxis program först. Jag hittade detta dokument hjälp, men det förutsätter en hel del erfarenhet av programmering.Varning: Före detta projekt hade jag noll erfarenhet av C-språket, min programmeringserfarenhet hade varit begränsad till Visual Basic och (oftast) Java. På grund av detta är jag inte säker där likheten mellan C-programmering för Palm OS och datorn börjar och slutar. Och eftersom detta är bokstavligen mitt första C-program ("cept för den obligatoriska"Hello World"app) min anslutning till C standarder och bra codeing praxis är nog ganska dåligt också.
Den första delen av detta program är filen .rcp. Denna fil innehåller information PilRC använder för att bygga GUI; Vi kallar det "robot.rcp". Vi behöver även en annan fil som heter "robot.h" där vi kommer att definiera vissa konstanter som används när du refererar till GUI elementen. Varje element har tilldelats ett ID-nummer, och vi kommer att tilldela varje nummer ett namn. När kompilatorn går igenom källkoden kommer att ersätta namnen med de nummer som de representerar. Till exempel "FormMain" definieras som 9000, som innebär att varje gång vi använder "FormMain" i programmet använder vi verkligen numret 9000.
Här är min robot.h fil:
//--------------------- Fourms -----------------------
#define FormMain 9000
#define FormSelect 9001
#define FormMacro 9002
#define huvudmeny 9100
#define AboutAlert 9101
//--------------------- Form Main --------------------
#define PicRobot 1000
#define PicWall_ 1001
#define PicCliff 1010
#define PicWhealR 1011
#define PicWhealL 1012
#define PicBumpR 1013
#define PicBumpL 1014
#define PicWall 1015
#define FldVoltage 1100
#define FldProg 1101
#define BtnDisconnect 1200
//--------------------- Form Select ------------------
#define SelScript 2000
#define FldDescription 2001
//--------------------- Form Macro -------------------
#define BtnSend 3000
#define BtnClear 3001
#define BtnDel 3002
#define BtnUp 3100
#define BtnDown 3101
#define BtnLeft 3102
#define BtnRight 3103
#define BtnCClock 3104
#define BtnClock 3105
#define BtnPause 3106
#define BtnP1 3201
#define BtnP2 3202
#define BtnP4 3204
#define BtnP8 3208
#define BtnP16 3216
#define PicBar 3300
#define PicUp 3400
#define PicDown 3401
#define PicLeft 3402
#define PicRight 3403
#define PicClock 3404
#define PicCClock 3405
#define PicPause 3406
#define FldScript 3500
#define SclScript 3501
//--------------------- Main Menu --------------------
#define MnuStatus 8000
#define MnuScript 8001
#define MnuMacro 8002
#define MnuConnect 8100
#define MnuDisconnect 8101
#define MnuRun 8102
#define MnuStop 8103
#define MnuAbout 8200