#include "wiring_serial.h"

void clear_screen(void) {
  serialWrite(0x7c); serialWrite(0x00);
}

void pixel(char S_R, char x, char y) {
  serialWrite(0x7c); serialWrite(0x10); 
  serialWrite(x); serialWrite(y); serialWrite(S_R);
}

void line(char S_R, char x1, char y1, char x2, char y2) {
  serialWrite(0x7c); serialWrite(0x0c); 
  serialWrite(x1); serialWrite(y1); serialWrite(x2); serialWrite(y2); serialWrite(S_R);
}

void circle(char S_R, int x, int y, int r) {
  serialWrite(0x7c); serialWrite(0x03);  
  serialWrite(x); serialWrite(y); serialWrite(r); serialWrite(S_R);
}

void erase_block(char x1, char y1, char x2, char y2) {
  serialWrite(0x7c); serialWrite(0x05); 
  serialWrite(x1); serialWrite(y1); serialWrite(x2); serialWrite(y2);
}

void box(char S_R, char x1, char y1, char x2, char y2) {
  // serialWrite(0x7c); serialWrite(0x0f); 
  // serialWrite(x1); serialWrite(y1); serialWrite(x2); serialWrite(y2); serialWrite(S_R);
  line(S_R, x1, y1, x2, y1);
  line(S_R, x2, y1, x2, y2);
  line(S_R, x1, y2, x2, y2);
  line(S_R, x1, y2, x1, y1);
}

void set_text_position(char x, char y) {
  serialWrite(0x7c); serialWrite(0x18); serialWrite(x); 
  serialWrite(0x7c); serialWrite(0x19); serialWrite(y);
}