Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbed_ssd1306 USB_meter_SD_file_number_filtro_for EscanerRf escaner_RTOS ... more
Revision 6:cff0e772910f, committed 2017-11-01
- Comitter:
- rodriguj
- Date:
- Wed Nov 01 16:43:48 2017 +0000
- Parent:
- 5:4f7cdc2ee49a
- Child:
- 7:b0e7ccc9138b
- Commit message:
- Still adding and fixing Javadoc comments
Changed in this revision
| ssd1306.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/ssd1306.h Wed Nov 01 16:32:22 2017 +0000
+++ b/ssd1306.h Wed Nov 01 16:43:48 2017 +0000
@@ -65,6 +65,9 @@
class SSD1306 {
public:
+ /**
+ * PlotStyle. Defines how pixels being plotted interact with existing pixels on the screen
+ */
enum PlotStyle
{
Normal,
@@ -72,6 +75,9 @@
Xor
};
+ /**
+ * I2CSpeed. Defines the speed of the I2C bus
+ */
enum I2CSpeed
{
Slow,
@@ -79,116 +85,132 @@
Fast
};
- /** Creates an instance of a SSD1306 driver, specifying I2C pins to use
- *
- * @param sda I2C data line pin
- * @param scl I2C clock line pin
- */
+ /**
+ * Creates an instance of a SSD1306 driver, specifying I2C pins to use
+ *
+ * @param sda I2C data line pin
+ * @param scl I2C clock line pin
+ */
SSD1306 (PinName sda, PinName scl, char ssd1306_addr = 0x78);
- /** Creates an instance of a SSD1306 driver using an existing I2C object
- *
- * @param busi2c I2C object
- * @param ssd1306_addr I2C addr of SSD1306 controller
- */
+ /**
+ * Creates an instance of a SSD1306 driver using an existing I2C object
+ *
+ * @param busi2c I2C object
+ * @param ssd1306_addr I2C addr of SSD1306 controller
+ */
SSD1306 (I2C &busi2c, char ssd1306_addr = 0x78);
- /** Set the frequency of the I2C interface
- *
- * @param hz The bus frequency in hertz
- */
+ /**
+ * Set the frequency of the I2C interface
+ *
+ * @param hz The bus frequency in hertz
+ */
void speed (I2CSpeed spd);
- /** Initialize the SSD1306 controller
- */
+ /**
+ * Initialize the SSD1306 controller
+ */
int init (void);
- /** Scrolls up one text line
- *
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Scrolls up one text line
+ *
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void scroll (bool refresh=false);
- /** Print a character at the current text position. Updates the text position and forces a scroll if at the end of the screen
- *
- * @param c ASCII code of the character to print (8-bit ASCII code, use original IBM code page 437. No control codes.
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Print a character at the current text position. Updates the text position and forces a scroll if at the end of the screen
+ *
+ * @param c ASCII code of the character to print (8-bit ASCII code, use original IBM code page 437. No control codes.
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void putchar (char c, bool refresh=false);
- /** Prints a NUL terminated string
- *
- * @param s C-style string (NUL terminated) to print.
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Prints a NUL terminated string
+ *
+ * @param s C-style string (NUL terminated) to print.
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void puts (char *s, bool refresh=false);
- /** printf interface to SSD1306 controller
- *
- * @param fmt Format string.
- */
+ /**
+ * printf interface to SSD1306 controller
+ *
+ * @param fmt Format string.
+ */
void printf (const char *fmt,...);
- /** Change the text position
- *
- * @param row Text row (0-7) to print the next character
- * @param column Text column (0-15) to print the next character
- */
+ /**
+ * Change the text position
+ *
+ * @param row Text row (0-7) to print the next character
+ * @param column Text column (0-15) to print the next character
+ */
void locate (char row, char column);
- /** Redraw the physical display, sending the content of the display memory to the SSD1306 controller using the I2C bus
- */
+ /**
+ * Redraw the physical display, sending the content of the display memory to the SSD1306 controller using the I2C bus
+ */
void display (void);
- /** Changes the contrast (actually, pixel brightness) of the screen
- *
- * @param v Contrast level (0-255)
- */
+ /**
+ * Changes the contrast (actually, pixel brightness) of the screen
+ *
+ * @param v Contrast level (0-255)
+ */
void set_contrast (char v);
- /** Clear screen and optionally, fills it with a predefined picture (in 128x64 OLED format, see display datasheet). Also resets the text position.
- *
- * @param bkground If not NULL, should point to a 1024 byte buffer with the image to load to the display
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Clear screen and optionally, fills it with a predefined picture (in 128x64 OLED format, see display datasheet). Also resets the text position.
+ *
+ * @param bkground If not NULL, should point to a 1024 byte buffer with the image to load to the display
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void cls (char *bkground=NULL, bool refresh=false);
- /** Plots a pixel.
- *
- * @param x x-coordinate (0-127) of the pixel. X coordinates go left to right.
- * @param y y-coordinate (0-63) of the pixel. Y coordinates go up to down.
- * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Plots a pixel.
+ *
+ * @param x x-coordinate (0-127) of the pixel. X coordinates go left to right.
+ * @param y y-coordinate (0-63) of the pixel. Y coordinates go up to down.
+ * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void plot (char x, char y, PlotStyle mode, bool refresh=false);
- /** Returns the state of a pixel coordinate from screen
- *
- * @param x x-coordinate (0-127) of the pixel. X coordinates go left to right.
- * @param y y-coordinate (0-63) of the pixel. Y coordinates go up to down.
- * @return true if the pixel was set, or false otherwise
- */
+ /**
+ * Returns the state of a pixel coordinate from screen
+ *
+ * @param x x-coordinate (0-127) of the pixel. X coordinates go left to right.
+ * @param y y-coordinate (0-63) of the pixel. Y coordinates go up to down.
+ * @return true if the pixel was set, or false otherwise
+ */
bool point (char x, char y);
- /** Draws a line using the Bresenham algorithm
- *
- * @param x0 x-coordinate (0-127) of the starting point
- * @param y0 y-coordinate (0-63) of the starting point
- * @param x1 x-coordinate (0-127) of the ending point
- * @param y1 y-coordinate (0-63) of the ending point
- * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Draws a line using the Bresenham algorithm
+ *
+ * @param x0 x-coordinate (0-127) of the starting point
+ * @param y0 y-coordinate (0-63) of the starting point
+ * @param x1 x-coordinate (0-127) of the ending point
+ * @param y1 y-coordinate (0-63) of the ending point
+ * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void line (char x0, char y0, char x1, char y1, PlotStyle mode, bool refresh=false);
- /** Draws a circle
- *
- * @param x0 x-coordinate (0-127) of the center point
- * @param y0 y-coordinate (0-63) of the center point
- * @param r radius of the circle
- * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
- * @param refresh (optional) Force an actual screen redraw after scrolling
- */
+ /**
+ * Draws a circle
+ *
+ * @param x0 x-coordinate (0-127) of the center point
+ * @param y0 y-coordinate (0-63) of the center point
+ * @param r radius of the circle
+ * @param mode. Plot style mode: Normal (pixel is drawn), Inverse (pixel is erased), or Xor (pixel is erased if background position is already set, otherwise is drawn)
+ * @param refresh (optional) Force an actual screen redraw after scrolling
+ */
void circle (char x0, char y0, char r, PlotStyle mode, bool refresh=false);
virtual ~SSD1306 () {