rssi test for 915

Fork of libmDot by MultiTech

Files at this revision

API Documentation at this revision

Comitter:
Mike Fiore
Date:
Thu Sep 10 13:16:42 2015 -0500
Parent:
8:57978a837b2d
Child:
10:0b4eb17d07ae
Commit message:
update README, move files into new directory structure

Changed in this revision

MTS-Utils/MTSCircularBuffer.h Show annotated file Show diff for this revision Revisions of this file
MTS-Utils/MTSLog.h Show annotated file Show diff for this revision Revisions of this file
MTS-Utils/MTSText.h Show annotated file Show diff for this revision Revisions of this file
MTS-Utils/Utils.h Show annotated file Show diff for this revision Revisions of this file
MTSCircularBuffer.h Show diff for this revision Revisions of this file
MTSLog.h Show diff for this revision Revisions of this file
MTSText.h Show diff for this revision Revisions of this file
README.txt Show annotated file Show diff for this revision Revisions of this file
Utils.h Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MTS-Utils/MTSCircularBuffer.h	Thu Sep 10 13:16:42 2015 -0500
@@ -0,0 +1,165 @@
+/************************************************
+ * MultiTech MTDOT Library
+ * Copyright (c) 2015 MultiTech Systems
+ *
+ * See LICENSE file for license information
+ ***********************************************/
+
+#ifndef MTSCIRCULARBUFFER_H
+#define MTSCIRCULARBUFFER_H
+
+#include "Utils.h"
+
+namespace mts
+{
+
+/** This class provides a circular byte buffer meant for temporary storage
+* during IO transactions.  It contains many of the common methods you
+* would expect from a circular buffer like read, write, and various
+* methods for checking the size or status.  It should be noted that
+* this class does not include any special code for thread safety like
+* a lock.  In most cases this is not problematic, but is something
+* to be aware of.
+*/
+class MTSCircularBuffer
+{
+public:
+    /** Creates an MTSCircularBuffer object with the specified static size.
+    *
+    * @prarm bufferSize size of the buffer in bytes.
+    */
+    MTSCircularBuffer(int bufferSize);
+
+    /** Destructs an MTSCircularBuffer object and frees all related resources.
+    */
+    ~MTSCircularBuffer();
+
+    /** This method enables bulk reads from the buffer.  If more data is
+    * requested then available it simply returns all remaining data within the
+    * buffer.
+    *
+    * @param data the buffer where data read will be added to.
+    * @param length the amount of data in bytes to be read into the buffer.
+    * @returns the total number of bytes that were read.
+    */
+    int read(char* data, int length);
+
+    /** This method reads a single byte from the buffer.
+    *
+    * @param data char where the read byte will be stored.
+    * @returns 1 if byte is read or 0 if no bytes available.
+    */
+    int read(char& data);
+
+    /** This method enables bulk writes to the buffer. If more data
+    * is requested to be written then space available the method writes
+    * as much data as possible and returns the actual amount written.
+    *
+    * @param data the byte array to be written.
+    * @param length the length of data to be written from the data paramter.
+    * @returns the number of bytes written to the buffer, which is 0 if
+    * the buffer is full.
+    */
+    int write(const char* data, int length);
+
+    /** This method writes a signle byte as a char to the buffer.
+    *
+    * @param data the byte to be written as a char.
+    * @returns 1 if the byte was written or 0 if the buffer was full.
+    */
+    int write(char data);
+
+    /** This method is used to setup a callback funtion when the buffer reaches
+    * a certain threshold. The threshold condition is checked after every read
+    * and write call is completed. The condition is made up of both a threshold
+    * value and operator. An example that would trigger a callback is if the
+    * threshold was 10, the operator GREATER, and there were 12 bytes added to an
+    * empty buffer.
+    *
+    * @param tptr a pointer to the object to be called when the condition is met.
+    * @param mptr a pointer to the function within the object to be called when
+    * the condition is met.
+    * @param threshold the value in bytes to be used as part of the condition.
+    * @param op the operator to be used in conjunction with the threshold
+    * as part of the condition.
+    */
+    template<typename T>
+    void attach(T *tptr, void( T::*mptr)(void), int threshold, RelationalOperator op) {
+        _threshold = threshold;
+        _op = op;
+        notify.attach(tptr, mptr);
+    }
+
+    /** This method is used to setup a callback funtion when the buffer reaches
+    * a certain threshold. The threshold condition is checked after every read
+    * and write call is completed. The condition is made up of both a threshold
+    * value and operator. An example that would trigger a callback is if the
+    * threshold was 10, the operator GREATER, and there were 12 bytes added to an
+    * empty buffer.
+    *
+    * @param fptr a pointer to the static function to be called when the condition
+    * is met.
+    * @param threshold the value in bytes to be used as part of the condition.
+    * @param op the operator to be used in conjunction with the threshold
+    * as part of the condition.
+    */
+    void attach(void(*fptr)(void), int threshold, RelationalOperator op) {
+        _threshold = threshold;
+        _op = op;
+        notify.attach(fptr);
+    }
+
+    /** This method returns the size of the storage space currently allocated for
+    * the buffer. This value is equivalent to the one passed into the constructor.
+    * This value is equal or greater than the size() of the buffer.
+    *
+    * @returns the allocated size of the buffer in bytes.
+    */
+    int capacity();
+
+    /** This method returns the amount of space left for writing.
+    *
+    * @returns numbers of unused bytes in buffer.
+    */
+    int remaining();
+
+    /** This method returns the number of bytes available for reading.
+    *
+    * @returns number of bytes currently in buffer.
+    */
+    int size();
+
+    /** This method returns whether the buffer is full.
+    *
+    * @returns true if full, otherwise false.
+    */
+    bool isFull();
+
+    /** This method returns whether the buffer is empty.
+    *
+    * @returns true if empty, otherwise false.
+    */
+    bool isEmpty();
+
+    /** This method clears the buffer. This is done through
+    * setting the internal read and write indexes to the same
+    * value and is therefore not an expensive operation.
+    */
+    void clear();
+
+
+private:
+    int bufferSize; // total size of the buffer
+    char* buffer; // internal byte buffer as a character buffer
+    int readIndex; // read index for circular buffer
+    int writeIndex; // write index for circular buffer
+    int bytes; // available data
+    FunctionPointer notify; // function pointer used for the internal callback notification
+    int _threshold; // threshold for the notification
+    RelationalOperator _op; // operator that determines the direction of the threshold
+    void checkThreshold(); // private function that checks thresholds and processes notifications
+};
+
+}
+
+#endif /* MTSCIRCULARBUFFER_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MTS-Utils/MTSLog.h	Thu Sep 10 13:16:42 2015 -0500
@@ -0,0 +1,99 @@
+/************************************************
+ * MultiTech MTDOT Library
+ * Copyright (c) 2015 MultiTech Systems
+ *
+ * See LICENSE file for license information
+ ***********************************************/
+
+#ifndef MTSLOG_H
+#define MTSLOG_H
+
+#ifdef MTS_DEBUG
+#define logFatal(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::FATAL_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::FATAL_LABEL, ##__VA_ARGS__)
+#define logError(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::ERROR_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::ERROR_LABEL, ##__VA_ARGS__)
+#define logWarning(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::WARNING_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::WARNING_LABEL, ##__VA_ARGS__)
+#define logInfo(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::INFO_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::INFO_LABEL, ##__VA_ARGS__)
+#define logDebug(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::DEBUG_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::DEBUG_LABEL, ##__VA_ARGS__)
+#define logTrace(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::TRACE_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::TRACE_LABEL, ##__VA_ARGS__)
+#else
+#define logFatal(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::FATAL_LEVEL, "[%s] " format "\r\n", mts::MTSLog::FATAL_LABEL, ##__VA_ARGS__)
+#define logError(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::ERROR_LEVEL, "[%s] " format "\r\n", mts::MTSLog::ERROR_LABEL, ##__VA_ARGS__)
+#define logWarning(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::WARNING_LEVEL, "[%s] " format "\r\n", mts::MTSLog::WARNING_LABEL, ##__VA_ARGS__)
+#define logInfo(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::INFO_LEVEL, "[%s] " format "\r\n", mts::MTSLog::INFO_LABEL, ##__VA_ARGS__)
+#define logDebug(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::DEBUG_LEVEL, "[%s] " format "\r\n", mts::MTSLog::DEBUG_LABEL, ##__VA_ARGS__)
+#define logTrace(format, ...) \
+    mts::MTSLog::printMessage(mts::MTSLog::TRACE_LEVEL, "[%s] " format "\r\n", mts::MTSLog::TRACE_LABEL, ##__VA_ARGS__)
+#endif
+
+namespace mts {
+
+class MTSLog
+{
+public:
+
+    /** Enum of log levels.
+     */
+    enum logLevel {
+        NONE_LEVEL = 0,
+        FATAL_LEVEL = 1,
+        ERROR_LEVEL = 2,
+        WARNING_LEVEL = 3,
+        INFO_LEVEL = 4,
+        DEBUG_LEVEL = 5,
+        TRACE_LEVEL = 6
+    };
+
+    /** Print log message.
+     */
+    static void printMessage(int level, const char* format, ...);
+
+    /** Determine if the given level is currently printable.
+     */
+    static bool printable(int level);
+
+    /** Set log level
+     * Messages with lower priority than the current level will not be printed.
+     * If the level is set to NONE, no messages will print.
+     */
+    static void setLogLevel(int level);
+
+    /** Get the current log level.
+     */
+    static int getLogLevel();
+
+    /** Get string representation of the current log level.
+     */
+    static const char* getLogLevelString();
+
+    static const char* NONE_LABEL;
+    static const char* FATAL_LABEL;
+    static const char* ERROR_LABEL;
+    static const char* WARNING_LABEL;
+    static const char* INFO_LABEL;
+    static const char* DEBUG_LABEL;
+    static const char* TRACE_LABEL;
+
+private:
+
+    /** Constructor
+     */
+    MTSLog();
+
+    static int currentLevel;
+
+};
+
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MTS-Utils/MTSText.h	Thu Sep 10 13:16:42 2015 -0500
@@ -0,0 +1,90 @@
+/************************************************
+ * MultiTech MTDOT Library
+ * Copyright (c) 2015 MultiTech Systems
+ *
+ * See LICENSE file for license information
+ ***********************************************/
+
+#ifndef MTSTEXT_H
+#define MTSTEXT_H
+
+#include <string>
+#include <vector>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+namespace mts
+{
+
+/** This class contains a number of static methods for manipulating strings and other
+* text data.
+*/
+class Text
+{
+public:
+    /** This static method can be used to pull out a string at the next line break. A
+    * break can either be a newline '\n', carriage return '\r' or both.
+    *
+    * @param source the source string to look for the line break on.
+    * @param start the start postion within the string to begin looking for the line
+    * break.
+    * @param cursor this value will be updated with the index for the next available character
+    * after the line break. If a line break is not found returns -1.
+    * @returns the string beginning with the start index up to including the line breaks.
+    */
+    static std::string getLine(const std::string& source, const size_t& start, size_t& cursor);
+
+    /** This is a static method for splitting strings using a delimeter value.
+    *
+    * @param str the string to try and split.
+    * @param delimiter the delimeter value to split on as a character.
+    * @param limit the maximum number of splits. If equal to 0 it splits as amny times as possible.
+    * The default is 0.
+    * @returns an ordered vector of strings conatining the splits of the original string.
+    */
+    static std::vector<std::string> split(const std::string& str, char delimiter, int limit = 0);
+
+    /** This is a static method for splitting strings using a delimeter value.
+    *
+    * @param str the string to try and split.
+    * @param delimiter the delimeter value to split on as a string.
+    * @param limit the maximum number of splits. If equal to 0 it splits as amny times as possible.
+    * The default is 0.
+    * @returns an ordered vector of strings conatining the splits of the original string.
+    */
+    static std::vector<std::string> split(const std::string& str, const std::string& delimiter, int limit = 0);
+    
+    static std::string readString(char* index, int length);
+
+    static std::string toUpper(const std::string str);
+
+    static std::string float2String(double val, int precision);
+
+    static std::string bin2hexString(const std::vector<uint8_t>& data, const char* delim = "", bool leadingZeros = false);
+
+    static std::string bin2hexString(const uint8_t* data, const uint32_t len, const char* delim = "", bool leadingZeros = false);
+
+    static std::string bin2base64(const std::vector<uint8_t>& data);
+
+    static std::string bin2base64(const uint8_t* data, size_t size);
+
+    static bool base642bin(const std::string in, std::vector<uint8_t>& out);
+
+    static void ltrim(std::string& str, const char* args);
+
+    static void rtrim(std::string& str, const char* args);
+
+    static void trim(std::string& str, const char* args);
+
+private:
+    // Safety for class with only static methods
+    Text();
+    Text(const Text& other);
+    Text& operator=(const Text& other);
+};
+
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MTS-Utils/Utils.h	Thu Sep 10 13:16:42 2015 -0500
@@ -0,0 +1,48 @@
+/************************************************
+ * MultiTech MTDOT Library
+ * Copyright (c) 2015 MultiTech Systems
+ *
+ * See LICENSE file for license information
+ ***********************************************/
+
+#ifndef UTILS_H
+#define UTILS_H
+
+#include <string>
+
+//Defines a max function that can be used.
+inline int mts_max(int a, int b) { return a > b ? a : b; }
+
+//Defines a min function that can be used.
+inline int mts_min(int a, int b) { return a < b ? a : b; }
+
+///An enumeration for relational operators
+enum RelationalOperator {
+    GREATER, LESS, EQUAL, GREATER_EQUAL, LESS_EQUAL
+};
+
+/** A static method for getting a string representation for the RelationalOperator
+* enumeration.
+*
+* @param relationalOperator a RelationalOperator enumeration.
+* @returns the enumeration name as a string.
+*/
+static std::string getRelationalOperatorNames(RelationalOperator relationalOperator)
+{
+    switch(relationalOperator) {
+        case GREATER:
+            return "GREATER";
+        case LESS:
+            return "LESS";
+        case EQUAL:
+            return "EQUAL";
+        case GREATER_EQUAL:
+            return "GREATER_EQUAL";
+        case LESS_EQUAL:
+            return "LESS_EQUAL";
+        default:
+            return "UNKNOWN ENUM";
+    }
+}
+
+#endif
--- a/MTSCircularBuffer.h	Tue Aug 18 09:11:29 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/************************************************
- * MultiTech MTDOT Library
- * Copyright (c) 2015 MultiTech Systems
- *
- * See LICENSE file for license information
- ***********************************************/
-
-#ifndef MTSCIRCULARBUFFER_H
-#define MTSCIRCULARBUFFER_H
-
-#include "Utils.h"
-
-namespace mts
-{
-
-/** This class provides a circular byte buffer meant for temporary storage
-* during IO transactions.  It contains many of the common methods you
-* would expect from a circular buffer like read, write, and various
-* methods for checking the size or status.  It should be noted that
-* this class does not include any special code for thread safety like
-* a lock.  In most cases this is not problematic, but is something
-* to be aware of.
-*/
-class MTSCircularBuffer
-{
-public:
-    /** Creates an MTSCircularBuffer object with the specified static size.
-    *
-    * @prarm bufferSize size of the buffer in bytes.
-    */
-    MTSCircularBuffer(int bufferSize);
-
-    /** Destructs an MTSCircularBuffer object and frees all related resources.
-    */
-    ~MTSCircularBuffer();
-
-    /** This method enables bulk reads from the buffer.  If more data is
-    * requested then available it simply returns all remaining data within the
-    * buffer.
-    *
-    * @param data the buffer where data read will be added to.
-    * @param length the amount of data in bytes to be read into the buffer.
-    * @returns the total number of bytes that were read.
-    */
-    int read(char* data, int length);
-
-    /** This method reads a single byte from the buffer.
-    *
-    * @param data char where the read byte will be stored.
-    * @returns 1 if byte is read or 0 if no bytes available.
-    */
-    int read(char& data);
-
-    /** This method enables bulk writes to the buffer. If more data
-    * is requested to be written then space available the method writes
-    * as much data as possible and returns the actual amount written.
-    *
-    * @param data the byte array to be written.
-    * @param length the length of data to be written from the data paramter.
-    * @returns the number of bytes written to the buffer, which is 0 if
-    * the buffer is full.
-    */
-    int write(const char* data, int length);
-
-    /** This method writes a signle byte as a char to the buffer.
-    *
-    * @param data the byte to be written as a char.
-    * @returns 1 if the byte was written or 0 if the buffer was full.
-    */
-    int write(char data);
-
-    /** This method is used to setup a callback funtion when the buffer reaches
-    * a certain threshold. The threshold condition is checked after every read
-    * and write call is completed. The condition is made up of both a threshold
-    * value and operator. An example that would trigger a callback is if the
-    * threshold was 10, the operator GREATER, and there were 12 bytes added to an
-    * empty buffer.
-    *
-    * @param tptr a pointer to the object to be called when the condition is met.
-    * @param mptr a pointer to the function within the object to be called when
-    * the condition is met.
-    * @param threshold the value in bytes to be used as part of the condition.
-    * @param op the operator to be used in conjunction with the threshold
-    * as part of the condition.
-    */
-    template<typename T>
-    void attach(T *tptr, void( T::*mptr)(void), int threshold, RelationalOperator op) {
-        _threshold = threshold;
-        _op = op;
-        notify.attach(tptr, mptr);
-    }
-
-    /** This method is used to setup a callback funtion when the buffer reaches
-    * a certain threshold. The threshold condition is checked after every read
-    * and write call is completed. The condition is made up of both a threshold
-    * value and operator. An example that would trigger a callback is if the
-    * threshold was 10, the operator GREATER, and there were 12 bytes added to an
-    * empty buffer.
-    *
-    * @param fptr a pointer to the static function to be called when the condition
-    * is met.
-    * @param threshold the value in bytes to be used as part of the condition.
-    * @param op the operator to be used in conjunction with the threshold
-    * as part of the condition.
-    */
-    void attach(void(*fptr)(void), int threshold, RelationalOperator op) {
-        _threshold = threshold;
-        _op = op;
-        notify.attach(fptr);
-    }
-
-    /** This method returns the size of the storage space currently allocated for
-    * the buffer. This value is equivalent to the one passed into the constructor.
-    * This value is equal or greater than the size() of the buffer.
-    *
-    * @returns the allocated size of the buffer in bytes.
-    */
-    int capacity();
-
-    /** This method returns the amount of space left for writing.
-    *
-    * @returns numbers of unused bytes in buffer.
-    */
-    int remaining();
-
-    /** This method returns the number of bytes available for reading.
-    *
-    * @returns number of bytes currently in buffer.
-    */
-    int size();
-
-    /** This method returns whether the buffer is full.
-    *
-    * @returns true if full, otherwise false.
-    */
-    bool isFull();
-
-    /** This method returns whether the buffer is empty.
-    *
-    * @returns true if empty, otherwise false.
-    */
-    bool isEmpty();
-
-    /** This method clears the buffer. This is done through
-    * setting the internal read and write indexes to the same
-    * value and is therefore not an expensive operation.
-    */
-    void clear();
-
-
-private:
-    int bufferSize; // total size of the buffer
-    char* buffer; // internal byte buffer as a character buffer
-    int readIndex; // read index for circular buffer
-    int writeIndex; // write index for circular buffer
-    int bytes; // available data
-    FunctionPointer notify; // function pointer used for the internal callback notification
-    int _threshold; // threshold for the notification
-    RelationalOperator _op; // operator that determines the direction of the threshold
-    void checkThreshold(); // private function that checks thresholds and processes notifications
-};
-
-}
-
-#endif /* MTSCIRCULARBUFFER_H */
--- a/MTSLog.h	Tue Aug 18 09:11:29 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/************************************************
- * MultiTech MTDOT Library
- * Copyright (c) 2015 MultiTech Systems
- *
- * See LICENSE file for license information
- ***********************************************/
-
-#ifndef MTSLOG_H
-#define MTSLOG_H
-
-#ifdef MTS_DEBUG
-#define logFatal(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::FATAL_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::FATAL_LABEL, ##__VA_ARGS__)
-#define logError(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::ERROR_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::ERROR_LABEL, ##__VA_ARGS__)
-#define logWarning(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::WARNING_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::WARNING_LABEL, ##__VA_ARGS__)
-#define logInfo(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::INFO_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::INFO_LABEL, ##__VA_ARGS__)
-#define logDebug(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::DEBUG_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::DEBUG_LABEL, ##__VA_ARGS__)
-#define logTrace(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::TRACE_LEVEL, "%s:%s:%s| [%s] " format "\r\n", __FILE__, __func__, __LINE__, mts::MTSLog::TRACE_LABEL, ##__VA_ARGS__)
-#else
-#define logFatal(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::FATAL_LEVEL, "[%s] " format "\r\n", mts::MTSLog::FATAL_LABEL, ##__VA_ARGS__)
-#define logError(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::ERROR_LEVEL, "[%s] " format "\r\n", mts::MTSLog::ERROR_LABEL, ##__VA_ARGS__)
-#define logWarning(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::WARNING_LEVEL, "[%s] " format "\r\n", mts::MTSLog::WARNING_LABEL, ##__VA_ARGS__)
-#define logInfo(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::INFO_LEVEL, "[%s] " format "\r\n", mts::MTSLog::INFO_LABEL, ##__VA_ARGS__)
-#define logDebug(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::DEBUG_LEVEL, "[%s] " format "\r\n", mts::MTSLog::DEBUG_LABEL, ##__VA_ARGS__)
-#define logTrace(format, ...) \
-    mts::MTSLog::printMessage(mts::MTSLog::TRACE_LEVEL, "[%s] " format "\r\n", mts::MTSLog::TRACE_LABEL, ##__VA_ARGS__)
-#endif
-
-namespace mts {
-
-class MTSLog
-{
-public:
-
-    /** Enum of log levels.
-     */
-    enum logLevel {
-        NONE_LEVEL = 0,
-        FATAL_LEVEL = 1,
-        ERROR_LEVEL = 2,
-        WARNING_LEVEL = 3,
-        INFO_LEVEL = 4,
-        DEBUG_LEVEL = 5,
-        TRACE_LEVEL = 6
-    };
-
-    /** Print log message.
-     */
-    static void printMessage(int level, const char* format, ...);
-
-    /** Determine if the given level is currently printable.
-     */
-    static bool printable(int level);
-
-    /** Set log level
-     * Messages with lower priority than the current level will not be printed.
-     * If the level is set to NONE, no messages will print.
-     */
-    static void setLogLevel(int level);
-
-    /** Get the current log level.
-     */
-    static int getLogLevel();
-
-    /** Get string representation of the current log level.
-     */
-    static const char* getLogLevelString();
-
-    static const char* NONE_LABEL;
-    static const char* FATAL_LABEL;
-    static const char* ERROR_LABEL;
-    static const char* WARNING_LABEL;
-    static const char* INFO_LABEL;
-    static const char* DEBUG_LABEL;
-    static const char* TRACE_LABEL;
-
-private:
-
-    /** Constructor
-     */
-    MTSLog();
-
-    static int currentLevel;
-
-};
-
-}
-
-#endif
--- a/MTSText.h	Tue Aug 18 09:11:29 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/************************************************
- * MultiTech MTDOT Library
- * Copyright (c) 2015 MultiTech Systems
- *
- * See LICENSE file for license information
- ***********************************************/
-
-#ifndef MTSTEXT_H
-#define MTSTEXT_H
-
-#include <string>
-#include <vector>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-
-namespace mts
-{
-
-/** This class contains a number of static methods for manipulating strings and other
-* text data.
-*/
-class Text
-{
-public:
-    /** This static method can be used to pull out a string at the next line break. A
-    * break can either be a newline '\n', carriage return '\r' or both.
-    *
-    * @param source the source string to look for the line break on.
-    * @param start the start postion within the string to begin looking for the line
-    * break.
-    * @param cursor this value will be updated with the index for the next available character
-    * after the line break. If a line break is not found returns -1.
-    * @returns the string beginning with the start index up to including the line breaks.
-    */
-    static std::string getLine(const std::string& source, const size_t& start, size_t& cursor);
-
-    /** This is a static method for splitting strings using a delimeter value.
-    *
-    * @param str the string to try and split.
-    * @param delimiter the delimeter value to split on as a character.
-    * @param limit the maximum number of splits. If equal to 0 it splits as amny times as possible.
-    * The default is 0.
-    * @returns an ordered vector of strings conatining the splits of the original string.
-    */
-    static std::vector<std::string> split(const std::string& str, char delimiter, int limit = 0);
-
-    /** This is a static method for splitting strings using a delimeter value.
-    *
-    * @param str the string to try and split.
-    * @param delimiter the delimeter value to split on as a string.
-    * @param limit the maximum number of splits. If equal to 0 it splits as amny times as possible.
-    * The default is 0.
-    * @returns an ordered vector of strings conatining the splits of the original string.
-    */
-    static std::vector<std::string> split(const std::string& str, const std::string& delimiter, int limit = 0);
-    
-    static std::string readString(char* index, int length);
-
-    static std::string toUpper(const std::string str);
-
-    static std::string float2String(double val, int precision);
-
-    static std::string bin2hexString(const std::vector<uint8_t>& data, const char* delim = "", bool leadingZeros = false);
-
-    static std::string bin2hexString(const uint8_t* data, const uint32_t len, const char* delim = "", bool leadingZeros = false);
-
-    static std::string bin2base64(const std::vector<uint8_t>& data);
-
-    static std::string bin2base64(const uint8_t* data, size_t size);
-
-    static bool base642bin(const std::string in, std::vector<uint8_t>& out);
-
-    static void ltrim(std::string& str, const char* args);
-
-    static void rtrim(std::string& str, const char* args);
-
-    static void trim(std::string& str, const char* args);
-
-private:
-    // Safety for class with only static methods
-    Text();
-    Text(const Text& other);
-    Text& operator=(const Text& other);
-};
-
-}
-
-#endif
--- a/README.txt	Tue Aug 18 09:11:29 2015 -0500
+++ b/README.txt	Thu Sep 10 13:16:42 2015 -0500
@@ -6,19 +6,9 @@
 
 License information can be found in the accompanying LICENSE file.
 
-The mDot header has documentation for all the public functions that will be useful to consumers of
-the library.
-
-The following source code provides an example application which configures the mDot, connects to a
-MultiTech Conduit gateway with matching configuration, and sends data packets to the gateway.
+The mDot header has documentation for all the public functions that will be useful to consumers of the library.
 
-NOTE: All applications built using the mDot library must include mbed-src instead of mbed and must
-have the "newboards" beta token enabled.  This is to resolve a stack size issue that may be
-encountered otherwise.  A fix is on its way to the regular mbed library, but these extra steps are
-required until then.  To enable the "newboards" beta token, go to the page listed below, click
-enable, and completely refresh your online compiler.
-
-https://developer.mbed.org/betamode/?pre=newboards
+The following source code provides an example application which configures the mDot, connects to a MultiTech Conduit gateway with matching configuration, and sends data packets to the gateway.
 
 /**************
   SAMPLE CODE
--- a/Utils.h	Tue Aug 18 09:11:29 2015 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/************************************************
- * MultiTech MTDOT Library
- * Copyright (c) 2015 MultiTech Systems
- *
- * See LICENSE file for license information
- ***********************************************/
-
-#ifndef UTILS_H
-#define UTILS_H
-
-#include <string>
-
-//Defines a max function that can be used.
-inline int mts_max(int a, int b) { return a > b ? a : b; }
-
-//Defines a min function that can be used.
-inline int mts_min(int a, int b) { return a < b ? a : b; }
-
-///An enumeration for relational operators
-enum RelationalOperator {
-    GREATER, LESS, EQUAL, GREATER_EQUAL, LESS_EQUAL
-};
-
-/** A static method for getting a string representation for the RelationalOperator
-* enumeration.
-*
-* @param relationalOperator a RelationalOperator enumeration.
-* @returns the enumeration name as a string.
-*/
-static std::string getRelationalOperatorNames(RelationalOperator relationalOperator)
-{
-    switch(relationalOperator) {
-        case GREATER:
-            return "GREATER";
-        case LESS:
-            return "LESS";
-        case EQUAL:
-            return "EQUAL";
-        case GREATER_EQUAL:
-            return "GREATER_EQUAL";
-        case LESS_EQUAL:
-            return "LESS_EQUAL";
-        default:
-            return "UNKNOWN ENUM";
-    }
-}
-
-#endif