Class to communicate with ELV(R) MAX! wireless devices with RFM22B-Modules. Based on Library RF22. Initial version unable to send! Only receive! See http://mbed.org/users/charly/notebook/reading-a-max-wireless-window-sensor-with-rfm22-an/
Dependents: RF22_MAX_test_Send
Diff: RF22Max.h
- Revision:
- 2:f75e51ce001b
- Parent:
- 1:6321e6784ada
--- a/RF22Max.h Wed Sep 18 20:03:26 2013 +0000 +++ b/RF22Max.h Tue Oct 22 19:41:52 2013 +0000 @@ -113,15 +113,19 @@ boolean init(); /// start receiver and see if a valid MAX!-message is available and return it undecoded to the caller + /// /// nonblocking - /// check crc and do dewithening + /// + /// do NOT check crc and DO dewithening /// \param[in] buf Location to copy the received message /// \param[in,out] len Pointer to available space in buf(copies maximum len bytes!). Set to the actual number of octets copied. /// \return true if a valid message was copied to buf boolean recv(uint8_t* buf, uint8_t* len); /// start receiver and see if a valid MAX!-message is available and return the decoded message to the caller + /// /// nonblocking + /// /// check crc and do dewithening and do decoding of fields /// \param[in] message A pointer to a RF22Max::max_message /// \return true if a valid message was copied to buf @@ -134,10 +138,14 @@ void printHex(uint8_t *buf, size_t len, bool nl); #endif + /// calc_crc_setup setup crc-calculation uint16_t calc_crc_step(uint8_t crcData, uint16_t crcReg); - - /// calc_crc calculate crc for the data in buf + +public: + /// calculate crc for the data in buf with len + /// \param[in] buf message to calculate crc for + /// \param[in,out] len of message uint16_t calc_crc(uint8_t *buf, size_t len);