Library for HopeRF RFM22 / RFM22B transceiver module ported to mbed. Original Software from Mike McCauley (mikem@open.com.au) . See http://www.open.com.au/mikem/arduino/RF22/
Dependents: RF22_MAX_test_Send Geofence_receiver Geofence_sender Geofence_sender ... more
More Info about RFM22-modules like connecting and a demo-program see RF22-Notebook
RF22Datagram.cpp
- Committer:
- charly
- Date:
- 2013-03-02
- Revision:
- 5:0386600f3408
- Parent:
- 0:79c6d0071c4c
File content as of revision 5:0386600f3408:
// RF22Datagram.cpp // // Copyright (C) 2011 Mike McCauley // $Id: RF22Datagram.cpp,v 1.3 2012/05/30 01:50:21 mikem Exp $ // ported to mbed by Karl Zweimueller #include <RF22Datagram.h> //#include <SPI.h> RF22Datagram::RF22Datagram(uint8_t thisAddress, PinName slaveSelectPin , PinName mosi, PinName miso, PinName sclk, PinName interrupt ) : RF22(slaveSelectPin , mosi, miso, sclk, interrupt ) { _thisAddress = thisAddress; } //////////////////////////////////////////////////////////////////// // Public methods boolean RF22Datagram::init() { boolean ret = this->RF22::init(); if (ret) setThisAddress(_thisAddress); return ret; } void RF22Datagram::setThisAddress(uint8_t thisAddress) { _thisAddress = thisAddress; // Check the TO header against RF22_DEFAULT_NODE_ADDRESS spiWrite(RF22_REG_3F_CHECK_HEADER3, _thisAddress); // Use this address in the transmitted FROM header setHeaderFrom(_thisAddress); } boolean RF22Datagram::sendto(uint8_t* buf, uint8_t len, uint8_t address) { setHeaderTo(address); return send(buf, len); } boolean RF22Datagram::recvfrom(uint8_t* buf, uint8_t* len, uint8_t* from, uint8_t* to, uint8_t* id, uint8_t* flags) { if (recv(buf, len)) { if (from) *from = headerFrom(); if (to) *to = headerTo(); if (id) *id = headerId(); if (flags) *flags = headerFlags(); return true; } return false; }