diff options
Diffstat (limited to 'src/core/uart.h')
| -rwxr-xr-x | src/core/uart.h | 74 |
1 files changed, 28 insertions, 46 deletions
diff --git a/src/core/uart.h b/src/core/uart.h index c7e5125..6e3a1a7 100755 --- a/src/core/uart.h +++ b/src/core/uart.h @@ -2,12 +2,12 @@ #define UART_H_ /**************************************************************************//** - * @file uart.h - * @brief Arduino-like library for MARY(LPC1114) - * @version v.0.50 - * @date 1. August 2011. - * @author @@lynxeyed_atsu - * @note Copyright (c) 2011 Lynx-EyED's Klavier and Craft-works. <BR> + * @file uart.h + * @brief Arduino-like library for MARY(LPC1114) + * @version v.0.50 + * @date 1. August 2011. + * @author @@lynxeyed_atsu + * @note Copyright (c) 2011 Lynx-EyED's Klavier and Craft-works. <BR> * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation @@ -26,65 +26,47 @@ ******************************************************************************/ #include "LPC11xx.h" +#include "Print.h" + #ifdef __cplusplus - extern "C" { +extern "C" { #endif -const char radix_bin[]="01"; -const char radix_oct[]="01234567"; -const char radix_dec[]="0123456789"; -const char radix_hex[]="0123456789ABCDEF"; -/*! @enum SERIAL_PORT - @brief COMポート(UART)のチャンネル選択。 - @note UARTが1ポートしかないMARYでは使用していないので特に影響はないが、2ポート以上UARTが存在するLPCXpressoシリーズや - mbedシリーズとの後方互換性を考慮し用意している -*/ +/*! @enum SERIAL_PORT + @brief COMポート(UART)のチャンネル選択。 + @note UARTが1ポートしかないMARYでは使用していないので特に影響はないが、2ポート以上UARTが存在するLPCXpressoシリーズや + mbedシリーズとの後方互換性を考慮し用意している + */ typedef enum { - marySerial1, /*!< MARYのUARTポート(デフォルト) */ - mbedSerial1, /*!< mbed(LPC1768/9)のUART1ポート(将来的に対応予定) */ - mbedSerial2 /*!< mbed(LPC1768/9)のUART2ポート(将来的に対応予定) */ + marySerial1, /*!< MARYのUARTポート(デフォルト) */ + mbedSerial1, /*!< mbed(LPC1768/9)のUART1ポート(将来的に対応予定) */ + mbedSerial2 +/*!< mbed(LPC1768/9)のUART2ポート(将来的に対応予定) */ } SERIAL_PORT; // Defaults:marySerial1 -/*! @enum SERIAL_FORMAT - @brief Arduinoのprint(data, format)の第二パラメータ(format)の基数。 -*/ -typedef enum { - BYTE = 0x01, /*!< 1バイトのアスキーコードが表示される */ - BIN = 0x02, /*!< dataで与えられた数値を2進数で表示する */ - OCT = 0x08, /*!< dataで与えられた数値を8進数で表示する */ - DEC = 0x0A, /*!< dataで与えられた数値を10進数で表示する */ - HEX = 0x10 /*!< dataで与えられた数値を16進数で表示する */ -} RADIX_FORMAT; - - -class USerial { +class USerial: public Print { private: SERIAL_PORT port; - RADIX_FORMAT format; + //RADIX_FORMAT format; int speed; public: - USerial();//USerial(SERIAL_PORT port); // announce the constructor to initialize + USerial();//USerial(SERIAL_PORT port); // announce the constructor to initialize ~USerial(); void begin(int speed); - void end() ; - void print(const char *s); - void print(int val, RADIX_FORMAT format); - void println(const char *s); - void println(int val, RADIX_FORMAT format) ; - int read(void); - int available(void); - void write(const char c); - void write(const char *s,int length); -}; + void end(); + int read(void); + int available(void); + virtual void write(const char c); + using Print::write; // pull in write(buf, size) from Print +}; extern USerial Serial; #ifdef __cplusplus - } +} #endif - #endif /* UART_H_ */ |
