diff --git a/src/lcd/CMakeLists.txt b/src/lcd/CMakeLists.txt index 592c3bed..45680cee 100644 --- a/src/lcd/CMakeLists.txt +++ b/src/lcd/CMakeLists.txt @@ -1,12 +1,5 @@ set (libname "i2clcd") -add_library (i2clcd SHARED iiclcd.cxx lcm1602.cxx jhd1313m1.cxx ssd1308.cxx ssd1327.cxx) -include_directories (${MAA_INCLUDE_DIR}) -target_link_libraries (i2clcd ${MAA_LIBRARIES}) - -install (TARGETS ${libname} DESTINATION lib/upm COMPONENT ${libname}) -install (FILES iiclcd.h DESTINATION include/upm COMPONENT ${libname}) - -if (IPK) - cpack_add_component (${libname} DISPLAY_NAME ${libname} REQUIRED INSTALL_TYPES all) - set(CPACK_COMPONENT_${libname}_DESCRIPTION "libupm lcd") -endif() +set (libdescription "upm lcd/oled displays") +set (module_src i2clcd.cxx lcm1602.cxx jhd1313m1.cxx ssd1308.cxx ssd1327.cxx) +set (module_h i2clcd.h lcm1602.h jhd1313m1.h ssd1308.h ssd1327.h) +upm_module_init() diff --git a/src/lcd/iiclcd.cxx b/src/lcd/i2clcd.cxx similarity index 88% rename from src/lcd/iiclcd.cxx rename to src/lcd/i2clcd.cxx index a2d39e42..e87d43a5 100644 --- a/src/lcd/iiclcd.cxx +++ b/src/lcd/i2clcd.cxx @@ -25,11 +25,11 @@ #include #include -#include "iiclcd.h" +#include "i2clcd.h" using namespace upm; -IICLcd::IICLcd (int bus, int lcdAddress) { +I2CLcd::I2CLcd (int bus, int lcdAddress) { m_lcd_control_address = lcdAddress; m_bus = bus; @@ -42,18 +42,18 @@ IICLcd::IICLcd (int bus, int lcdAddress) { } maa_result_t -IICLcd::write (int row, int column, std::string msg) { +I2CLcd::write (int row, int column, std::string msg) { setCursor (row, column); write (msg); } maa_result_t -IICLcd::close() { +I2CLcd::close() { return maa_i2c_stop(m_i2c_lcd_control); } maa_result_t -IICLcd::i2cReg (maa_i2c_context ctx, int deviceAdress, int addr, uint8_t value) { +I2CLcd::i2cReg (maa_i2c_context ctx, int deviceAdress, int addr, uint8_t value) { maa_result_t error = MAA_SUCCESS; uint8_t data[2] = { addr, value }; @@ -64,7 +64,7 @@ IICLcd::i2cReg (maa_i2c_context ctx, int deviceAdress, int addr, uint8_t value) } maa_result_t -IICLcd::i2Cmd (maa_i2c_context ctx, uint8_t value) { +I2CLcd::i2Cmd (maa_i2c_context ctx, uint8_t value) { maa_result_t error = MAA_SUCCESS; uint8_t data[2] = { LCD_CMD, value }; @@ -75,7 +75,7 @@ IICLcd::i2Cmd (maa_i2c_context ctx, uint8_t value) { } maa_result_t -IICLcd::i2cData (maa_i2c_context ctx, uint8_t value) { +I2CLcd::i2cData (maa_i2c_context ctx, uint8_t value) { maa_result_t error = MAA_SUCCESS; uint8_t data[2] = { LCD_DATA, value }; diff --git a/src/lcd/iiclcd.h b/src/lcd/i2clcd.h similarity index 98% rename from src/lcd/iiclcd.h rename to src/lcd/i2clcd.h index fa12fd58..de80edac 100644 --- a/src/lcd/iiclcd.h +++ b/src/lcd/i2clcd.h @@ -67,9 +67,9 @@ namespace upm { #define LCD_RW 0x02 // Read/Write bit #define LCD_RS 0x01 // Register select bit -class IICLcd { +class I2CLcd { public: - IICLcd (int bus, int lcdAddress); + I2CLcd (int bus, int lcdAddress); maa_result_t write (int x, int y, std::string msg); virtual maa_result_t write (std::string msg) = 0; diff --git a/src/lcd/jhd1313m1.cxx b/src/lcd/jhd1313m1.cxx index 9eed420d..cb419114 100644 --- a/src/lcd/jhd1313m1.cxx +++ b/src/lcd/jhd1313m1.cxx @@ -29,7 +29,7 @@ using namespace upm; -Jhd1313m1::Jhd1313m1 (int bus, int lcdAddress, int rgbAddress) : IICLcd(bus, lcdAddress) { +Jhd1313m1::Jhd1313m1 (int bus, int lcdAddress, int rgbAddress) : I2CLcd(bus, lcdAddress) { maa_result_t error = MAA_SUCCESS; m_rgb_address = rgbAddress; diff --git a/src/lcd/jhd1313m1.h b/src/lcd/jhd1313m1.h index 9b60c8fe..c8d0b65b 100644 --- a/src/lcd/jhd1313m1.h +++ b/src/lcd/jhd1313m1.h @@ -24,11 +24,11 @@ #pragma once #include -#include "iiclcd.h" +#include "i2clcd.h" namespace upm { -class Jhd1313m1 : public IICLcd { +class Jhd1313m1 : public I2CLcd { public: Jhd1313m1 (int bus, int lcdAddress, int rgbAddress); ~Jhd1313m1 (); diff --git a/src/lcd/jsupm_i2clcd.i b/src/lcd/jsupm_i2clcd.i new file mode 100644 index 00000000..f9660246 --- /dev/null +++ b/src/lcd/jsupm_i2clcd.i @@ -0,0 +1,21 @@ +%module jsupm_i2clcd + +%include "i2clcd.h" +%{ + #include "i2clcd.h" +%} + +%include "jhd1313m1.h" +%{ + #include "jhd1313m1.h" +%} + +%include "lcm1602.h" +%{ + #include "lcm1602.h" +%} + +%include "ssd1327.h" +%{ + #include "ssd1327.h" +%} diff --git a/src/lcd/jsupm_jhd1313m1.i b/src/lcd/jsupm_jhd1313m1.i deleted file mode 100644 index ba72ce03..00000000 --- a/src/lcd/jsupm_jhd1313m1.i +++ /dev/null @@ -1,7 +0,0 @@ -%module jsupm_jhd1313m1 - -%{ - #include "jhd1313m1.h" -%} - -%include "jhd1313m1.h" diff --git a/src/lcd/jsupm_lcm1602.i b/src/lcd/jsupm_lcm1602.i deleted file mode 100644 index da35f72a..00000000 --- a/src/lcd/jsupm_lcm1602.i +++ /dev/null @@ -1,7 +0,0 @@ -%module jsupm_lcm1602 - -%{ - #include "lcm1602.h" -%} - -%include "lcm1602.h" diff --git a/src/lcd/jsupm_ssd1308.i b/src/lcd/jsupm_ssd1308.i deleted file mode 100644 index d5a4f189..00000000 --- a/src/lcd/jsupm_ssd1308.i +++ /dev/null @@ -1,7 +0,0 @@ -%module jsupm_ssd1308 - -%{ - #include "ssd1308.h" -%} - -%include "ssd1308.h" diff --git a/src/lcd/jsupm_ssd1327.i b/src/lcd/jsupm_ssd1327.i deleted file mode 100644 index 8c0705de..00000000 --- a/src/lcd/jsupm_ssd1327.i +++ /dev/null @@ -1,7 +0,0 @@ -%module jsupm_ssd1327 - -%{ - #include "ssd1327.h" -%} - -%include "ssd1327.h" diff --git a/src/lcd/lcm1602.cxx b/src/lcd/lcm1602.cxx index fe396687..033a1ffa 100644 --- a/src/lcd/lcm1602.cxx +++ b/src/lcd/lcm1602.cxx @@ -32,7 +32,7 @@ using namespace upm; -Lcm1602::Lcm1602(int bus_in, int addr_in) : IICLcd (bus_in, addr_in) { +Lcm1602::Lcm1602(int bus_in, int addr_in) : I2CLcd (bus_in, addr_in) { maa_result_t error = MAA_SUCCESS; usleep(50000); diff --git a/src/lcd/lcm1602.h b/src/lcd/lcm1602.h index 100614cd..133e07a1 100644 --- a/src/lcd/lcm1602.h +++ b/src/lcd/lcm1602.h @@ -28,11 +28,11 @@ #pragma once #include -#include "iiclcd.h" +#include "i2clcd.h" namespace upm { -class Lcm1602 : public IICLcd { +class Lcm1602 : public I2CLcd { public: /** LCM1602 Constructor. * Calls MAA initialisation functions. diff --git a/src/lcd/pyupm_i2clcd.i b/src/lcd/pyupm_i2clcd.i new file mode 100644 index 00000000..d920680c --- /dev/null +++ b/src/lcd/pyupm_i2clcd.i @@ -0,0 +1,23 @@ +%module pyupm_i2clcd + +%feature("autodoc", "3"); + +%include "i2clcd.h" +%{ + #include "i2clcd.h" +%} + +%include "jhd1313m1.h" +%{ + #include "jhd1313m1.h" +%} + +%include "lcm1602.h" +%{ + #include "lcm1602.h" +%} + +%include "ssd1327.h" +%{ + #include "ssd1327.h" +%} diff --git a/src/lcd/pyupm_jhd1313m1.i b/src/lcd/pyupm_jhd1313m1.i deleted file mode 100644 index 97efd789..00000000 --- a/src/lcd/pyupm_jhd1313m1.i +++ /dev/null @@ -1,8 +0,0 @@ -%module pyupm_jhd1313m1 - -%feature("autodoc", "3"); - -%include "jhd1313m1.h" -%{ - #include "jhd1313m1.h" -%} diff --git a/src/lcd/pyupm_lcm1602.i b/src/lcd/pyupm_lcm1602.i deleted file mode 100644 index 68d63716..00000000 --- a/src/lcd/pyupm_lcm1602.i +++ /dev/null @@ -1,12 +0,0 @@ -%module pyupm_lcm1602 - -%feature("autodoc", "3"); - -#ifdef DOXYGEN -%include "lcm1602_doc.i" -#endif - -%include "lcm1602.h" -%{ - #include "lcm1602.h" -%} diff --git a/src/lcd/pyupm_ssd1308.i b/src/lcd/pyupm_ssd1308.i deleted file mode 100644 index aa0f0435..00000000 --- a/src/lcd/pyupm_ssd1308.i +++ /dev/null @@ -1,8 +0,0 @@ -%module pyupm_ssd1308 - -%feature("autodoc", "3"); - -%include "ssd1308.h" -%{ - #include "ssd1308.h" -%} diff --git a/src/lcd/pyupm_ssd1327.i b/src/lcd/pyupm_ssd1327.i deleted file mode 100644 index d75ed428..00000000 --- a/src/lcd/pyupm_ssd1327.i +++ /dev/null @@ -1,8 +0,0 @@ -%module pyupm_ssd1327 - -%feature("autodoc", "3"); - -%include "ssd1327.h" -%{ - #include "ssd1327.h" -%} diff --git a/src/lcd/ssd1308.cxx b/src/lcd/ssd1308.cxx index 6aef5ae5..939449a4 100644 --- a/src/lcd/ssd1308.cxx +++ b/src/lcd/ssd1308.cxx @@ -29,7 +29,7 @@ using namespace upm; -SSD1308::SSD1308 (int bus_in, int addr_in) : IICLcd (bus_in, addr_in) { +SSD1308::SSD1308 (int bus_in, int addr_in) : I2CLcd (bus_in, addr_in) { i2Cmd (m_i2c_lcd_control, DISPLAY_CMD_OFF); // display off printf ("NO_GDB :: DISPLAY_CMD_OFF \n"); usleep (4500); diff --git a/src/lcd/ssd1308.h b/src/lcd/ssd1308.h index 280198ed..531aeaae 100644 --- a/src/lcd/ssd1308.h +++ b/src/lcd/ssd1308.h @@ -25,7 +25,7 @@ #pragma once #include -#include "iiclcd.h" +#include "i2clcd.h" namespace upm { @@ -145,7 +145,7 @@ typedef enum { PAGE = 2 } displayAddressingMode; -class SSD1308 : public IICLcd { +class SSD1308 : public I2CLcd { public: /** SSD1308 Constructor. * Calls MAA initialisation functions. diff --git a/src/lcd/ssd1327.cxx b/src/lcd/ssd1327.cxx index 054d9e01..bbfd029e 100644 --- a/src/lcd/ssd1327.cxx +++ b/src/lcd/ssd1327.cxx @@ -32,7 +32,7 @@ using namespace upm; #define INIT_SLEEP 50000 #define CMD_SLEEP 10000 -SSD1327::SSD1327 (int bus_in, int addr_in) : IICLcd (bus_in, addr_in) { +SSD1327::SSD1327 (int bus_in, int addr_in) : I2CLcd (bus_in, addr_in) { maa_result_t error = MAA_SUCCESS; usleep (INIT_SLEEP); i2Cmd (m_i2c_lcd_control, 0xFD); // Unlock OLED driver IC MCU interface from entering command. i.e: Accept commands diff --git a/src/lcd/ssd1327.h b/src/lcd/ssd1327.h index bb11768b..3b7255d9 100644 --- a/src/lcd/ssd1327.h +++ b/src/lcd/ssd1327.h @@ -25,7 +25,7 @@ #pragma once #include -#include "iiclcd.h" +#include "i2clcd.h" namespace upm { /* @@ -145,7 +145,7 @@ typedef enum { PAGE = 2 } displayAddressingMode; -class SSD1327 : public IICLcd { +class SSD1327 : public I2CLcd { public: /** SSD1308 Constructor. * Calls MAA initialisation functions.