This is an experimental driver for the XBee 900 HP pro module's SPI connection. This driver is unfinished and stability is not guaranteed. Use with caution.

Dependents:   Sentinel_BASE Sentinel_NODE

Committer:
ottaviano3
Date:
Wed Apr 22 15:31:18 2015 +0000
Revision:
1:b97d46c5d7ce
Parent:
0:8c8a8244e590
Child:
2:7f4ddf710a44
fixed dout settings

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ottaviano3 0:8c8a8244e590 1 #ifndef XBEE900HP_H
ottaviano3 0:8c8a8244e590 2 #define XBEE900HP_H
ottaviano3 0:8c8a8244e590 3
ottaviano3 0:8c8a8244e590 4 #include "mbed.h"
ottaviano3 0:8c8a8244e590 5
ottaviano3 0:8c8a8244e590 6 /**
ottaviano3 0:8c8a8244e590 7 * Wrapper for the xBee 900 HP Module
ottaviano3 0:8c8a8244e590 8 */
ottaviano3 0:8c8a8244e590 9 class xbee900hp
ottaviano3 0:8c8a8244e590 10 {
ottaviano3 0:8c8a8244e590 11 public:
ottaviano3 0:8c8a8244e590 12
ottaviano3 0:8c8a8244e590 13 /**
ottaviano3 0:8c8a8244e590 14 * Initialize the xBee Module
ottaviano3 0:8c8a8244e590 15 */
ottaviano3 1:b97d46c5d7ce 16 xbee900hp(PinName pin_mosi,PinName pin_miso,PinName pin_sck,PinName pin_attn, PinName pin_rst);
ottaviano3 0:8c8a8244e590 17
ottaviano3 0:8c8a8244e590 18 /**
ottaviano3 0:8c8a8244e590 19 * Destructor
ottaviano3 0:8c8a8244e590 20 */
ottaviano3 0:8c8a8244e590 21 ~xbee900hp();
ottaviano3 0:8c8a8244e590 22
ottaviano3 0:8c8a8244e590 23 /**
ottaviano3 0:8c8a8244e590 24 * Subroutine to reset the xBee Module
ottaviano3 0:8c8a8244e590 25 */
ottaviano3 0:8c8a8244e590 26 void reset();
ottaviano3 0:8c8a8244e590 27
ottaviano3 0:8c8a8244e590 28 /**
ottaviano3 0:8c8a8244e590 29 * Send packet over spi to xBee for TX
ottaviano3 0:8c8a8244e590 30 */
ottaviano3 0:8c8a8244e590 31 void sendPacket(char* data, unsigned int length);
ottaviano3 0:8c8a8244e590 32
ottaviano3 1:b97d46c5d7ce 33 /**
ottaviano3 1:b97d46c5d7ce 34 * Write a setting value to the module
ottaviano3 1:b97d46c5d7ce 35 */
ottaviano3 1:b97d46c5d7ce 36 void writeSetting(char command[2], unsigned int value);
ottaviano3 1:b97d46c5d7ce 37
ottaviano3 0:8c8a8244e590 38 private:
ottaviano3 0:8c8a8244e590 39 // Setup pin input types.
ottaviano3 0:8c8a8244e590 40
ottaviano3 0:8c8a8244e590 41 // Reset
ottaviano3 0:8c8a8244e590 42 DigitalOut _pin_rst;
ottaviano3 1:b97d46c5d7ce 43 // Asert Pin Use Interrupts for Super Speed
ottaviano3 1:b97d46c5d7ce 44 InterruptIn _pin_attn;
ottaviano3 1:b97d46c5d7ce 45
ottaviano3 1:b97d46c5d7ce 46 void readDataISR();
ottaviano3 0:8c8a8244e590 47
ottaviano3 0:8c8a8244e590 48 // SPI
ottaviano3 0:8c8a8244e590 49 SPI _xbeespi;
ottaviano3 0:8c8a8244e590 50
ottaviano3 0:8c8a8244e590 51 };
ottaviano3 0:8c8a8244e590 52
ottaviano3 0:8c8a8244e590 53 #endif