Own fork of C027_Support

Dependents:   MbedSmartRestMain MbedSmartRestMain

Fork of C027_Support by u-blox

Committer:
mazgch
Date:
Fri Jan 31 09:49:51 2014 +0000
Revision:
17:296d94a006b4
Parent:
16:4a7ba1887e81
Child:
18:e5697801df29
update with flow apis

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mazgch 0:cb2d45baaca3 1 #pragma once
mazgch 0:cb2d45baaca3 2
mazgch 2:b6012cd91657 3 #include "mbed.h"
mazgch 0:cb2d45baaca3 4 #include "Pipe.h"
mazgch 0:cb2d45baaca3 5
mazgch 15:5eda64e5b9d1 6 #define _SerialPipeBase SerialBase
mazgch 15:5eda64e5b9d1 7
mazgch 15:5eda64e5b9d1 8 class SerialPipe : public _SerialPipeBase
mazgch 0:cb2d45baaca3 9 {
mazgch 9:e7a5959ffae1 10 public:
mazgch 15:5eda64e5b9d1 11 SerialPipe(PinName tx, PinName rx, int rxSize = 128, int txSize = 128);
mazgch 17:296d94a006b4 12 SerialPipe(PinName tx, PinName rx, PinName rts, PinName cts, int rxSize = 128, int txSize = 128);
mazgch 9:e7a5959ffae1 13 virtual ~SerialPipe(void);
mazgch 9:e7a5959ffae1 14 // tx channel
mazgch 13:e2446fcdc246 15 int writeable(void);
mazgch 13:e2446fcdc246 16 int putc(int c); // blocking
mazgch 15:5eda64e5b9d1 17 int put(const void* buffer, int length, bool blocking);
mazgch 9:e7a5959ffae1 18 // rx channel
mazgch 9:e7a5959ffae1 19 int readable(void);
mazgch 13:e2446fcdc246 20 int getc(void); // blocking
mazgch 15:5eda64e5b9d1 21 int get(void* buffer, int length, bool blocking);
mazgch 13:e2446fcdc246 22 protected:
mazgch 9:e7a5959ffae1 23 void rxIrqBuf(void);
mazgch 9:e7a5959ffae1 24 void txIrqBuf(void);
mazgch 13:e2446fcdc246 25 void txStart(void);
mazgch 9:e7a5959ffae1 26 Pipe<char> _pipeRx;
mazgch 9:e7a5959ffae1 27 Pipe<char> _pipeTx;
mazgch 9:e7a5959ffae1 28 };
mazgch 0:cb2d45baaca3 29
mazgch 13:e2446fcdc246 30 // -----------------------------------------------------------------------
mazgch 9:e7a5959ffae1 31 #define WAIT -1
mazgch 9:e7a5959ffae1 32 #define NOT_FOUND 0
mazgch 9:e7a5959ffae1 33
mazgch 9:e7a5959ffae1 34 class SerialPipeEx : public SerialPipe
mazgch 9:e7a5959ffae1 35 {
mazgch 9:e7a5959ffae1 36 public:
mazgch 13:e2446fcdc246 37 int getLine(char* buffer, int length);
mazgch 14:69c3e57ef0f5 38 static int getLine(char* buffer, int length, Pipe<char>* pipe);
mazgch 16:4a7ba1887e81 39 int getResp(char* buffer, int length);
mazgch 16:4a7ba1887e81 40 static int getResp(char* buffer, int length, Pipe<char>* pipe);
mazgch 0:cb2d45baaca3 41 };