void dog_Init(unsigned short pin_a0) { dog_Delay(60); /* initial delay */ dog_spi_pin_a0 = pin_a0; dog_spi_init(); dog_init_display(); }
int main(void) { uint8_t page = 100; system_init(); dog_Init(0); for(;;) { dog_StartPage(); do { switch(page) { case 100: page_intro(); break; case 0: page0(); break; case 1: page1(); break; case 2: page2(); break; case 3: page3(); break; case 4: page4(); break; case 5: page5(); break; } } while( dog_NextPage() ); dog_Delay(1500); page++; if ( page >= 6 ) page = 0; } }
int main(void) { uint16_t adc; sys_init(); dog_Init(0); for(;;) { dog_StartPage(); do { walk_Draw(); } while( dog_NextPage() ); adc = sys_adc(); adc >>= 4; if ( adc >= 0x0f && adc < 0x30 ) dog_SetContrast(adc); dog_Delay(120); walk_Step(); } }
void loop() { const char *f; DOG_PGM_P p; unsigned char h; switch(font_select) { default: font_select = 0; /* no break */ // case 0: h = 10; p = font_4x6; f = "4x6"; break; // case 1: h = 10; p = font_atomicsc; f = "atomicsc"; break; // case 2: h = 10; p = font_04B_25; f = "04B-25"; break; case 3: h = 10; p = font_5x7; f = "5x7"; break; case 4: h = 10; p = font_5x8; f = "5x8"; break; case 5: h = 10; p = font_6x9; f = "6x9"; break; case 6: h = 10; p = font_6x10; f = "6x10"; break; case 7: h = 10; p = font_6x12; f = "6x12"; break; case 8: h = 11; p = font_6x13; f = "6x13"; break; case 9: h = 11; p = font_7x13; f = "7x13"; break; case 10: h = 12; p = font_7x14; f = "7x14"; break; case 11: h = 12; p = font_8x13; f = "8x13"; break; // case 12: h = 15; p = font_8x16; f = "8x16"; break; } font_select++; dogm.start(); do { dogm.setFont(p); dogm.setXY(0,h*0+3); dogm.print(f); dogm.setBox(0, h*0+3, dogm.getStrWidth(f), h*0+3 ); dogm.print(": 0123456789.,;"); dogm.setXY(0,h*2+3); dogm.print("abcdefghijklmnopqrstuvwxyz"); dogm.setXY(0,h*1+3); dogm.print("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); dogm.setXY(0,h*3+3); dogm.print("+-*/#-!$%&(){}[]"); } while( dogm.next() ); dog_Delay(3000); }
static void dog_init_display(void) { dog_Delay(10); dog_spi_disable_client(); /* force reset of the spi subsystem of the ST7565R */ dog_Delay(10); dog_spi_enable_client(); dog_Delay(10); dog_cmd_mode(); /* mostly taken from the EA dogm description */ switch (dog_model) { case DOGM128_HW: //#ifdef DOGM128_HW dog_spi_out(0x040); /* set display start line to 0 */ dog_spi_out(0x0a1); /* ADC set to reverse */ dog_spi_out(0x0c0); /* common output mode */ dog_spi_out(0x0a6); /* display normal, bit val 0: LCD pixel off. */ dog_spi_out(0x0a2); /* LCD bias 1/9 */ dog_spi_out(0x02f); /* all power control circuits on */ dog_spi_out(0x0f8); /* set booster ratio to */ dog_spi_out(0x000); /* 4x */ dog_spi_out(0x027); /* set V0 voltage resistor ratio to large */ dog_spi_out(0x081); /* set contrast */ dog_spi_out(0x018); /* contrast value, EA default: 0x016 */ dog_spi_out(0x0ac); /* indicator */ dog_spi_out(0x000); /* disable */ dog_spi_out(0x0af); /* display on */ //#endif break; case DOGM132_HW: //#ifdef DOGM132_HW dog_spi_out(0x040); /* set display start line to 0 */ dog_spi_out(0x0a1); /* ADC set to reverse */ dog_spi_out(0x0c0); /* common output mode */ dog_spi_out(0x0a6); /* display normal, bit val 0: LCD pixel off. */ dog_spi_out(0x0a2); /* LCD bias 1/9 */ dog_spi_out(0x02f); /* all power control circuits on */ dog_spi_out(0x0f8); /* set booster ratio to */ dog_spi_out(0x000); /* 4x */ dog_spi_out(0x023); /* set V0 voltage resistor ratio to large */ dog_spi_out(0x081); /* set contrast */ dog_spi_out(0x01f); /* contrast value, EA default: 0x01f */ dog_spi_out(0x0ac); /* indicator */ dog_spi_out(0x000); /* disable */ dog_spi_out(0x0af); /* display on */ //#endif break; case DOGS102_HW: //#ifdef DOGS102_HW dog_spi_out(0x040); /* set display start line to 0 */ dog_spi_out(0x0a1); /* ADC set to reverse */ dog_spi_out(0x0c0); /* common output mode */ dog_spi_out(0x0a6); /* display normal, bit val 0: LCD pixel off. */ dog_spi_out(0x0a2); /* LCD bias 1/9 */ dog_spi_out(0x02f); /* all power control circuits on */ dog_spi_out(0x027); /* regulator, booster and follower */ dog_spi_out(0x081); /* set contrast */ dog_spi_out(0x00e); /* contrast value, EA default: 0x010 */ dog_spi_out(0x0fa); /* Set Temp compensation */ dog_spi_out(0x090); /* 0.11 deg/c WP Off WC Off*/ dog_spi_out(0x0af); /* display on */ //#endif break; } dog_spi_out(0x0a5); /* display all points */ dog_Delay(300); dog_spi_out(0x0a4); /* normal display */ dog_Delay(300); dog_spi_disable_client(); }