test code megasquirt and digole lcd

Dependencies:   FatFileSystem mbed

Committer:
jpnovak
Date:
Fri Nov 27 16:32:41 2015 +0000
Revision:
0:7ea8f0d27a4f
test code megasquirt digole;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jpnovak 0:7ea8f0d27a4f 1 #pragma once
jpnovak 0:7ea8f0d27a4f 2
jpnovak 0:7ea8f0d27a4f 3 // This is a buffered serial reading class, using the serial interrupt introduced in mbed library version 18 on 17/11/09
jpnovak 0:7ea8f0d27a4f 4
jpnovak 0:7ea8f0d27a4f 5 // In the simplest case, construct it with a buffer size at least equal to the largest message you
jpnovak 0:7ea8f0d27a4f 6 // expect your program to receive in one go.
jpnovak 0:7ea8f0d27a4f 7
jpnovak 0:7ea8f0d27a4f 8 class SerialBuffered : public Serial
jpnovak 0:7ea8f0d27a4f 9 {
jpnovak 0:7ea8f0d27a4f 10 public:
jpnovak 0:7ea8f0d27a4f 11 SerialBuffered( size_t bufferSize, PinName tx, PinName rx );
jpnovak 0:7ea8f0d27a4f 12 virtual ~SerialBuffered();
jpnovak 0:7ea8f0d27a4f 13
jpnovak 0:7ea8f0d27a4f 14 int getc(); // will block till the next character turns up, or return -1 if there is a timeout
jpnovak 0:7ea8f0d27a4f 15
jpnovak 0:7ea8f0d27a4f 16 int readable(); // returns 1 if there is a character available to read, 0 otherwise
jpnovak 0:7ea8f0d27a4f 17
jpnovak 0:7ea8f0d27a4f 18 void setTimeout( float seconds ); // maximum time in seconds that getc() should block
jpnovak 0:7ea8f0d27a4f 19 // while waiting for a character
jpnovak 0:7ea8f0d27a4f 20 // Pass -1 to disable the timeout.
jpnovak 0:7ea8f0d27a4f 21
jpnovak 0:7ea8f0d27a4f 22 size_t readBytes( uint8_t *bytes, size_t requested ); // read requested bytes into a buffer,
jpnovak 0:7ea8f0d27a4f 23 // return number actually read,
jpnovak 0:7ea8f0d27a4f 24 // which may be less than requested if there has been a timeout
jpnovak 0:7ea8f0d27a4f 25
jpnovak 0:7ea8f0d27a4f 26
jpnovak 0:7ea8f0d27a4f 27 private:
jpnovak 0:7ea8f0d27a4f 28
jpnovak 0:7ea8f0d27a4f 29 void handleInterrupt();
jpnovak 0:7ea8f0d27a4f 30
jpnovak 0:7ea8f0d27a4f 31
jpnovak 0:7ea8f0d27a4f 32 uint8_t *m_buff; // points at a circular buffer, containing data from m_contentStart, for m_contentSize bytes, wrapping when you get to the end
jpnovak 0:7ea8f0d27a4f 33 uint16_t m_contentStart; // index of first bytes of content
jpnovak 0:7ea8f0d27a4f 34 uint16_t m_contentEnd; // index of bytes after last byte of content
jpnovak 0:7ea8f0d27a4f 35 uint16_t m_buffSize;
jpnovak 0:7ea8f0d27a4f 36 float m_timeout;
jpnovak 0:7ea8f0d27a4f 37 Timer m_timer;
jpnovak 0:7ea8f0d27a4f 38
jpnovak 0:7ea8f0d27a4f 39 };