 volatile uint16_t pwm_lengths[] = { 0x30, 0x10, 0x06 }; // PWM cycle lengths
 uint8_t pwm_i = 0; // Current PWM cycle
 volatile uint8_t spi_row_change = false;
+volatile uint8_t driving_readiness = 1;
 
 // Hardware configuration
 #define PIN_COL_BIT0 A2

ISR(TIMER1_COMPA_vect)
{
	// Screen is off when we hit here (OC1A has been set LOW)

	// Load new data to LED driver
	digitalWrite(PIN_COL_LATCH, HIGH);
	
	// Are we moving to next segment?
	if (pwm_i == 0) {
		if (col_i == 0) {

inline static void set_pixel(uint8_t *plane);
static void screen_on(void);
inline static void pick_column(void);
static void try_drive_screen(void);

void buf_swap(void) {
	uint8_t (*tmp)[56] = buf_front;
