From 8c3efb592b16b672fc353368c04d88d3a32cf1a2 Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Wed, 18 Jan 2012 18:02:10 +0000 Subject: updated previous demo to Arduino 1.0 --- arduino_libs/NewSoftSerial/NewSoftSerial.h | 107 ----------------------------- 1 file changed, 107 deletions(-) delete mode 100644 arduino_libs/NewSoftSerial/NewSoftSerial.h (limited to 'arduino_libs/NewSoftSerial/NewSoftSerial.h') diff --git a/arduino_libs/NewSoftSerial/NewSoftSerial.h b/arduino_libs/NewSoftSerial/NewSoftSerial.h deleted file mode 100644 index 1e39201..0000000 --- a/arduino_libs/NewSoftSerial/NewSoftSerial.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -NewSoftSerial.h - Multi-instance software serial library -Copyright (c) 2006 David A. Mellis. All rights reserved. --- Interrupt-driven receive and other improvements by ladyada --- Tuning, circular buffer, derivation from class Print, - multi-instance support, porting to 8MHz processors, - various optimizations, PROGMEM delay tables, inverse logic and - direct port writing by Mikal Hart - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -The latest version of this library can always be found at -http://arduiniana.org. -*/ - -#ifndef NewSoftSerial_h -#define NewSoftSerial_h - -#include -#include "Print.h" - -/****************************************************************************** -* Definitions -******************************************************************************/ - -#define _NewSS_MAX_RX_BUFF 64 // RX buffer size -#define _NewSS_VERSION 10 // software version of this library -#ifndef GCC_VERSION -#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -#endif - -class NewSoftSerial : public Print -{ -private: - // per object data - uint8_t _receivePin; - uint8_t _receiveBitMask; - volatile uint8_t *_receivePortRegister; - uint8_t _transmitBitMask; - volatile uint8_t *_transmitPortRegister; - - uint16_t _rx_delay_centering; - uint16_t _rx_delay_intrabit; - uint16_t _rx_delay_stopbit; - uint16_t _tx_delay; - - uint16_t _buffer_overflow:1; - uint16_t _inverse_logic:1; - - // static data - static char _receive_buffer[_NewSS_MAX_RX_BUFF]; - static volatile uint8_t _receive_buffer_tail; - static volatile uint8_t _receive_buffer_head; - static NewSoftSerial *active_object; - - // private methods - void recv(); - bool activate(); - virtual void write(uint8_t byte); - uint8_t rx_pin_read(); - void tx_pin_write(uint8_t pin_state); - void setTX(uint8_t transmitPin); - void setRX(uint8_t receivePin); - - // private static method for timing - static inline void tunedDelay(uint16_t delay); - -public: - // public methods - NewSoftSerial(uint8_t receivePin, uint8_t transmitPin, bool inverse_logic = false); - ~NewSoftSerial(); - void begin(long speed); - void end(); - int read(); - uint8_t available(void); - bool active() { return this == active_object; } - bool overflow() { bool ret = _buffer_overflow; _buffer_overflow = false; return ret; } - static int library_version() { return _NewSS_VERSION; } - static void enable_timer0(bool enable); - void flush(); - - // public only for easy access by interrupt handlers - static inline void handle_interrupt(); -}; - -// Arduino 0012 workaround -#undef int -#undef char -#undef long -#undef byte -#undef float -#undef abs -#undef round - -#endif -- cgit v1.2.3