@@ -67,9 +67,13 @@ void common_hal_paralleldisplay_parallelbus_construct(paralleldisplay_parallelbu
67
67
common_hal_digitalio_digitalinout_construct (& self -> chip_select , chip_select );
68
68
common_hal_digitalio_digitalinout_switch_to_output (& self -> chip_select , true, DRIVE_MODE_PUSH_PULL );
69
69
70
- self -> read .base .type = & digitalio_digitalinout_type ;
71
- common_hal_digitalio_digitalinout_construct (& self -> read , read );
72
- common_hal_digitalio_digitalinout_switch_to_output (& self -> read , true, DRIVE_MODE_PUSH_PULL );
70
+ self -> read .base .type = & mp_type_NoneType ;
71
+ if (read != NULL ) {
72
+ self -> read .base .type = & digitalio_digitalinout_type ;
73
+ common_hal_digitalio_digitalinout_construct (& self -> read , read );
74
+ common_hal_digitalio_digitalinout_switch_to_output (& self -> read , true, DRIVE_MODE_PUSH_PULL );
75
+ never_reset_pin_number (read -> number );
76
+ }
73
77
74
78
self -> data0_pin = data_pin ;
75
79
self -> write = write_pin ;
@@ -86,7 +90,6 @@ void common_hal_paralleldisplay_parallelbus_construct(paralleldisplay_parallelbu
86
90
never_reset_pin_number (command -> number );
87
91
never_reset_pin_number (chip_select -> number );
88
92
never_reset_pin_number (write_pin );
89
- never_reset_pin_number (read -> number );
90
93
for (uint8_t i = 0 ; i < 8 ; i ++ ) {
91
94
never_reset_pin_number (data_pin + i );
92
95
}
@@ -121,8 +124,12 @@ void common_hal_paralleldisplay_parallelbus_deinit(paralleldisplay_parallelbus_o
121
124
reset_pin_number (self -> command .pin -> number );
122
125
reset_pin_number (self -> chip_select .pin -> number );
123
126
reset_pin_number (self -> write );
124
- reset_pin_number (self -> read .pin -> number );
125
- reset_pin_number (self -> reset .pin -> number );
127
+ if (self -> read .base .type != & mp_type_NoneType ) {
128
+ reset_pin_number (self -> read .pin -> number );
129
+ }
130
+ if (self -> reset .base .type != & mp_type_NoneType ) {
131
+ reset_pin_number (self -> reset .pin -> number );
132
+ }
126
133
}
127
134
128
135
bool common_hal_paralleldisplay_parallelbus_reset (mp_obj_t obj ) {
0 commit comments