Library to control the EM027BS013 ePaper display from Pervasive Display.

Dependencies:   LM75B

Dependents:   app_epaper_EM027BS013_LPC1549 lpc4088_ebb_epaper EaEpaper_EM027BS013 app_epaper_EM027BS013 ... more

Embed: (wiki syntax)

« Back to documentation index

EPD_COG_process_v230_G2.cpp File Reference

EPD_COG_process_v230_G2.cpp File Reference

The waveform driving processes and updating stages of G2 COG with V230 EPD. More...

Go to the source code of this file.

Functions

static void set_temperature_factor (uint8_t EPD_type_index)
 According to EPD size and temperature to get stage_time.
void EPD_init (void)
 Initialize the EPD hardware setting.
void COG_driver_EPDtype_select (uint8_t EPD_type_index)
 Select the EPD size to get line data array for driving COG.
void EPD_power_on (void)
 Power on COG Driver.
uint8_t EPD_initialize_driver (uint8_t EPD_type_index)
 Initialize COG Driver.
void stage_init (uint8_t EPD_type_index, struct EPD_V230_G2_Struct *S_epd_v230, uint8_t block_size, uint8_t step_size, uint8_t frame_cycle)
 Initialize the parameters of Block type stage.
static void same_data_frame (uint8_t EPD_type_index, uint8_t bwdata, uint32_t work_time)
 For Frame type waveform to update all black/white pattern.
void nothing_line (uint8_t EPD_type_index)
 Write nothing Line to COG.
void read_line_data_handle (uint8_t EPD_type_index, uint8_t *image_prt, uint8_t stage_no)
 Get line data of Stage 1 and 3.
void stage_handle_Base (uint8_t EPD_type_index, uint8_t *image_prt, long image_data_address, uint8_t stage_no, uint8_t lineoffset)
 The base function to handle the driving stages for Frame and Block type.
void stage_handle (uint8_t EPD_type_index, uint8_t *image_prt, uint8_t stage_no, uint8_t lineoffset)
 The driving stages from image array (image_data.h) to COG.
static void stage_handle_ex (uint8_t EPD_type_index, long image_data_address, uint8_t stage_no, uint8_t lineoffset)
 The driving stages from memory to COG.
void EPD_display_from_array_prt (uint8_t EPD_type_index, uint8_t *previous_image_ptr, uint8_t *new_image_ptr)
 Write image data from memory array (image_data.h) to the EPD.
void EPD_display_from_flash_prt (uint8_t EPD_type_index, long previous_image_flash_address, long new_image_flash_address, EPD_read_flash_handler On_EPD_read_flash)
 Write image data from Flash memory to the EPD.
static void dummy_line (uint8_t EPD_type_index)
 Write Dummy Line to COG.
static void border_dummy_line (uint8_t EPD_type_index)
 Write Border(Input) Dummy Line.
uint8_t EPD_power_off (uint8_t EPD_type_index)
 Power Off COG Driver.

Detailed Description

The waveform driving processes and updating stages of G2 COG with V230 EPD.

Copyright (c) 2012-2014 Pervasive Displays Inc. All rights reserved.

Definition in file EPD_COG_process_v230_G2.cpp.


Function Documentation

static void border_dummy_line ( uint8_t  EPD_type_index ) [static]

Write Border(Input) Dummy Line.

Note:
Set Border byte 0xFF to write Black and set 0xAA to write White
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 760 of file EPD_COG_process_v230_G2.cpp.

void COG_driver_EPDtype_select ( uint8_t  EPD_type_index )

Select the EPD size to get line data array for driving COG.

Parameters:
EPD_type_indexThe defined EPD size

Definition at line 240 of file EPD_COG_process_v230_G2.cpp.

static void dummy_line ( uint8_t  EPD_type_index ) [static]

Write Dummy Line to COG.

Note:
A line whose all Scan Bytes are 0x00
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 728 of file EPD_COG_process_v230_G2.cpp.

void EPD_display_from_array_prt ( uint8_t  EPD_type_index,
uint8_t *  previous_image_ptr,
uint8_t *  new_image_ptr 
)

Write image data from memory array (image_data.h) to the EPD.

Parameters:
EPD_type_indexThe defined EPD size
previous_image_ptrThe pointer of memory that stores previous image
new_image_ptrThe pointer of memory that stores new image

Definition at line 690 of file EPD_COG_process_v230_G2.cpp.

void EPD_display_from_flash_prt ( uint8_t  EPD_type_index,
long  previous_image_flash_address,
long  new_image_flash_address,
EPD_read_flash_handler  On_EPD_read_flash 
)

Write image data from Flash memory to the EPD.

Note:
This function is additional added here for developer if the image data is stored in Flash.
Parameters:
EPD_type_indexThe defined EPD size
previous_image_flash_addressThe start address of memory that stores previous image
new_image_flash_addressThe start address of memory that stores new image
On_EPD_read_flashDeveloper needs to create an external function to read flash

Definition at line 708 of file EPD_COG_process_v230_G2.cpp.

void EPD_init ( void   )

Initialize the EPD hardware setting.

