@@ -104,40 +104,37 @@ int Inkplate::einkOn()
104
104
WAKEUP_SET;
105
105
delay (5 );
106
106
107
- // Modify power up sequence.
108
- Wire.beginTransmission (0x48 );
109
- Wire.write (0x09 );
110
- Wire.write (B11100100);
111
- Wire.endTransmission ();
112
-
113
- // Modify power down sequence (VEE and VNEG are swapped)
114
- Wire.beginTransmission (0x48 );
115
- Wire.write (0x0b );
116
- Wire.write (B00011011);
117
- Wire.endTransmission ();
118
-
119
107
#ifdef ARDUINO_INKPLATE6PLUSV2
120
108
if (pwrMode != INKPLATE_USB_PWR_ONLY)
121
109
{
122
110
// Enable all rails
123
111
Wire.beginTransmission (0x48 );
124
112
Wire.write (0x01 );
125
- Wire.write (B00111111 );
113
+ Wire.write (B00100000 );
126
114
Wire.endTransmission ();
127
115
}
128
116
#else
129
117
// Enable all rails
130
118
Wire.beginTransmission (0x48 );
131
119
Wire.write (0x01 );
132
- Wire.write (B00111111 );
120
+ Wire.write (B00100000 );
133
121
Wire.endTransmission ();
134
122
#endif
135
123
136
- PWRUP_SET;
124
+ // Modify power up sequence.
125
+ Wire.beginTransmission (0x48 );
126
+ Wire.write (0x09 );
127
+ Wire.write (B11100100);
128
+ Wire.endTransmission ();
129
+
130
+ // Modify power down sequence (VEE and VNEG are swapped)
131
+ Wire.beginTransmission (0x48 );
132
+ Wire.write (0x0b );
133
+ Wire.write (B00011011);
134
+ Wire.endTransmission ();
137
135
138
136
pinsAsOutputs ();
139
137
LE_CLEAR;
140
- OE_CLEAR;
141
138
#if !defined(ARDUINO_ESP32_DEV) && !defined(ARDUINO_INKPLATE6V2) && !defined(ARDUINO_INKPLATE6FLICK)
142
139
CL_CLEAR;
143
140
#endif
@@ -146,7 +143,8 @@ int Inkplate::einkOn()
146
143
SPV_SET;
147
144
CKV_CLEAR;
148
145
OE_CLEAR;
149
- VCOM_SET;
146
+ PWRUP_SET;
147
+ setPanelState (1 );
150
148
151
149
unsigned long timer = millis ();
152
150
do
@@ -155,13 +153,12 @@ int Inkplate::einkOn()
155
153
} while ((readPowerGood () != PWR_GOOD_OK) && (millis () - timer) < 250 );
156
154
if ((millis () - timer) >= 250 )
157
155
{
158
- VCOM_CLEAR;
159
- PWRUP_CLEAR;
156
+ einkOff ();
160
157
return 0 ;
161
158
}
162
159
160
+ VCOM_SET;
163
161
OE_SET;
164
- setPanelState (1 );
165
162
166
163
return 1 ;
167
164
}
@@ -174,6 +171,7 @@ void Inkplate::einkOff()
174
171
{
175
172
if (getPanelState () == 0 )
176
173
return ;
174
+ VCOM_CLEAR;
177
175
OE_CLEAR;
178
176
GMOD_CLEAR;
179
177
#if !defined(ARDUINO_ESP32_DEV) && !defined(ARDUINO_INKPLATE6V2) && !defined(ARDUINO_INKPLATE6FLICK)
@@ -184,8 +182,6 @@ void Inkplate::einkOff()
184
182
CKV_CLEAR;
185
183
SPH_CLEAR;
186
184
SPV_CLEAR;
187
-
188
- VCOM_CLEAR;
189
185
PWRUP_CLEAR;
190
186
191
187
unsigned long timer = millis ();
@@ -200,7 +196,11 @@ void Inkplate::einkOff()
200
196
if (pwrMode != INKPLATE_USB_PWR_ONLY)
201
197
WAKEUP_CLEAR;
202
198
#else
203
- WAKEUP_CLEAR;
199
+ WAKEUP_CLEAR; // Disable 3V3 Switch for ePaper.
200
+ Wire.beginTransmission (0x48 );
201
+ Wire.write (0x01 );
202
+ Wire.write (B00000000);
203
+ Wire.endTransmission ();
204
204
#endif
205
205
#endif
206
206
0 commit comments