BA / SerialCom

Fork of OmniWheels by Gustav Atmel

Committer:
gustavatmel
Date:
Tue May 01 15:55:34 2018 +0000
Revision:
2:798925c9e4a8
Parent:
SerialServerRes.h@1:9c5af431a1f1
bluetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gustavatmel 1:9c5af431a1f1 1 /*
gustavatmel 1:9c5af431a1f1 2 * SerialServer.h
gustavatmel 1:9c5af431a1f1 3 * Copyright (c) 2017, ZHAW
gustavatmel 1:9c5af431a1f1 4 * All rights reserved.
gustavatmel 1:9c5af431a1f1 5 *
gustavatmel 1:9c5af431a1f1 6 * Created on: 05.06.2017
gustavatmel 1:9c5af431a1f1 7 * Author: Marcel Honegger
gustavatmel 1:9c5af431a1f1 8 */
gustavatmel 1:9c5af431a1f1 9
gustavatmel 2:798925c9e4a8 10 #ifndef SERIAL_COM_H_
gustavatmel 2:798925c9e4a8 11 #define SERIAL_COM_H_
gustavatmel 1:9c5af431a1f1 12
gustavatmel 1:9c5af431a1f1 13 #include <cstdlib>
gustavatmel 1:9c5af431a1f1 14 #include <string>
gustavatmel 1:9c5af431a1f1 15 #include <vector>
gustavatmel 1:9c5af431a1f1 16 #include <mbed.h>
gustavatmel 1:9c5af431a1f1 17 #include "Signal.h"
gustavatmel 1:9c5af431a1f1 18
gustavatmel 1:9c5af431a1f1 19 using namespace std;
gustavatmel 1:9c5af431a1f1 20
gustavatmel 1:9c5af431a1f1 21
gustavatmel 1:9c5af431a1f1 22
gustavatmel 1:9c5af431a1f1 23 /**
gustavatmel 1:9c5af431a1f1 24 * This class implements a communication server using a serial interface.
gustavatmel 1:9c5af431a1f1 25 */
gustavatmel 2:798925c9e4a8 26 class SerialCom {
gustavatmel 1:9c5af431a1f1 27
gustavatmel 1:9c5af431a1f1 28 public:
gustavatmel 1:9c5af431a1f1 29
gustavatmel 2:798925c9e4a8 30 SerialCom(RawSerial& serial);
gustavatmel 2:798925c9e4a8 31 virtual ~SerialCom();
gustavatmel 1:9c5af431a1f1 32
gustavatmel 1:9c5af431a1f1 33 private:
gustavatmel 1:9c5af431a1f1 34
gustavatmel 1:9c5af431a1f1 35 static const uint32_t STACK_SIZE = 2048 ; // stack size of thread, given in [bytes]
gustavatmel 1:9c5af431a1f1 36 static const float PERIOD; // the period of the timer interrupt, given in [s]
gustavatmel 1:9c5af431a1f1 37 static const char DELIM;
gustavatmel 1:9c5af431a1f1 38
gustavatmel 1:9c5af431a1f1 39 RawSerial& serial;
gustavatmel 1:9c5af431a1f1 40 string input;
gustavatmel 1:9c5af431a1f1 41 string output;
gustavatmel 1:9c5af431a1f1 42 vector<string> tokens;
gustavatmel 1:9c5af431a1f1 43 Signal signal;
gustavatmel 1:9c5af431a1f1 44 Thread thread;
gustavatmel 1:9c5af431a1f1 45 Ticker ticker;
gustavatmel 1:9c5af431a1f1 46 bool sendData;
gustavatmel 1:9c5af431a1f1 47 int runCount;
gustavatmel 1:9c5af431a1f1 48
gustavatmel 1:9c5af431a1f1 49 void sendSignal();
gustavatmel 1:9c5af431a1f1 50 void run();
gustavatmel 1:9c5af431a1f1 51 void splitString();
gustavatmel 1:9c5af431a1f1 52 };
gustavatmel 1:9c5af431a1f1 53
gustavatmel 2:798925c9e4a8 54 #endif /* SERIAL_COM_H_ */