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.
Fork of XBeeLib by
FrameHandlers/FH_RxPacket802.h@3:8662ebe83570, 2015-05-18 (annotated)
- Committer:
- spastor
- Date:
- Mon May 18 13:16:55 2015 +0200
- Revision:
- 3:8662ebe83570
- Parent:
- 0:fcaad0dfa051
- Child:
- 4:629712865107
Automatic upload
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
spastor | 0:fcaad0dfa051 | 1 | /** |
spastor | 0:fcaad0dfa051 | 2 | * Copyright (c) 2015 Digi International Inc., |
spastor | 0:fcaad0dfa051 | 3 | * All rights not expressly granted are reserved. |
spastor | 0:fcaad0dfa051 | 4 | * |
spastor | 0:fcaad0dfa051 | 5 | * This Source Code Form is subject to the terms of the Mozilla Public |
spastor | 0:fcaad0dfa051 | 6 | * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
spastor | 0:fcaad0dfa051 | 7 | * You can obtain one at http://mozilla.org/MPL/2.0/. |
spastor | 0:fcaad0dfa051 | 8 | * |
spastor | 0:fcaad0dfa051 | 9 | * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 |
spastor | 0:fcaad0dfa051 | 10 | * ======================================================================= |
spastor | 0:fcaad0dfa051 | 11 | */ |
spastor | 0:fcaad0dfa051 | 12 | |
spastor | 0:fcaad0dfa051 | 13 | #if !defined(__FH_RX_PACKET_802_H_) |
spastor | 0:fcaad0dfa051 | 14 | #define __FH_RX_PACKET_802_H_ |
spastor | 0:fcaad0dfa051 | 15 | |
spastor | 0:fcaad0dfa051 | 16 | #include "FrameHandler.h" |
spastor | 0:fcaad0dfa051 | 17 | #include "RemoteXBee/RemoteXBee.h" |
spastor | 0:fcaad0dfa051 | 18 | |
spastor | 0:fcaad0dfa051 | 19 | namespace XBeeLib { |
spastor | 0:fcaad0dfa051 | 20 | |
spastor | 0:fcaad0dfa051 | 21 | /** |
spastor | 0:fcaad0dfa051 | 22 | * @defgroup callback_types "Callback types declaration" |
spastor | 0:fcaad0dfa051 | 23 | * @{ |
spastor | 0:fcaad0dfa051 | 24 | */ |
spastor | 0:fcaad0dfa051 | 25 | /** receive callback type declaration |
spastor | 0:fcaad0dfa051 | 26 | * @param remote the remote module that sent the data |
spastor | 0:fcaad0dfa051 | 27 | * @param broadcast a boolean to tell if the message was broadcast (true) or unicast (false) |
spastor | 0:fcaad0dfa051 | 28 | * @param data a pointer to data sent by @b remote. |
spastor | 0:fcaad0dfa051 | 29 | * @param len length (in bytes) of @b data buffer |
spastor | 0:fcaad0dfa051 | 30 | */ |
spastor | 0:fcaad0dfa051 | 31 | typedef void (*receive_802_cb_t)(const RemoteXBee802& remote, bool broadcast, const uint8_t *const data, uint16_t len); |
spastor | 0:fcaad0dfa051 | 32 | /** |
spastor | 0:fcaad0dfa051 | 33 | * @} |
spastor | 0:fcaad0dfa051 | 34 | */ |
spastor | 0:fcaad0dfa051 | 35 | |
spastor | 0:fcaad0dfa051 | 36 | class FH_RxPacket64b802 : public FrameHandler |
spastor | 0:fcaad0dfa051 | 37 | { |
spastor | 0:fcaad0dfa051 | 38 | private: |
spastor | 0:fcaad0dfa051 | 39 | /** Callback function, invoked if registered */ |
spastor | 0:fcaad0dfa051 | 40 | receive_802_cb_t receive_cb; |
spastor | 0:fcaad0dfa051 | 41 | |
spastor | 0:fcaad0dfa051 | 42 | public: |
spastor | 0:fcaad0dfa051 | 43 | /** Class constructor */ |
spastor | 0:fcaad0dfa051 | 44 | FH_RxPacket64b802(); |
spastor | 0:fcaad0dfa051 | 45 | |
spastor | 0:fcaad0dfa051 | 46 | /** Class destructor */ |
spastor | 0:fcaad0dfa051 | 47 | virtual ~FH_RxPacket64b802(); |
spastor | 0:fcaad0dfa051 | 48 | |
spastor | 0:fcaad0dfa051 | 49 | /** */ |
spastor | 0:fcaad0dfa051 | 50 | virtual void process_frame_data(const ApiFrame* const frame); |
spastor | 0:fcaad0dfa051 | 51 | |
spastor | 0:fcaad0dfa051 | 52 | /** */ |
spastor | 0:fcaad0dfa051 | 53 | virtual void register_receive_cb(receive_802_cb_t function); |
spastor | 0:fcaad0dfa051 | 54 | |
spastor | 0:fcaad0dfa051 | 55 | /** */ |
spastor | 0:fcaad0dfa051 | 56 | virtual void unregister_receive_cb(); |
spastor | 0:fcaad0dfa051 | 57 | }; |
spastor | 0:fcaad0dfa051 | 58 | |
spastor | 0:fcaad0dfa051 | 59 | class FH_RxPacket16b802 : public FrameHandler |
spastor | 0:fcaad0dfa051 | 60 | { |
spastor | 0:fcaad0dfa051 | 61 | private: |
spastor | 0:fcaad0dfa051 | 62 | /** Callback function, invoked if registered */ |
spastor | 0:fcaad0dfa051 | 63 | receive_802_cb_t receive_cb; |
spastor | 0:fcaad0dfa051 | 64 | |
spastor | 0:fcaad0dfa051 | 65 | public: |
spastor | 0:fcaad0dfa051 | 66 | /** Class constructor */ |
spastor | 0:fcaad0dfa051 | 67 | FH_RxPacket16b802(); |
spastor | 0:fcaad0dfa051 | 68 | |
spastor | 0:fcaad0dfa051 | 69 | /** Class destructor */ |
spastor | 0:fcaad0dfa051 | 70 | virtual ~FH_RxPacket16b802(); |
spastor | 0:fcaad0dfa051 | 71 | |
spastor | 0:fcaad0dfa051 | 72 | /** */ |
spastor | 0:fcaad0dfa051 | 73 | virtual void process_frame_data(const ApiFrame *const frame); |
spastor | 0:fcaad0dfa051 | 74 | |
spastor | 0:fcaad0dfa051 | 75 | /** */ |
spastor | 0:fcaad0dfa051 | 76 | virtual void register_receive_cb(receive_802_cb_t function); |
spastor | 0:fcaad0dfa051 | 77 | |
spastor | 0:fcaad0dfa051 | 78 | /** */ |
spastor | 0:fcaad0dfa051 | 79 | virtual void unregister_receive_cb(); |
spastor | 0:fcaad0dfa051 | 80 | }; |
spastor | 0:fcaad0dfa051 | 81 | |
spastor | 0:fcaad0dfa051 | 82 | } /* namespace XBeeLib */ |
spastor | 0:fcaad0dfa051 | 83 | |
spastor | 0:fcaad0dfa051 | 84 | #endif /* __FH_RX_PACKET_802_H_ */ |