![](/media/cache/profiles/25a76ba89c58a499eadfd4cb8ecf8af5.jpg.50x50_q85.jpg)
code for each end node in mesh network
main.cpp@0:53f764257723, 2015-06-12 (annotated)
- Committer:
- dannellyz
- Date:
- Fri Jun 12 14:57:26 2015 +0000
- Revision:
- 0:53f764257723
code to go on each end node;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dannellyz | 0:53f764257723 | 1 | #include "mbed.h" |
dannellyz | 0:53f764257723 | 2 | #include <stdio.h> |
dannellyz | 0:53f764257723 | 3 | #include <string.h> |
dannellyz | 0:53f764257723 | 4 | |
dannellyz | 0:53f764257723 | 5 | BusIn joy(p15,p12,p13,p16); //Initialize joystick bus |
dannellyz | 0:53f764257723 | 6 | //Initialize Potentiaometers |
dannellyz | 0:53f764257723 | 7 | AnalogIn pot1(p19); |
dannellyz | 0:53f764257723 | 8 | AnalogIn pot2(p20); |
dannellyz | 0:53f764257723 | 9 | Serial pc(USBTX, USBRX); //Initalise PC serial comms |
dannellyz | 0:53f764257723 | 10 | Serial xbeeOut(p9, p10); //tx, rx via Xbee socket |
dannellyz | 0:53f764257723 | 11 | |
dannellyz | 0:53f764257723 | 12 | |
dannellyz | 0:53f764257723 | 13 | int main() |
dannellyz | 0:53f764257723 | 14 | { |
dannellyz | 0:53f764257723 | 15 | |
dannellyz | 0:53f764257723 | 16 | float waitTime; //Hold random time delay |
dannellyz | 0:53f764257723 | 17 | float min = 0.05; //Define minimum time |
dannellyz | 0:53f764257723 | 18 | float max = 0.2; //Define maximumtime |
dannellyz | 0:53f764257723 | 19 | |
dannellyz | 0:53f764257723 | 20 | while(1) { |
dannellyz | 0:53f764257723 | 21 | //Serial number identifies which mbed it is transmitting |
dannellyz | 0:53f764257723 | 22 | int serial_no = 1; |
dannellyz | 0:53f764257723 | 23 | //This can be customized to take any other internal or external sensors |
dannellyz | 0:53f764257723 | 24 | int joystick = joy; |
dannellyz | 0:53f764257723 | 25 | float Lpot = pot1; |
dannellyz | 0:53f764257723 | 26 | float Rpot = pot2; |
dannellyz | 0:53f764257723 | 27 | //Echo locally for error checking |
dannellyz | 0:53f764257723 | 28 | printf("$APPBOARD,%.02f,%.02f,%d,%d %f\r\n",Lpot,Rpot,joystick,serial_no,waitTime); |
dannellyz | 0:53f764257723 | 29 | //Use the same serial fictions as above the transmit over XBee |
dannellyz | 0:53f764257723 | 30 | xbeeOut.printf("$APPBOARD,%.02f,%.02f,%d,%d\r\n",Lpot,Rpot,joystick,serial_no); |
dannellyz | 0:53f764257723 | 31 | //Wait the calculated randomized time |
dannellyz | 0:53f764257723 | 32 | if(pot1 > .5) { |
dannellyz | 0:53f764257723 | 33 | waitTime = min + ((float)rand()/RAND_MAX) * (max - min); |
dannellyz | 0:53f764257723 | 34 | wait(waitTime); |
dannellyz | 0:53f764257723 | 35 | } |
dannellyz | 0:53f764257723 | 36 | |
dannellyz | 0:53f764257723 | 37 | } |
dannellyz | 0:53f764257723 | 38 | } |