aboutsummaryrefslogtreecommitdiff
path: root/src/core/uart.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/uart.h')
-rwxr-xr-xsrc/core/uart.h74
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_ */