Example #1
0
void dog_Init(unsigned short pin_a0)
{
  dog_Delay(60);			/* initial delay */
  dog_spi_pin_a0 = pin_a0;
  dog_spi_init();
  dog_init_display();
}
Example #2
0
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;
    }
}
Example #3
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();
  }  
}
Example #4
0
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);
}
Example #5
0
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();
}