|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- Extends the Serial class to encode SLIP over serial
- */
-
- #ifndef SLIPEncodedSerial_h
- #define SLIPEncodedSerial_h
-
-
- #include "Arduino.h"
- #include <Stream.h>
- #include <HardwareSerial.h>
-
-
- class SLIPEncodedSerial: public Stream{
-
- private:
- enum erstate {CHAR, FIRSTEOT, SECONDEOT, SLIPESC } rstate;
-
- //the serial port used
- HardwareSerial * serial;
-
-
- public:
-
- //the serial port used
- SLIPEncodedSerial(HardwareSerial & );
-
-
- int available();
- int read();
- int peek();
- void flush();
-
- //same as Serial.begin
- void begin(unsigned long);
-
- //SLIP specific method which begins a transmitted packet
- void beginPacket();
-
- //SLIP specific method which ends a transmittedpacket
- void endPacket();
- // SLIP specific method which indicates that an EOT was received
- bool endofPacket();
-
-
- //the arduino and wiring libraries have different return types for the write function
- #if defined(WIRING) || defined(BOARD_DEFS_H)
- void write(uint8_t b);
- void write(const uint8_t *buffer, size_t size);
-
- #else
- //overrides the Stream's write function to encode SLIP
- size_t write(uint8_t b);
- size_t write(const uint8_t *buffer, size_t size);
-
- //using Print::write;
- #endif
-
- };
-
-
- #endif
|