ronelib
Operating System for the r-one robot
 All Data Structures Files Functions Variables Typedefs
NbrNbrComms.h
Go to the documentation of this file.
1 
12 #ifndef NBRNBRCOMMS_H_
13 #define NBRNBRCOMMS_H_
14 
15 
19 typedef struct NbrNbr {
20  uint8 ID;
21  int16 bearing;
22  int16 orientation;
23 } NbrNbr;
24 
25 
29 //TODO make field descriptions
30 typedef struct NbrNbrList {
31  Nbr* nbrPtr;
32  uint8 size;
33  uint32 updateTime;
34  NbrNbr nbrNbrs[NEIGHBOR_MAX];
35 } NbrNbrList;
36 
37 
43 void nbrNbrInit(void);
44 //void nbrNbrUpdate(void);
45 
46 //NbrNbr* nbrGetNbrNbrWithID(Nbr* nbrPtr, uint8 nbrNbrID);
47 
48 
59 void nbrNbrListGetFromNbr(Nbr* nbrPtr, NbrNbrList* nbrNbrList);
60 
61 
68 uint8 nbrNbrListGetSize(NbrNbrList* nbrNbrListPtr);
69 
70 
80 void nbrNbrListPrint(NbrNbrList* nbrNbrListPtr);
81 
82 
83 //TODO: implement or delete?
84 uint32 nbrNbrListGetUpdateTime(NbrNbrList* nbrNbrList);
85 
86 
94 NbrNbr* nbrNbrListGetNbrAtIdx(NbrNbrList* nbrNbrListPtr, uint8 idx);
95 
96 
104 NbrNbr* nbrNbrListGetNbrWithID(NbrNbrList* nbrNbrListPtr, uint8 id);
105 
106 
113 uint8 nbrNbrGetID(NbrNbr* nbrNbrPtr);
114 
115 
123 int16 nbrNbrGetBearing(NbrNbr* nbrNbrPtr);
124 
125 
132 int16 nbrNbrGetOrientation(NbrNbr* nbrNbrPtr);
133 
134 
135 
136 #endif /* NBRNBRCOMMS_H_ */