summaryrefslogtreecommitdiff
path: root/xbee.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbee.h')
-rw-r--r--xbee.h49
1 files changed, 2 insertions, 47 deletions
diff --git a/xbee.h b/xbee.h
index f868972..59cf0cb 100644
--- a/xbee.h
+++ b/xbee.h
@@ -1,53 +1,8 @@
#ifndef XBEE_H
#define XBEE_H
-#include "mutex.h"
+#include <stdint.h>
-Mutex xbm;
-
-void xbee_send(uint16_t type, int len, const uint8_t* buf) {
- xbm.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);
-
- xbm.unlock();
-}
+void xbee_send(uint16_t type, int len, const uint8_t* buf);
#endif