Chris Pepper / Mbed 2 deprecated SimpleSerialProtocolExample

Dependencies:   mbed SimpleSerialProtocol MODSERIAL

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?

UserRevisionLine numberNew 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