Just as a side not; could you only have CHECKED1 and then change:
void loop()
{
out_buffer = CHECKED1;
write_buffer();
delay(500);
out_buffer = CHECKED2;
write_buffer();
delay(500);
}
to
void loop()
{
out_buffer = CHECKED1;
write_buffer();
delay(500);
out_buffer = !CHECKED1;
write_buffer();
delay(500);
}
Because CHECKED1 and 2 are just the opposite bits of each other?!
/me