void glcd_test_hello_world(void) { glcd_tiny_set_font(Font5x7,5,7,32,127); glcd_clear_buffer(); glcd_tiny_draw_string(0,0,"Hello World!"); glcd_write(); while(1) { DEMO_RETURN(); } }
void glcd_test_rectangles(void) { glcd_tiny_set_font(Font5x7,5,7,32,127); glcd_clear_buffer(); glcd_tiny_draw_string(0,0,"RECTANGLE DEMO"); glcd_write(); delay_ms(200); while(1) { glcd_clear(); glcd_draw_rect(0,0,100,50,BLACK); glcd_tiny_draw_string(0,GLCD_NUMBER_OF_BANKS-1,"glcd_draw_rect"); glcd_write(); delay_ms(500); DEMO_RETURN(); glcd_clear(); glcd_tiny_draw_string(0,GLCD_NUMBER_OF_BANKS-1,"glcd_draw_rect_thick"); glcd_write(); glcd_draw_rect_thick(5,5,80,30,3,6,BLACK); glcd_write(); delay_ms(500); DEMO_RETURN(); glcd_draw_rect_thick(0,0,20,20,2,2,BLACK); glcd_write(); delay_ms(500); DEMO_RETURN(); glcd_draw_rect_thick(100,10,20,20,5,5,BLACK); glcd_write(); delay_ms(500); DEMO_RETURN(); glcd_clear(); glcd_tiny_draw_string(0,GLCD_NUMBER_OF_BANKS-1,"glcd_draw_rect_shadow"); glcd_draw_rect_shadow(0,0,45,30,BLACK); glcd_write(); delay_ms(500); DEMO_RETURN(); glcd_draw_rect_shadow(95,5,30,30,BLACK); glcd_write(); delay_ms(500); DEMO_RETURN(); } }
void glcd_tempdata_writer(char Tempdata){ //function that writes to the LCD glcd_tiny_set_font(Font5x7,5,7,32,127); glcd_clear_buffer(); glcd_tiny_draw_string(10,10,"Testing"); glcd_write(); }
int main() { int noteBuffer[SONG_SIZE]; int accidentals[SONG_SIZE]; int octaveBuffer[SONG_SIZE]; memcpy(noteBuffer, rom_notes, SONG_SIZE*sizeof(int)); memcpy(accidentals, rom_accidentals, SONG_SIZE*sizeof(int)); memcpy(octaveBuffer, rom_octaves, SONG_SIZE*sizeof(int)); const int buf_size = SONG_SIZE; //uint8 selected; initHardware(); int start = 0; while (1) { //glcd_clear(); glcd_tiny_set_font(Font5x7,5,7,32,127); update_notes(noteBuffer, accidentals, octaveBuffer, start, buf_size); if (start > 0) { glcd_draw_string_xy(13*6,0,"^"); } if (start+4 < buf_size) { glcd_draw_string_xy(13*6,5*8,"v"); } glcd_draw_char_xy(13*6,1*8,(start/4+1)/100%10+'0'); glcd_draw_char_xy(13*6,2*8,(start/4+1)/10%10+'0'); glcd_draw_char_xy(13*6,3*8,(start/4+1)%10+'0'); glcd_write(); /* start+=4; if (start > 24) start = 0; */ int reading = 0; not_scroll: reading = Keypad_1_GetButton(); switch (reading) { case 7: if (start+4 < buf_size) start+=4; break; case 15: if (start > 0) start-=4; break; case 3: play_song(noteBuffer, accidentals, octaveBuffer, buf_size); break; case 0: for (int i = 0; i < 4; ++i) { glcd_invert_area(i*18, 0, 6, 8); glcd_write(); CyDelay(200); int button = 7; while (button > 6) { button = keycode_to_note[Keypad_1_GetButton()]; } noteBuffer[start+i] = button; update_notes(noteBuffer, accidentals, octaveBuffer, start, buf_size); glcd_invert_area(i*18+6, 0, 6, 8); glcd_write(); CyDelay(200); button = 2; while (button > 1) { button = keycode_to_accidental[Keypad_1_GetButton()]; if (button == 99) goto cancel_edit; } accidentals[start+i] = button; update_notes(noteBuffer, accidentals, octaveBuffer, start, buf_size); glcd_invert_area(i*18+12, 0, 6, 8); glcd_write(); CyDelay(200); button = 10; while (button > 9) { button = keycode_to_octave[Keypad_1_GetButton()]; if (button == 99) goto cancel_edit; } octaveBuffer[start+i] = button; update_notes(noteBuffer, accidentals, octaveBuffer, start, buf_size); } cancel_edit: break; case 1: glcd_clear(); glcd_draw_string_xy(0,0,"Saving..."); glcd_write(); int fail = 0; fail += CYRET_SUCCESS!=Em_EEPROM_Write((void*)noteBuffer, (void*)rom_notes, SONG_SIZE*sizeof(int)); fail += CYRET_SUCCESS!=Em_EEPROM_Write((void*)accidentals, (void*)rom_accidentals, SONG_SIZE*sizeof(int)); fail += CYRET_SUCCESS!=Em_EEPROM_Write((void*)octaveBuffer, (void*)rom_octaves, SONG_SIZE*sizeof(int)); if (fail) { glcd_draw_string_xy(0,8,"Failed!"); glcd_write(); CyDelay(1000); } else { glcd_draw_string_xy(0,8,"Success!"); glcd_write(); CyDelay(300); } break; default: goto not_scroll; } CyDelay(50); } }