Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: XBeeZB_Receive_Data
Fork of XBeeLib by
FrameHandlers/FH_RxPacketDM.h
- Committer:
- Lorenzo Maiorfi
- Date:
- 2018-04-08
- Revision:
- 13:09e0b4f5a9e1
- Parent:
- 6:06522f3a6642
File content as of revision 13:09e0b4f5a9e1:
/**
* Copyright (c) 2015 Digi International Inc.,
* All rights not expressly granted are reserved.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
* =======================================================================
*/
#if !defined(__FH_RX_PACKET_DM_H_)
#define __FH_RX_PACKET_DM_H_
#include "FrameHandler.h"
#include "RemoteXBee/RemoteXBee.h"
namespace XBeeLib {
/**
* @defgroup callback_types "Callback types declaration"
* @{
*/
/** receive callback type declaration
* @param remote the remote module that sent the data
* @param broadcast a boolean to tell if the message was broadcast (true) or unicast (false)
* @param data a pointer to data sent by @b remote.
* @param len length (in bytes) of @b data buffer
*/
typedef void (*receive_dm_cb_t)(const RemoteXBeeDM& remote, bool broadcast, const uint8_t *const data, uint16_t len);
/**
* @}
*/
class FH_RxPacketDM : public FrameHandler
{
private:
/** Callback function, invoked if registered */
receive_dm_cb_t receive_cb;
public:
/** Class constructor */
FH_RxPacketDM();
/** Class destructor */
virtual ~FH_RxPacketDM();
/** Method called by the stack to process the modem status frame data
\param frame pointer pointing to api frame that must be processed */
virtual void process_frame_data(const ApiFrame* const frame);
void register_receive_cb(receive_dm_cb_t function);
void unregister_receive_cb();
};
} /* namespace XBeeLib */
#endif /* __FH_RX_PACKET_DM_H_ */
