#include "display.hpp"

Display::Display(int dataIn, int clk, int load) : _ledControler{dataIn, clk, load} {
	_ledControler.shutdown(0,false);
	/* Set the brightness to a medium values */
	_ledControler.setIntensity(0,8);
	/* and clear the display */
	_ledControler.clearDisplay(0);
	_ledControler.setDigit(0, 0, 0, false);
	_ledControler.setDigit(0, 1, 0, false);
}

void Display::print_time(int seconds) {
	if (seconds < 60) {
		_ledControler.setDigit(0, 0, seconds % 10, false);
		_ledControler.setDigit(0, 1, seconds / 10, false);
	} else if (seconds < 600) {
		_ledControler.setDigit(0, 0, (seconds / 10) % 6, false);
		_ledControler.setDigit(0, 1, seconds / 60, true);
	} else {
		int minutes = seconds / 60;
		_ledControler.setDigit(0, 0, minutes % 10, true);
		_ledControler.setDigit(0, 1, minutes / 10, false);
	}
}

void Display::chenillard(void) {
	for (size_t i = 0; i < 6; i++) {
		_ledControler.clearDisplay(0);
		_ledControler.setRow(0, 0, 1 << i);
		_ledControler.setRow(0, 1, 1 << i);
		delay(200);
	}
}
