code d'envoie de trame
Dependencies: mbed ConfigFile
Fork of app4-router by
Revision 6:cf4a6ee5d885, committed 2014-02-25
- Comitter:
- trixrabbit
- Date:
- Tue Feb 25 04:34:23 2014 +0000
- Parent:
- 5:b4b4a64ef0d6
- Child:
- 7:0f107e48147d
- Commit message:
- sa marche mieux
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Feb 24 23:23:59 2014 +0000 +++ b/main.cpp Tue Feb 25 04:34:23 2014 +0000 @@ -36,7 +36,16 @@ string AccelData; int period_ms; string panID; - + + + + string convertInt(int number) +{ + stringstream ss;//create a stringstream + ss.str(""); + ss << number;//add number to the stream + return ss.str();//return a string with the contents of the stream +} void configInit() { char *key1 = "PANID"; @@ -180,7 +189,7 @@ } -unsigned short getAccelValue(char MSB_addr, char LSB_addr) +unsigned short getAccelValue(char MSB_addr) { return i2c_read_reg(MSB_addr); // Read MSB data from MSB register } @@ -192,25 +201,28 @@ string type_s; switch(type) { - case ACCEL_X: type_s = "<AX"; + case ACCEL_X: type_s = "AX"; break; - case ACCEL_Y: type_s = "<AY"; + case ACCEL_Y: type_s = "AY"; break; - case ACCEL_Z: type_s = "<AZ"; + case ACCEL_Z: type_s = "AZ"; break; - case PUSHBOUTON: type_s = "<PB"; + case PUSHBOUTON: type_s = "PB"; break; } + + + string data_s = convertInt(data); + data_s = type_s + data_s; - out << data; - string data_s = out.str(); - data_s = type_s + data_s + ">"; + pc.printf("\n\r"); + pc.printf(data_s.c_str()); char checkSum = 0; - char size = data_s.length() + 0x0E; //0x0E + data type + nombre de data = 0x0F + nombre de data + char size = data_s.length() + 0x0E; //0x0E + data type xbee.putc(0x7E); // start delimeter xbee.putc(0x00); // length xbee.putc(size); // length @@ -229,7 +241,7 @@ xbee.putc(0x00); // broadcast radius xbee.putc(0x00); // option checkSum = checkSum + 0x10 + 0x01 + 0x00 + 0x13+ 0xA2 + 0x00 + 0x40 + 0x8B +0x41 + 0x98 + 0x00 + 0x00 + 0x00 + 0x00; - //data type + for (int i=0;i<data_s.length();i++) //data { xbee.putc(data_s[i]); @@ -259,17 +271,18 @@ myled = !myled; // Get accelerometer values - x= getAccelValue(OUT_X_MSB, OUT_X_LSB); - y= getAccelValue(OUT_Y_MSB, OUT_Y_LSB); - z= getAccelValue(OUT_Z_MSB, OUT_Z_LSB); - + x= getAccelValue(OUT_X_MSB); + y= getAccelValue(OUT_Y_MSB); + z= getAccelValue(OUT_Z_MSB); + xbee_transmit(PUSHBOUTON, pb1); + //Transmit ACCEL xyz to coordonitator - xbee_transmit(ACCEL_X, x); - xbee_transmit(ACCEL_Y, y); + //xbee_transmit(ACCEL_X, x); + //xbee_transmit(ACCEL_Y, y); xbee_transmit(ACCEL_Z, z); //Transmit PUSHBUTTON to coordonitator - xbee_transmit(PUSHBOUTON, pb1.read()); +