diff --git a/EasyTransfer/EasyTransfer.cpp b/EasyTransfer/EasyTransfer.cpp index f2d56f6..7842744 100644 --- a/EasyTransfer/EasyTransfer.cpp +++ b/EasyTransfer/EasyTransfer.cpp @@ -1,14 +1,20 @@ #include "EasyTransfer.h" - - - -//Captures address and size of struct +#if defined(CORE_TEENSY) +void EasyTransfer::begin(uint8_t * ptr, uint8_t length, usb_serial_class *theStream){ +#elif defined(SoftwareSerial_h) +void EasyTransfer::begin(uint8_t * ptr, uint8_t length, SoftSerial *theStream){ +#elif defined(__AVR_ATmega32U4__) +void EasyTransfer::begin(uint8_t * ptr, uint8_t length, Serial_ *theStream){ +#else void EasyTransfer::begin(uint8_t * ptr, uint8_t length, Stream *theStream){ +#endif +//Captures address and size of struct address = ptr; size = length; + _stream = theStream; - + //dynamic creation of rx parsing buffer in RAM rx_buffer = (uint8_t*) malloc(size); } diff --git a/EasyTransfer/EasyTransfer.h b/EasyTransfer/EasyTransfer.h index d5c3705..e9181f7 100644 --- a/EasyTransfer/EasyTransfer.h +++ b/EasyTransfer/EasyTransfer.h @@ -35,7 +35,9 @@ GNU General Public License for more details. #include "WProgram.h" #endif #include "Stream.h" -//#include +#if !defined(CORE_TEENSY) +#include +#endif #include #include #include @@ -43,13 +45,29 @@ GNU General Public License for more details. class EasyTransfer { public: -void begin(uint8_t *, uint8_t, Stream *theStream); -//void begin(uint8_t *, uint8_t, NewSoftSerial *theSerial); +#if defined(CORE_TEENSY) +void begin(uint8_t *, uint8_t, usb_serial_class *theStream); +#elif defined(SoftwareSerial_h) +void begin(uint8_t *, uint8_t, SoftSerial *theStream); +#elif defined(__AVR_ATmega32U4__) +void begin(uint8_t *, uint8_t, Serial_ *theStream); +#else + void begin(uint8_t *, uint8_t, Stream *theStream); +#endif + void sendData(); boolean receiveData(); private: +#if defined(CORE_TEENSY) +usb_serial_class *_stream; +#elif defined(SoftwareSerial_h) +SoftSerial *_stream; +#elif defined(__AVR_ATmega32U4__) +Serial_ *_stream; +#else Stream *_stream; -//NewSoftSerial *_serial; +#endif + uint8_t * address; //address of struct uint8_t size; //size of struct uint8_t * rx_buffer; //address for temporary storage and parsing buffer