Code APP3
Dependencies: mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial
Fork of APP3_Lab by
Diff: xbee.cpp
- Revision:
- 14:cd488eba8bba
- Parent:
- 12:1286b80c68f7
- Child:
- 15:c4d17caf0709
--- a/xbee.cpp Sun Oct 01 16:34:11 2017 +0000 +++ b/xbee.cpp Sun Oct 01 18:53:18 2017 +0000 @@ -27,18 +27,6 @@ //xbee_receive_led = 1; } - -bool set_pan_id(long pan_id) -{ - return false; -} - -long get_pan_id() -{ - return 0L; -} - - void build_api_frame_header(int frame_data_size) { // Delimiter @@ -231,10 +219,46 @@ transmit(3 + REMOTE_AT_OVERHEAD_LENGTH); } + +void at_command_query(char msb, char lsb) +{ + char command[2] = {msb, lsb}; + + build_api_frame_header(2 + REMOTE_AT_OVERHEAD_LENGTH); + + set_api_frame_type(ATCommand); + set_api_frame_id(0x01); + + set_transmit_data(7, command, 2); + + build_api_frame_checksum(2 + REMOTE_AT_OVERHEAD_LENGTH); + + transmit(2 + REMOTE_AT_OVERHEAD_LENGTH); +} + +void at_command_set(char msb, char lsb, char* parameter, int parameter_length) +{ + char command[2] = {msb, lsb}; + + build_api_frame_header(parameter_length + AT_COMMAND_OVERHEAD_LENGTH); + + set_api_frame_type(ATCommand); + set_api_frame_id(0x01); + + set_transmit_data(5, command, 2); + set_transmit_data(7, parameter, parameter_length); + + build_api_frame_checksum(parameter_length + AT_COMMAND_OVERHEAD_LENGTH); + + transmit(parameter_length + AT_COMMAND_OVERHEAD_LENGTH); +} + void transmit(int packet_length) { + //Serial pc(USBTX, USBRX); // tx, rx for (int i = 0; i < packet_length + 4; i++) { + //pc.printf(" 0x%x", TransmitBuffer[i]); xbee.putc(TransmitBuffer[i]); } xbee_transmit_led = !xbee_transmit_led; @@ -304,7 +328,6 @@ return finished_frame; } - /** * * // Calculate checksum