lcd: overhaul documentation for lcd module
[contrib/upm.git] / src / lcd / ssd1308.h
index 3bdbde6..d125df0 100644 (file)
@@ -145,23 +145,61 @@ typedef enum {
     PAGE          =  2
 } displayAddressingMode;
 
+/**
+ * @brief C++ API for SSD1308 i2c controlled OLED displays
+ *
+ * @snippet lcm-lcd.cxx Interesting
+ */
 class SSD1308 : public I2CLcd {
     public:
-        /** SSD1308 Constructor.
-         * Calls MRAA initialisation functions.
-         * @param bus i2c bus to use
-         * @param address the slave address the lcd is registered on.
-         */
+       /**
+        * SSD1308 Constructor, calls libmraa initialisation functions
+        *
+        * @param bus i2c bus to use
+        * @param address the slave address the lcd is registered on
+        */
         SSD1308 (int bus, int address);
+       /**
+        * SSD1308 Destructor
+        */
         ~SSD1308 ();
+       /**
+        * Draw an image, see examples/python/make_oled_pic.py for an
+        * explanation on how the pixels are mapped to bytes
+        *
+        * @param data the buffer to read
+        * @param bytes the amount of bytes to read from the pointer
+        * @return Result of operation
+        */
         mraa_result_t draw(uint8_t *data, int bytes);
-
-        // pure virtual methods
-        mraa_result_t write (std::string msg);
-        mraa_result_t setCursor (int row, int column);
-        mraa_result_t clear ();
-        mraa_result_t home ();
-
+       /**
+        * Write a string to LCD
+        *
+        * @param msg The std::string to write to display, note only ascii
+        *     chars are supported
+        * @return Result of operation
+        */
+        mraa_result_t write(std::string msg);
+       /**
+        * Set cursor to a coordinate
+        *
+        * @param row The row to set cursor to
+        * @param column The column to set cursor to
+        * @return Result of operation
+        */
+        mraa_result_t setCursor(int row, int column);
+       /**
+        * Clear display from characters
+        *
+        * @return Result of operatio
+        */
+        mraa_result_t clear();
+       /**
+        * Return to coordinate 0,0
+        *
+        * @return Result of operation
+        */
+        mraa_result_t home();
     private:
         mraa_result_t writeChar (mraa_i2c_context ctx, uint8_t value);
         mraa_result_t setNormalDisplay ();