C027 の mbes os 5 での動作を確認しました。 I confirmed the operation at mbes os 5 of C 027.

Fork of C027_Support by u-blox

SerialPipe.h

Committer:
mazgch
Date:
2014-01-31
Revision:
17:296d94a006b4
Parent:
16:4a7ba1887e81
Child:
18:e5697801df29

File content as of revision 17:296d94a006b4:

#pragma once 

#include "mbed.h"
#include "Pipe.h"

#define _SerialPipeBase SerialBase

class SerialPipe : public _SerialPipeBase
{
public:
    SerialPipe(PinName tx, PinName rx, int rxSize = 128, int txSize = 128);
    SerialPipe(PinName tx, PinName rx, PinName rts, PinName cts, int rxSize = 128, int txSize = 128);
    virtual ~SerialPipe(void);
    // tx channel
    int writeable(void);
    int putc(int c); // blocking
    int put(const void* buffer, int length, bool blocking);
    // rx channel
    int readable(void);
    int getc(void); // blocking
    int get(void* buffer, int length, bool blocking);
protected:
    void rxIrqBuf(void);
    void txIrqBuf(void);
    void txStart(void);
    Pipe<char> _pipeRx;
    Pipe<char> _pipeTx;
};

// -----------------------------------------------------------------------
#define WAIT      -1
#define NOT_FOUND  0

class SerialPipeEx : public SerialPipe
{
public:
    int getLine(char* buffer, int length);
    static int getLine(char* buffer, int length, Pipe<char>* pipe);
    int getResp(char* buffer, int length);
    static int getResp(char* buffer, int length, Pipe<char>* pipe);
};