@@ -81,38 +81,50 @@ class QwOLEDCustom : public QwGrSSD1306 {
8181 ~QwOLEDCustom ()
8282 {
8383 if (m_graphicsBuffer != nullptr )
84+ {
8485 delete[] m_graphicsBuffer;
86+ m_graphicsBuffer = nullptr ;
87+ }
8588 };
8689
8790 // set up the specific device settings
8891 bool init (void )
8992 {
90- setViewport (xOffset, yOffset, displayWidth, displayHeight );
93+ this -> QwGrSSD1306 :: setViewport (m_xOffset, m_yOffset, m_displayWidth, m_displayHeight );
9194
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 );
9699
97100 if (m_graphicsBuffer != nullptr )
98101 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
101104
102105 // Call the super class to do all the work
103106 return this ->QwGrSSD1306 ::init ();
104107 };
105108
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 ;
114127
115- protected:
116128 // Graphics buffer for this device.
117129 uint8_t *m_graphicsBuffer = nullptr ;
118130};
0 commit comments