@@ -81,38 +81,50 @@ class QwOLEDCustom : public QwGrSSD1306 {
81
81
~QwOLEDCustom ()
82
82
{
83
83
if (m_graphicsBuffer != nullptr )
84
+ {
84
85
delete[] m_graphicsBuffer;
86
+ m_graphicsBuffer = nullptr ;
87
+ }
85
88
};
86
89
87
90
// set up the specific device settings
88
91
bool init (void )
89
92
{
90
- setViewport (xOffset, yOffset, displayWidth, displayHeight );
93
+ this -> QwGrSSD1306 :: setViewport (m_xOffset, m_yOffset, m_displayWidth, m_displayHeight );
91
94
92
- setCommPins (pinConfig );
93
- setPreCharge (preCharge );
94
- setVcomDeselect (vcomDeselect );
95
- setContrast (contrast );
95
+ this -> QwGrSSD1306 :: setCommPins (m_pinConfig );
96
+ this -> QwGrSSD1306 :: setPreCharge (m_preCharge );
97
+ this -> QwGrSSD1306 :: setVcomDeselect (m_vcomDeselect );
98
+ this -> QwGrSSD1306 :: setContrast (m_contrast );
96
99
97
100
if (m_graphicsBuffer != nullptr )
98
101
delete[] m_graphicsBuffer;
99
- m_graphicsBuffer = new uint8_t [(uint16_t )displayWidth * (uint16_t )displayHeight / 8 ];
100
- setBuffer (m_graphicsBuffer); // The buffer to use
102
+ m_graphicsBuffer = new uint8_t [(uint16_t )m_displayWidth * (uint16_t )m_displayHeight / 8 ];
103
+ this -> QwGrSSD1306 :: setBuffer (m_graphicsBuffer); // The buffer to use
101
104
102
105
// Call the super class to do all the work
103
106
return this ->QwGrSSD1306 ::init ();
104
107
};
105
108
106
- uint8_t xOffset = kOLEDCustomDefaultXOffset ;
107
- uint8_t yOffset = kOLEDCustomDefaultYOffset ;
108
- uint8_t displayWidth = kOLEDCustomDefaultWidth ;
109
- uint8_t displayHeight = kOLEDCustomDefaultHeight ;
110
- uint8_t pinConfig = kOLEDCustomDefaultPinConfig ;
111
- uint8_t preCharge = kOLEDCustomDefaultPreCharge ;
112
- uint8_t vcomDeselect = kOLEDCustomDefaultVCOM ;
113
- uint8_t contrast = kOLEDCustomDefaultContrast ;
109
+ void setXOffset (uint8_t xOffset){ m_xOffset = xOffset; }
110
+ void setYOffset (uint8_t yOffset){ m_yOffset = yOffset; }
111
+ void setDisplayWidth (uint8_t displayWidth){ m_displayWidth = displayWidth; }
112
+ void setDisplayHeight (uint8_t displayHeight){ m_displayHeight = displayHeight; }
113
+ void setPinConfig (uint8_t pinConfig){ m_pinConfig = pinConfig; }
114
+ void setPreCharge (uint8_t preCharge){ m_preCharge = preCharge; }
115
+ void setVcomDeselect (uint8_t vcomDeselect){ m_vcomDeselect = vcomDeselect; }
116
+ void setContrast (uint8_t contrast){ m_contrast = contrast; }
117
+
118
+ private:
119
+ uint8_t m_xOffset = kOLEDCustomDefaultXOffset ;
120
+ uint8_t m_yOffset = kOLEDCustomDefaultYOffset ;
121
+ uint8_t m_displayWidth = kOLEDCustomDefaultWidth ;
122
+ uint8_t m_displayHeight = kOLEDCustomDefaultHeight ;
123
+ uint8_t m_pinConfig = kOLEDCustomDefaultPinConfig ;
124
+ uint8_t m_preCharge = kOLEDCustomDefaultPreCharge ;
125
+ uint8_t m_vcomDeselect = kOLEDCustomDefaultVCOM ;
126
+ uint8_t m_contrast = kOLEDCustomDefaultContrast ;
114
127
115
- protected:
116
128
// Graphics buffer for this device.
117
129
uint8_t *m_graphicsBuffer = nullptr ;
118
130
};
0 commit comments