Definition at line 227 of file EPD_COG_process_v230_G2.cpp.

uint8_t EPD_initialize_driver ( uint8_t  EPD_type_index )

Initialize COG Driver.

Note:
For detailed flow and description, please refer to the COG G2 document Section 4.
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 287 of file EPD_COG_process_v230_G2.cpp.

uint8_t EPD_power_off ( uint8_t  EPD_type_index )

Power Off COG Driver.

Note:
For detailed flow and description, please refer to the COG G2 document Section 6.
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 794 of file EPD_COG_process_v230_G2.cpp.

void EPD_power_on ( void   )

Power on COG Driver.

Note:
For detailed flow and description, please refer to the COG G2 document Section 3.

Definition at line 267 of file EPD_COG_process_v230_G2.cpp.

void nothing_line ( uint8_t  EPD_type_index )

Write nothing Line to COG.

Note:
A line whose all Scan Bytes are 0x00
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 443 of file EPD_COG_process_v230_G2.cpp.

void read_line_data_handle ( uint8_t  EPD_type_index,
uint8_t *  image_prt,
uint8_t  stage_no 
)

Get line data of Stage 1 and 3.

Note:
  • One dot/pixel is comprised of 2 bits which are White(10), Black(11) or Nothing(01). The image data bytes must be divided into Odd and Even bytes.
  • The COG driver uses a buffer to write one line of data (FIFO) - interlaced It's different order from COG_G1 Odd byte {D(199,y),D(197,y), D(195,y), D(193,y)}, ... ,{D(7,y),D(5,y),D(3,y), D(1,y)} Scan byte {S(96), S(95)...} Odd byte {D(2,y),D(4,y), D(6,y), D(8,y)}, ... ,{D(194,y),D(196,y),D(198,y), D(200,y)}
  • For more details on the driving stages, please refer to the COG G2 document Section 5.
Parameters:
EPD_type_indexThe defined EPD size
image_ptrThe pointer of memory that stores image that will send to COG
stage_noThe assigned stage number that will proceed

Definition at line 470 of file EPD_COG_process_v230_G2.cpp.

static void same_data_frame ( uint8_t  EPD_type_index,
uint8_t  bwdata,
uint32_t  work_time 
) [static]

For Frame type waveform to update all black/white pattern.

Parameters:
EPD_type_indexThe defined EPD size
bwdataBlack or White color to whole screen
work_timeThe working time

Definition at line 409 of file EPD_COG_process_v230_G2.cpp.

static void set_temperature_factor ( uint8_t  EPD_type_index ) [static]

According to EPD size and temperature to get stage_time.

Note:
Refer to COG document Section 5.3 for more details
Parameters:
EPD_type_indexThe defined EPD size

Definition at line 212 of file EPD_COG_process_v230_G2.cpp.

void stage_handle ( uint8_t  EPD_type_index,
uint8_t *  image_prt,
uint8_t  stage_no,
uint8_t  lineoffset 
)

The driving stages from image array (image_data.h) to COG.

Parameters:
EPD_type_indexThe defined EPD size
image_ptrThe pointer of image array that stores image that will send to COG
stage_noThe assigned stage number that will proceed
lineoffsetLine data offset

Definition at line 662 of file EPD_COG_process_v230_G2.cpp.

void stage_handle_Base ( uint8_t  EPD_type_index,
uint8_t *  image_prt,
long  image_data_address,
uint8_t  stage_no,
uint8_t  lineoffset 
)

The base function to handle the driving stages for Frame and Block type.

Note:
  • There are 3 stages to complete an image update on COG_V230_G2 type EPD.
  • For more details on the driving stages, please refer to the COG G2 document Section 5.4
Parameters:
EPD_type_indexThe defined EPD size
image_ptrThe pointer of image array that stores image that will send to COG
image_data_addressThe address of memory that stores image
stage_noThe assigned stage number that will proceed
lineoffsetLine data offset

Stage 2: BLACK/WHITE image, Frame type

Stage 1 & 3, Block type

Definition at line 543 of file EPD_COG_process_v230_G2.cpp.

static void stage_handle_ex ( uint8_t  EPD_type_index,
long  image_data_address,
uint8_t  stage_no,
uint8_t  lineoffset 
) [static]

The driving stages from memory to COG.

Note:
  • This function is additional added here for developer if the image data is stored in Flash memory.
Parameters:
EPD_type_indexThe defined EPD size
image_data_addressThe address of flash memory that stores image
stage_noThe assigned stage number that will proceed
lineoffsetLine data offset

Definition at line 679 of file EPD_COG_process_v230_G2.cpp.

void stage_init ( uint8_t  EPD_type_index,
struct EPD_V230_G2_Struct S_epd_v230,
uint8_t  block_size,
uint8_t  step_size,
uint8_t  frame_cycle 
)

Initialize the parameters of Block type stage.

Parameters:
EPD_type_indexThe defined EPD size
EPD_V230_G2_StructThe Block type waveform structure
block_sizeThe width of Block size
step_sizeThe width of Step size
frame_cycleThe width of Step size

Definition at line 385 of file EPD_COG_process_v230_G2.cpp.