@@ -37,23 +37,44 @@ void SSD1306_OLEDDisplay_Mux::begin() {
37
37
_expander->closeChannel (_expanderChannel);
38
38
}
39
39
40
- void SSD1306_OLEDDisplay_Mux::writeBig (String msg) {
40
+ void SSD1306_OLEDDisplay_Mux::drawImage (
41
+ int16_t xMove, int16_t yMove, int16_t width, int16_t height,
42
+ const uint8_t *xbm, bool clear_display
43
+ ) {
41
44
_expander->openChannel (_expanderChannel);
42
45
43
- _display->clear ();
44
- _display->drawString (64 , 0 , msg);
46
+ if (clear_display) {
47
+ _display->clear ();
48
+ }
49
+ _display->drawXbm (xMove, yMove, width, height, xbm);
45
50
_display->display ();
46
51
47
52
_expander->closeChannel (_expanderChannel);
48
53
}
49
54
50
- void SSD1306_OLEDDisplay_Mux::writeSmall (String msg) {
55
+ void SSD1306_OLEDDisplay_Mux::writeBig (String msg, int16_t x, int16_t y, bool clear_display ) {
51
56
_expander->openChannel (_expanderChannel);
52
57
53
- _display->clear ();
58
+ if (clear_display) {
59
+ _display->clear ();
60
+ }
61
+ _display->setFont (Arimo_Regular_30);
62
+
63
+ _display->drawString (x, y, msg);
64
+ _display->display ();
65
+
66
+ _expander->closeChannel (_expanderChannel);
67
+ }
68
+
69
+ void SSD1306_OLEDDisplay_Mux::writeSmall (String msg, int16_t x, int16_t y, bool clear_display) {
70
+ _expander->openChannel (_expanderChannel);
71
+
72
+ if (clear_display) {
73
+ _display->clear ();
74
+ }
54
75
_display->setFont (Arimo_Regular_20);
55
76
56
- _display->drawString (64 , 4 , msg);
77
+ _display->drawString (x, y , msg);
57
78
_display->display ();
58
79
59
80
_expander->closeChannel (_expanderChannel);
0 commit comments