 		if (row_i > 6) {
 			row_i = 0;
 			pwm_i++;
-			if (pwm_i >= ARRAY_SIZE(pwm_planes)) {
+			if (pwm_i >= ARRAY_SIZE(pwm_lengths)) {
 				pwm_i = 0;
 				if (may_flip) {
 					buf_swap();
 				}
 			}
 			// Switch to next PWM cycle
-			buf_pwm = buf_front[pwm_planes[pwm_i]];
+			buf_pwm = buf_front[pwm_i];
 		}
 	}
 


void driveDisplay() {
	static int cur_pin = pin_col[0];
	
	// Main screen turn off.
	digitalWrite(cur_pin, HIGH);

uint8_t col_iter = 0; // Anti-ghosting 
uint8_t row_i = 0;
volatile uint8_t may_flip = 0;
int pwm_lengths[] = { 250, 100, 40 }; // microseconds per plane
int pwm_i = 0; // Current PWM cycle
uint8_t *buf_pwm = buf_a[0];

