void SchedulePickDeviceScreen::render() { uint16_t devcolor = color565(205,173,0); fillScreen(devcolor); makeRectangle(5,5, 230,305, BLACK, 2); drawPgmString(225,50 , PSTR("PICK ADAPTER"), BLACK, devcolor, 2); uint8_t start_idx = 0; if(LGDB::read_device_table_entry(start_idx) == 0) { drawPgmString(163, 67, PSTR("-0-"), BLACK, devcolor, 3); makeRectangle(130,30,80,120, BLACK, 4); } if(LGDB::read_device_table_entry(start_idx + 1) == 0) { drawPgmString(163, 212, PSTR("-1-") , BLACK, devcolor, 3); makeRectangle(130,170,80,120, BLACK, 4); } if(LGDB::read_device_table_entry(start_idx + 2) == 0) { drawPgmString(63, 67, PSTR("-2-"), BLACK, devcolor, 3); makeRectangle(30,30,80,120,BLACK, 4); } if(LGDB::read_device_table_entry(start_idx + 3) == 0) { drawPgmString(63, 212, PSTR("-3-") , BLACK, devcolor, 3); makeRectangle(30,170,80,120, BLACK, 4); } }
void DeviceRemoveScreen::render() { uint16_t schcolor = color565(142,35,35); fillScreen(schcolor); makeRectangle(15,15, 200,280, BLACK, 5); drawPgmString(210,50 , PSTR("REMOVE ADAPTERS"), BLACK, schcolor, 2); }
void HomeScreen::render() { uint16_t schcolor = color565(142,35,35); //red uint16_t setcolor = color565(35, 142, 35); // green uint16_t devcolor = color565(205,173,0); // yellow uint16_t stacolor = color565(51,153,204); //blue fillScreen(BLACK); makeRectangle(10,10,90,140,WHITE, 2); makeRectangle(15,15,90,140,setcolor, 4); //makeRectangle(15,15,90,140,MAGENTA, 3); makeRectangle(10,160,90,140, WHITE, 2); makeRectangle(15,165,90,140,devcolor,4); //makeRectangle(15,165,90,140, BLACK, 3); makeRectangle(110,10, 90, 140, WHITE, 2); makeRectangle(115,15,90,140, schcolor,4); //makeRectangle(115,15, 90, 140, BLACK, 3); makeRectangle(110,160, 90, 140, WHITE, 2); makeRectangle(115,165, 90, 140, stacolor, 4); //makeRectangle(115,165, 90, 140, MAGENTA, 3); char * home = "HOME"; char * set = "Settings"; char * sched = "Schedule"; char * dev = "Devices"; char * stats = "Status"; char buf[]= "00/00/00"; twodigit(buf, GetMonth(),false); twodigit(buf+3, GetDate(), false); twodigit(buf+6, GetYear(), false); drawString(215,120 , home, WHITE, BLACK, 3); drawString(55,35, set, WHITE, BLACK, 2); drawString(155,35, dev, WHITE, BLACK, 2); drawString(55, 180, sched, WHITE, BLACK, 2); drawString(155,200, stats, WHITE, BLACK, 2); drawString(224, 1 , buf, WHITE, BLACK, 2); renderTime(); }
void DeviceScreen::render() { uint16_t schcolor = color565(142,35,35); fillScreen(schcolor); makeRectangle(5,5, 225,310, BLACK, 4); drawPgmString(225,50 , PSTR("DEVICES"), BLACK, schcolor, 2); makeRectangle(60,60, 120, 200, BLACK, 7); makeRectangle(80, 30, 70, 120, BLACK, 5); makeRectangle(80, 160, 70,120, BLACK, 5); drawPgmString(115, 80, PSTR("ADD"), BLACK, schcolor, 2); drawPgmString(115 , 175, PSTR("REMOVE"), BLACK, schcolor, 2); }
void ScheduleScreen::render() { fillScreen(BLACK); uint16_t devcolor = color565(205,173,0); makeRectangle(5,5, 230,310, devcolor, 2); char* Adapter = "Adapter:00"; twodigit(Adapter+8, device_idx, false); drawString(225,50 , Adapter, WHITE , BLACK, 2); makeRectangle(180,6,40,44, WHITE, 3); makeRectangle(180,50,40,44, WHITE, 3); makeRectangle(180,94,40,44, WHITE, 3); makeRectangle(180,138,40,44, WHITE, 3); makeRectangle(180,182,40,44, WHITE, 3); makeRectangle(180,226,40,44, WHITE, 3); makeRectangle(180,270,40,44, WHITE, 3); renderDays(); drawString(140, 25, "ON", WHITE, BLACK, 3); drawString(85, 15, "OFF", WHITE, BLACK, 3); drawString(30, 10, "AUTO", WHITE, BLACK, 3); makeRectangle(130,85, 40, 40, WHITE, 2); //on- makeRectangle(75, 85, 40, 40, WHITE, 2); //off- makeRectangle(20, 85, 40, 40, WHITE, 2); // auto- makeRectangle(130,255, 40,40, WHITE, 2); //on+ makeRectangle(75, 255, 40, 40, WHITE, 2); //off+ makeRectangle(20, 255, 40, 40, WHITE, 2); // auto+ drawChar(140, 100, '-', RED, BLACK, 2); drawChar(85, 100, '-', RED, BLACK, 2); drawChar(35, 100, 'x', RED, BLACK, 2); drawChar(140, 270, '+', BLUE, BLACK, 2); drawChar(85, 270, '+', BLUE, BLACK, 2); drawChar(30, 270, '+', BLUE, BLACK, 2); //strings to be updated with touch dimensions // renderOffTime(); renderOnTime(); renderAuto(); // makeRectangle(40, 40, 40, 160, BLACK, 3); // drawString(50, 50, "CONFIRM", BLACK, WHITE, 3); }
void SettingsScreen::render() { //rendering // uint16_t setcolor = color565(35,142,35); fillScreen(setcolor); makeRectangle(5,5, 225,310, BLACK, 4); drawString(225,50 , "SETTINGS", BLACK, setcolor, 2); makeRectangle(60, 30, 130, 125, BLACK, 4); makeRectangle(60, 170, 130, 125, BLACK, 4); makeRectangle(50, 20, 130, 125, BLACK, 4); makeRectangle(50, 180, 130, 125, BLACK, 4); drawString(90, 50, ("MODE"), BLACK , setcolor, 3); drawPgmString(90, 200, PSTR("TIME"), BLACK, setcolor, 3); drawPgmString(130, 50, PSTR("SET"), BLACK, setcolor, 3); drawPgmString(130, 200, PSTR("SET"), BLACK, setcolor, 3); }
int16_t ILI9341_kbv::readGRAM(int16_t x, int16_t y, uint16_t * block, int16_t w, int16_t h) { uint8_t r, g, b; int16_t n = w * h; // we are NEVER going to read > 32k pixels at once setAddrWindow(x, y, x + w - 1, y + h - 1); CS_ACTIVE; WriteCmd(ILI9341_CMD_MEMORY_READ); // needs 1 dummy read r = xchg8(0xFF); while (n-- > 0) { r = xchg8(0xFF); g = xchg8(0xFF); b = xchg8(0xFF); *block++ = color565(r, g, b); } CS_IDLE; setAddrWindow(0, 0, width() - 1, height() - 1); return 0; }
void SettingsSetModeScreen::render() { uint16_t setcolor = color565(35,142,35); fillScreen(BLACK); makeRectangle(5,5, 230,310, setcolor, 2); drawPgmString(225,50 , PSTR("SET MODE"), setcolor, BLACK, 2); makeRectangle(35, 20, 35, 280, WHITE, 3); makeRectangle(85, 20, 35, 280, WHITE, 3); makeRectangle(135, 20, 35, 280, WHITE, 3); makeRectangle(185, 20, 35, 280, WHITE, 3); //drawVerticalLine(0,50, 239, BLACK, 4); drawVerticalLine(0, 270, 239, BLACK, 4); drawPgmString(200, 55, PSTR("1. SCHEDULE"), WHITE, BLACK, 2); drawPgmString(150, 55, PSTR("2. MOTION"), WHITE, BLACK, 2); drawPgmString(100, 55, PSTR("3. COMBINATION"), WHITE, BLACK, 2); drawPgmString(50, 55, PSTR("4. VACATION"), WHITE, BLACK, 2); // makeRectangle(10, 60, 20, 160, GREEN, 3); // drawString( 15, 100, "CONFIRM", setcolor, WHITE, 2); }
void DeviceAddScreen::render() { uint16_t schcolor = color565(142,35,35); fillScreen(BLACK); makeRectangle(15,15, 200,280, BLACK, 5); drawPgmString(210,50 , PSTR("ADD ADAPTERS"), schcolor, BLACK, 2); drawPgmString(180,50, PSTR("While this screen is open, devices will"), WHITE, BLACK, 1); drawPgmString(170,50, PSTR("synchronize with the basestation. Press"), WHITE, BLACK, 1); drawPgmString(160,50, PSTR("and hold HOME or BACK to exit."), WHITE, BLACK, 1); drawCircle(100, 100, 30, WHITE); drawCircle(100, 220, 30, WHITE); drawHorizontalLine(100, 130, 60, WHITE, 1); // 100, 190 is point of arrow for(int8_t i=0; i < 8; i++) { drawPixel(100-i, 190-i, WHITE); drawPixel(100+i, 190-i, WHITE); } for(int8_t i=0; i < 8; i++) { drawPixel(100-i, 130+i, WHITE); drawPixel(100+i, 130+i, WHITE); } }
void StatusScreen::render() { uint16_t stacolor = color565(51,153,204); //blue fillScreen(stacolor); makeRectangle(5,5, 225,310, BLACK, 4); char* status = "STATUS"; drawString(225,50 , status, BLACK, stacolor, 2); makeRectangle(85,15, 135, 300, BLACK, 3); makeRectangle(15,15, 75, 300, BLACK, 3); drawString(210, 20, "Adapters", BLACK, stacolor, 2); drawString(85, 20, "Sensors ", BLACK, stacolor, 2); makeRectangle(100,50, 50,45, BLUE, 3); makeRectangle(100,95, 50,45, BLUE, 3); makeRectangle(100,180, 50,45, BLUE, 3); makeRectangle(100,225, 50,45, BLUE, 3); makeRectangle(155,50, 50,45, BLUE, 3); makeRectangle(155,95, 50,45, BLUE, 3); makeRectangle(155,180, 50,45, BLUE, 3); makeRectangle(155,225, 50,45, BLUE, 3); drawString(120, 58, "-3-", BLACK, stacolor,2); drawString(120, 188, "-4-", BLACK, stacolor, 2); drawString(178, 58, "-1-", BLACK, stacolor, 2); drawString(178, 188, "-2-", BLACK, stacolor, 2); drawString(120, 113, "ON", BLACK, stacolor,2); drawString(120, 233, "OFF", BLACK, stacolor, 2); drawString(178 , 102, "AUT", BLACK, stacolor, 2); drawString(178, 233, "OFF", BLACK, stacolor, 2); drawString(20, 30 , "2. ", BLACK, stacolor, 2); drawString(50, 30, "1. ", BLACK, stacolor, 2); drawString(20, 55, "ENABLED", BLACK, stacolor, 2); drawString(50, 55, "DISABLED", BLACK, stacolor, 2); }
void SettingsSetTimeScreen::render() { uint16_t setcolor = color565(35,142,35); fillScreen(BLACK); makeRectangle(5,5, 230,310, setcolor, 3); drawPgmString(225,50 , PSTR("SET TIME"), setcolor, BLACK, 2); drawVerticalLine(0,160,235, setcolor, 3); makeRectangle(190, 30, 30,100, WHITE, 3); makeRectangle(190, 190, 30, 100, WHITE, 3); drawPgmString(195, 60, PSTR("DATE"), WHITE, BLACK, 2); drawPgmString(195, 220, PSTR("TIME"), WHITE , BLACK, 2); drawPgmString(175, 10, PSTR("MONTH"), WHITE, BLACK, 1); drawPgmString(175, 63, PSTR("DAY"), WHITE, BLACK, 1); drawPgmString(175, 107, PSTR("YEAR"), WHITE, BLACK, 1); drawPgmString(175, 165, PSTR("HOUR"), WHITE, BLACK, 1); drawPgmString(175, 213, PSTR("MINUTE"), WHITE, BLACK, 1); drawPgmString(175, 276, PSTR("AM/PM"), WHITE, BLACK, 1); makeRectangle(135, 10, 35, 33, BLUE, 3); makeRectangle(135, 63, 35, 34, BLUE, 3); makeRectangle(135, 117, 35, 33, BLUE, 3); makeRectangle(135, 170, 35, 33, BLUE, 3); makeRectangle(135, 223, 35, 34, BLUE, 3); makeRectangle(135, 277, 35, 33, BLUE, 3); drawChar(110, 45, '/', WHITE, BLACK, 2); drawChar(110, 95, '/', WHITE, BLACK, 2); drawChar(110, 205, ':', WHITE, BLACK, 2); drawHorizontalLine(105, 0, 319, WHITE, 3); drawHorizontalLine(125, 0, 319, WHITE, 3); makeRectangle(60, 10, 35, 33, RED, 3); makeRectangle(60, 63, 35, 34, RED, 3); makeRectangle(60, 117, 35, 33, RED, 3); makeRectangle(60, 170, 35, 33, RED, 3); makeRectangle(60, 223, 35, 34, RED, 3); makeRectangle(60, 277, 35, 33, RED, 3); drawChar(150, 20, '+', BLUE, BLACK, 2); drawChar(150, 73, '+', BLUE, BLACK, 2); drawChar(150, 127, '+', BLUE, BLACK, 2); drawChar(150, 180, '+', BLUE, BLACK, 2); drawChar(150, 233, '+', BLUE, BLACK, 2); drawChar(150, 287, '+', BLUE, BLACK, 2); drawChar(75, 20, '-', RED, BLACK, 2); drawChar(75, 73, '-', RED, BLACK, 2); drawChar(75, 127, '-', RED, BLACK, 2); drawChar(75, 180, '-', RED, BLACK, 2); drawChar(75, 233, '-', RED, BLACK, 2); drawChar(75, 287, '-', RED, BLACK, 2); // makeRectangle(10, 20, 20, 120, GREEN, 3); // drawString(12, 30, "CONFIRM", BLACK, WHITE, 2); renderMonth(); renderDay(); renderYear(); renderHour(); renderMinute(); renderAMPM(); }
void Framebuffer::setColor(uint8_t color, uint8_t r, uint8_t g, uint8_t b) { palette[color] = color565(r, g, b); }
uint16_t readU(){ return color565(r->readB(),g->readB(),b->readB()); }