code for each end node in mesh network

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }