//#include //#include //#include "common.h" //#include "Com.h" //#include "usart.h" ///*Manage Trame Reception*/ ///*Local Variable*/ //uint8_t Rx[XBEE_TRAME_MAX_SIZE]; //int xbee_frame_counter=1; ///*Local prototype*/ //void wait_untilData(ST_XBEE_FRAME * FRAME); ///*Function definition*/ //short get_whole_trame(char* BufferRx, uint8_t *sizeTrame){ // // Init // uint8_t dmaCnt = XBEE_TRAME_MAX_SIZE -__HAL_DMA_GET_COUNTER(&hdma_usart1_rx); // uint8_t i,j,k; // uint8_t indexTrame=0; // union xbee_length{ // uint16_t u16; // uint8_t u8[2]; // }; // union xbee_length length; // //Copy last trame update ? // // //Traitement // // // SEARCH FOR TRAME START DELIMITER // for(i=0; Rx[i] != XBEE_START_DELIMITER;i++){ // if(dmaCnt Xbee Transmit Request (0x01)\n\r\tAddress = 0x\n\r\tLength = \n\r\tData = \n\r")+20); // // if (string_out != 0) // { // sprintf (string_out, "=> Xbee Transmit Request (0x01)\n\r\tAddress = 0x%04X\n\r\tLength = %i\n\r\tData = %s\n\r",address, strlen(str), str); // // for (i=0; iapiCmd = xbee_frame_buffer[3]; // // if (frame->apiCmd ==0x89) /* transmit frame status */ // { // frame->status = xbee_frame_buffer[5]; // // if ((frame->status<0) && (frame->status>4)) return XBEE_INVALID_FRAME; // } // else if (frame->apiCmd ==0x81) /* 16-bit address receive frame */ // { // frame->address = (int)((int)(xbee_frame_buffer[4])<<8) + (int)xbee_frame_buffer[5]; // // frame->rssi = (int)xbee_frame_buffer[6]; // frame->options = (int)xbee_frame_buffer[7]; // // if ((frame->options<0) && (frame->options>2)) return XBEE_INVALID_FRAME; // // /* Recopie la pdu */ // for (i=0; i<(length-5); i++) // { // frame->data[i] = xbee_frame_buffer[8+i]; // } // // frame->data[i] = 0x0; // frame->data_length=i; // } // else status = XBEE_INVALID_FRAME; // // return status; //} //int xbee_send_data(int addr_destination, char *str) //{ //int status = XBEE_SUCCESS; // int i; // int buffer_length; //ST_XBEE_FRAME frame; // ST_XBEE_FRAME FRAME; // #ifdef __DEBUG__ // xbee_debug_send(addr_destination, str); // #endif /* __DEBUG__ */ // // /* Allocation d'un buffer suffisant */ // char buffer[strlen(str)+9]; // char * buffer_esc; // // if (*buffer == 0x0) return XBEE_SEND_FAILED; // if ((addr_destination>0xFFFF) || (addr_destination<0)) return XBEE_INVALID_ADDRESS; // // /* Remplissage du buffer */ // buffer[0] = 0x7E; // buffer[1] = 0; // buffer[2] = strlen(str)+5; // buffer[3] = 0x01; // buffer[4] = xbee_frame_counter; // // xbee_frame_counter++; // if (xbee_frame_counter>255) xbee_frame_counter=1; // buffer[5] = addr_destination>>8; // buffer[6] = addr_destination&0xFF; // buffer[7] = 0x0; // // for (i=0; i No ACK */ // //return -1; // // free (buffer_esc); /* On libere le buffer avant de partir */ // // return status; // return 0; //}