@@ -36,6 +36,15 @@ uint8_t refresh_sequence[] = {
3636};
3737
3838void board_init (void ) {
39+
40+ // Pull EPD Enable pin high
41+ digitalio_digitalinout_obj_t vext_pin_obj ;
42+ vext_pin_obj .base .type = & digitalio_digitalinout_type ;
43+ common_hal_digitalio_digitalinout_construct (& vext_pin_obj , & pin_GPIO7 );
44+ common_hal_digitalio_digitalinout_switch_to_output (& vext_pin_obj , true, DRIVE_MODE_PUSH_PULL );
45+ common_hal_digitalio_digitalinout_never_reset (& vext_pin_obj );
46+
47+ // Set up SPI bus
3948 fourwire_fourwire_obj_t * bus = & allocate_display_bus ()-> fourwire_bus ;
4049 busio_spi_obj_t * spi = & bus -> inline_bus ;
4150 common_hal_busio_spi_construct (spi , & pin_GPIO12 , & pin_GPIO11 , NULL , false);
@@ -51,6 +60,7 @@ void board_init(void) {
5160 0 , // Polarity
5261 0 ); // Phase
5362
63+ // Set up EPD object
5464 epaperdisplay_epaperdisplay_obj_t * display = & allocate_display ()-> epaper_display ;
5565 display -> base .type = & epaperdisplay_epaperdisplay_type ;
5666 common_hal_epaperdisplay_epaperdisplay_construct (display ,
@@ -62,11 +72,11 @@ void board_init(void) {
6272 sizeof (stop_sequence ),
6373 400 , // width
6474 300 , // height
65- 400 , // RAM width
66- 300 , // RAM height
75+ 300 , // RAM width
76+ 400 , // RAM height
6777 0 , // colstart
6878 0 , // rowstart
69- 0 , // rotation
79+ 90 , // rotation
7080 NO_COMMAND , // set_column_window_command
7181 NO_COMMAND , // set_row_window_command
7282 NO_COMMAND , // set_current_column_command
@@ -89,4 +99,14 @@ void board_init(void) {
8999 false); // address_little_endian
90100}
91101
102+ void board_deinit (void ) {
103+ epaperdisplay_epaperdisplay_obj_t * display = & displays [0 ].epaper_display ;
104+ if (display -> base .type == & epaperdisplay_epaperdisplay_type ) {
105+ while (common_hal_epaperdisplay_epaperdisplay_get_busy (display )) {
106+ RUN_BACKGROUND_TASKS ;
107+ }
108+ }
109+ common_hal_displayio_release_displays ();
110+ }
111+
92112// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
0 commit comments