1.1 --- a/Display_Hardware_Driver.c Sun May 19 21:42:23 2013 +0000
1.2 +++ b/Display_Hardware_Driver.c Tue May 21 15:23:53 2013 +0000
1.3 @@ -46,6 +46,40 @@
1.4 CLR(EPD_RESET);
1.5 }
1.6
1.7 +void epd_discharge_high(void)
1.8 +{
1.9 + // DISCHARGE_SET_HIGH;
1.10 + SET(EPD_DIS);
1.11 +}
1.12 +
1.13 +void epd_discharge_low(void)
1.14 +{
1.15 + // DISCHARGE_SET_LOW;
1.16 + CLR(EPD_DIS);
1.17 +}
1.18 +
1.19 +void epd_panelon_off(void)
1.20 +{
1.21 + // PANELON_SET_LOW;
1.22 + ubb_power(1);
1.23 +}
1.24 +
1.25 +void epd_panelon_on(void)
1.26 +{
1.27 + // PANELON_SET_HIGH;
1.28 + ubb_power(0);
1.29 +}
1.30 +
1.31 +void epd_border_high(void)
1.32 +{
1.33 + // BORDER_SET_HIGH;
1.34 +}
1.35 +
1.36 +void epd_border_low(void)
1.37 +{
1.38 + // BORDER_SET_LOW;
1.39 +}
1.40 +
1.41 void epd_delay_ms(uint32_t Time)
1.42 {
1.43 bsp_delayMs(Time);
1.44 @@ -86,7 +120,19 @@
1.45 #endif
1.46 void epd_pwm_active(uint16_t delayInMs)
1.47 {
1.48 - bsp_pwm_active(delayInMs);
1.49 + uint16_t numOfIterations;
1.50 +
1.51 + numOfIterations = delayInMs * 100;
1.52 + // PWM_DIR_OUT;
1.53 + for(; numOfIterations > 0; numOfIterations--)
1.54 + {
1.55 + // PWM_SET_HIGH;
1.56 + SET(EPD_PWM);
1.57 + bsp_delayUs(5); //100kHz (96kHz ideal)
1.58 + // PWM_SET_LOW;
1.59 + CLR(EPD_PWM);
1.60 + bsp_delayUs(5);
1.61 + }
1.62 }
1.63
1.64
1.65 @@ -158,7 +204,13 @@
1.66
1.67 void epd_InitDisplayHardware(void)
1.68 {
1.69 - bsp_InitDisplayHardware();
1.70 + epd_panelon_off();
1.71 + epd_spi_init();
1.72 + epd_cs_low();
1.73 + // epd_pwm_low();
1.74 + epd_pwm_active(0); //set output low
1.75 + epd_rst_low();
1.76 + epd_discharge_low();
1.77 }
1.78
1.79 //************************************************************************