diff options
Diffstat (limited to 'xbee.cpp')
-rw-r--r-- | xbee.cpp | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/xbee.cpp b/xbee.cpp deleted file mode 100644 index efee619..0000000 --- a/xbee.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include "xbee.h" - -#include "usart.h" -#include "mutex.h" - -Mutex xbee_mutex; - -void xbee_send(uint16_t type, int len, const uint8_t* buf) { - xbee_mutex.lock(); - - // Start and length. - usart_send(0x7e); - usart_send(((len + 16) >> 8) & 0xff); - usart_send((len + 16) & 0xff); - - // Frame type and ID. - usart_send(0x10); - usart_send(0x01); - - // Destination address. - usart_send(0x00); - usart_send(0x13); - usart_send(0xa2); - usart_send(0x00); - usart_send(0x40); - usart_send(0x6f); - usart_send(0x19); - usart_send(0xf1); - - usart_send(0xff); - usart_send(0xfe); - usart_send(0x00); - usart_send(0x00); - - uint8_t chsum = 0x83; - - usart_send(type & 0xff); - chsum -= type & 0xff; - usart_send(type >> 8); - chsum -= type >> 8; - - // Payload - for(int i = 0; i < len; i++) { - usart_send(buf[i]); - chsum -= buf[i]; - } - - usart_send(chsum); - - xbee_mutex.unlock(); -} |