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.
Dependencies: mbed SimpleSerialProtocol MODSERIAL
TestProtocol.h@9:81ea54f202e9, 2012-07-29 (annotated)
- Committer:
- p3p
- Date:
- Sun Jul 29 19:38:22 2012 +0000
- Revision:
- 9:81ea54f202e9
- Parent:
- 3:8ac7e37d0e0e
- Child:
- 10:f6862abba2d5
fix
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| p3p | 2:8799090c0fe4 | 1 | #ifndef _TEST_PROTOCOL_H | 
| p3p | 2:8799090c0fe4 | 2 | #define _TEST_PROTOCOL_H | 
| p3p | 2:8799090c0fe4 | 3 | |
| p3p | 2:8799090c0fe4 | 4 | #include <mbed.h> | 
| p3p | 2:8799090c0fe4 | 5 | #include <SimpleSerialProtocol/Protocol.h> | 
| p3p | 2:8799090c0fe4 | 6 | |
| p3p | 2:8799090c0fe4 | 7 | //class will receive a packet and echo it back out | 
| p3p | 2:8799090c0fe4 | 8 | class TestProtocol : public SimpleSerialProtocol::Protocol { | 
| p3p | 2:8799090c0fe4 | 9 | public: | 
| p3p | 2:8799090c0fe4 | 10 | TestProtocol() : Protocol(p9, p10, NC) { //LED1 to 4 for a status led, NC to disable | 
| p3p | 3:8ac7e37d0e0e | 11 | receiveCallback(1, this, &TestProtocol::onEchoPacket); | 
| p3p | 2:8799090c0fe4 | 12 | } | 
| p3p | 2:8799090c0fe4 | 13 | virtual ~TestProtocol() {}; | 
| p3p | 3:8ac7e37d0e0e | 14 | void onEchoPacket(SimpleSerialProtocol::Packet* packet); | 
| p3p | 2:8799090c0fe4 | 15 | void reply(); | 
| p3p | 2:8799090c0fe4 | 16 | |
| p3p | 2:8799090c0fe4 | 17 | class EchoPacket : public SimpleSerialProtocol::Packet { | 
| p3p | 2:8799090c0fe4 | 18 | public: | 
| p3p | 2:8799090c0fe4 | 19 | EchoPacket() {} | 
| p3p | 2:8799090c0fe4 | 20 | virtual ~EchoPacket() {} | 
| p3p | 2:8799090c0fe4 | 21 | |
| p3p | 2:8799090c0fe4 | 22 | #pragma pack(push, 1) //must pack the structure to byte boundary for raw recast to work reliably | 
| p3p | 2:8799090c0fe4 | 23 | struct Interface { | 
| p3p | 2:8799090c0fe4 | 24 | Interface() { | 
| p3p | 2:8799090c0fe4 | 25 | type = 1; // initialise the type | 
| p3p | 2:8799090c0fe4 | 26 | } | 
| p3p | 2:8799090c0fe4 | 27 | uint8_t type; | 
| p3p | 2:8799090c0fe4 | 28 | uint8_t data; | 
| p3p | 2:8799090c0fe4 | 29 | uint16_t datashort; | 
| p3p | 2:8799090c0fe4 | 30 | uint32_t dataint; | 
| p3p | 2:8799090c0fe4 | 31 | float datafloat; | 
| p3p | 2:8799090c0fe4 | 32 | } interface; | 
| p3p | 2:8799090c0fe4 | 33 | #pragma pack(pop) | 
| p3p | 2:8799090c0fe4 | 34 | |
| p3p | 2:8799090c0fe4 | 35 | }; | 
| p3p | 2:8799090c0fe4 | 36 | |
| p3p | 2:8799090c0fe4 | 37 | uint8_t temp; | 
| p3p | 2:8799090c0fe4 | 38 | short temp1; | 
| p3p | 2:8799090c0fe4 | 39 | int temp2; | 
| p3p | 2:8799090c0fe4 | 40 | float temp3; | 
| p3p | 2:8799090c0fe4 | 41 | }; | 
| p3p | 2:8799090c0fe4 | 42 | |
| p3p | 2:8799090c0fe4 | 43 | #endif |