/** @name ping.c * Tests sending and receiving via wireless transmission * VERSION FOR EYEBOT * @author Thomas Braunl, Nov. 2000 */ #include "eyebot.h" int main() { BYTE myId, nextId, fromId; BYTE mes[20]; /* message buffer */ int len, err; LCDPutString("Wireless Network"); LCDPutString("----------------"); LCDMenu(" "," "," ","END"); myId = OSMachineID(); if (myId==0) { LCDPutString("RadioLib not enabled!\n"); return 1; } else LCDPrintf("I am robot %d\n", myId); switch(myId) { case 1 : nextId = 2; break; case 2 : nextId = 1; break; default: LCDPutString("Set ID 1 or 2\n"); return 1; } LCDPutString("Radio"); err = RADIOInit(); if (err) { LCDPutString("Error Radio Init\n"); return 1; } else LCDPutString("Init\n"); if (myId == 1) /* robot 1 gets first to send */ { mes[0] = 0; err = RADIOSend(nextId, 1, mes); if (err) { LCDPutString("Error Send\n"); return 1; } } while ((KEYRead()) != KEY4) { if (RADIOCheck()) /* check whether message is waiting */ { RADIORecv(&fromId, &len, mes); /* wait for next message */ LCDPrintf("Recv %d-%d: %3d\a\n", fromId, len, mes[0]); mes[0]++; /* increment number and send again */ err = RADIOSend(nextId, 1, mes); if (err) { LCDPutString("Error Send\n"); return 1; } } } RADIOTerm(); return 0; }