on recoit 76 et 72
Dependencies: XBeeLib mbed-rtos mbed
Diff: main.cpp
- Revision:
- 19:a302b82c4357
- Parent:
- 17:0694b399bd0d
--- a/main.cpp Sun Nov 11 19:40:46 2018 +0000 +++ b/main.cpp Sun Nov 11 21:13:34 2018 +0000 @@ -21,7 +21,7 @@ #define REMOTE_NODE_ADDR64_MSB ((uint32_t)0x0013A200) //#error "Replace next define with the LSB of the remote module's 64-bit address (SL parameter)" -#define REMOTE_NODE_ADDR64_LSB ((uint32_t)0x40C0E3A1) +#define REMOTE_NODE_ADDR64_LSB ((uint32_t)0x40E779AF) #define REMOTE_NODE_ADDR64 UINT64(REMOTE_NODE_ADDR64_MSB, REMOTE_NODE_ADDR64_LSB) @@ -29,17 +29,17 @@ //feux gauche //rouge -DigitalOut feux_gauche_rouge(p29); +DigitalOut feux_gauche_rouge(p30); //orange -DigitalOut feux_gauche_orange(p27); +DigitalOut feux_gauche_orange(p28); //vert -DigitalOut feux_gauche_vert(p25); +DigitalOut feux_gauche_vert(p26); //liste des message a envoyer rouge et vert seulement pour le coordinateur ////////////////////////// ///// - char rouge = 'r'; - char vert = 'v'; + char rouge[] = "r"; + char vert[] = "v"; ///// uint8_t ok = 0x02; ////////////////////////// @@ -56,25 +56,45 @@ for (int i = 0; i < len; i++) log_serial->printf("%02x ", data[i]); - + log_serial->printf("\r\n"); } -static void send_explicit_data_to_remote_node(XBeeZB& xbee, const RemoteXBeeZB& RemoteDevice,char message) -{ - - const uint8_t data_len = 0x01; +static void send_explicit_data_to_remote_node(XBeeZB& xbee, const RemoteXBeeZB& RemoteDevice,int message){ + + //const uint8_t data_len = strlen(data); const uint8_t dstEP = 0xE8; const uint8_t srcEP = 0xE8; const uint16_t clusterID = 0x0011; const uint16_t profileID = 0xC105; - const TxStatus txStatus = xbee.send_data(RemoteDevice, dstEP, srcEP, clusterID, profileID, (const uint8_t *)message, data_len); - if (txStatus == TxStatusSuccess) - log_serial->printf("send_explicit_data_to_remote_node OK\r\n"); - else - log_serial->printf("send_explicit_data_to_remote_node failed with %d\r\n", (int) txStatus); + char data1[]="r"; + char data2[]="v"; + char data3[]="e"; + if (message ==0){ + const TxStatus txStatus = xbee.send_data(RemoteDevice, dstEP, srcEP, clusterID, profileID, (const uint8_t *)data1, strlen(data1)); + if (txStatus == TxStatusSuccess) + log_serial->printf("send_explicit_data_to_remote_node OK\r\n"); + else + log_serial->printf("send_explicit_data_to_remote_node failed with %d\r\n", (int) txStatus); + } + else if (message ==1){ + const TxStatus txStatus = xbee.send_data(RemoteDevice, dstEP, srcEP, clusterID, profileID, (const uint8_t *)data2, strlen(data2)); + if (txStatus == TxStatusSuccess) + log_serial->printf("send_explicit_data_to_remote_node OK\r\n"); + else + log_serial->printf("send_explicit_data_to_remote_node failed with %d\r\n", (int) txStatus); + } + else { + const TxStatus txStatus = xbee.send_data(RemoteDevice, dstEP, srcEP, clusterID, profileID, (const uint8_t *)data3, strlen(data3)); + if (txStatus == TxStatusSuccess) + log_serial->printf("send_explicit_data_to_remote_node OK\r\n"); + else + log_serial->printf("send_explicit_data_to_remote_node failed with %d\r\n", (int) txStatus); + } + + } @@ -120,10 +140,10 @@ //partie gestion des feux a mettre sur le coordinateur ///////////////////////////////////////////// if(i==10){ - send_explicit_data_to_remote_node(xbee, remoteDevice,rouge); + send_explicit_data_to_remote_node(xbee, remoteDevice,1); } if(i==20){ - send_explicit_data_to_remote_node(xbee, remoteDevice,vert); + send_explicit_data_to_remote_node(xbee, remoteDevice,0); i=0; } ////////////////////////////////////////////