#include "header.hpp"
#include <ios>

const int COLS = 32;

void header::generate(std::ostream& dst, const std::vector<char>& src, const char* var_name) {

	dst << "#include <avr/pgmspace.h>\n";
	dst << "inline const PROGMEM unsigned char " << var_name << "[] = {\n";

	for(int i = 0; i < src.size(); i += COLS) {

		dst << '\t';

		for(int j = i; j < i + COLS && j < src.size(); j++) {
			dst << std::dec << (src[j] & 0xff) << ',';
		}

		dst << '\n';
	}

	dst << "};\n" << std::dec;
}