@@ -36,6 +36,15 @@ uint8_t refresh_sequence[] = {
36
36
};
37
37
38
38
void 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
39
48
fourwire_fourwire_obj_t * bus = & allocate_display_bus ()-> fourwire_bus ;
40
49
busio_spi_obj_t * spi = & bus -> inline_bus ;
41
50
common_hal_busio_spi_construct (spi , & pin_GPIO12 , & pin_GPIO11 , NULL , false);
@@ -51,6 +60,7 @@ void board_init(void) {
51
60
0 , // Polarity
52
61
0 ); // Phase
53
62
63
+ // Set up EPD object
54
64
epaperdisplay_epaperdisplay_obj_t * display = & allocate_display ()-> epaper_display ;
55
65
display -> base .type = & epaperdisplay_epaperdisplay_type ;
56
66
common_hal_epaperdisplay_epaperdisplay_construct (display ,
@@ -62,11 +72,11 @@ void board_init(void) {
62
72
sizeof (stop_sequence ),
63
73
400 , // width
64
74
300 , // height
65
- 400 , // RAM width
66
- 300 , // RAM height
75
+ 300 , // RAM width
76
+ 400 , // RAM height
67
77
0 , // colstart
68
78
0 , // rowstart
69
- 0 , // rotation
79
+ 90 , // rotation
70
80
NO_COMMAND , // set_column_window_command
71
81
NO_COMMAND , // set_row_window_command
72
82
NO_COMMAND , // set_current_column_command
@@ -89,4 +99,14 @@ void board_init(void) {
89
99
false); // address_little_endian
90
100
}
91
101
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
+
92
112
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
0 commit comments