1- #include "rgb_panel .h"
1+ #include "dpi_panel .h"
22
33#if USE_ESP_LCD
44#include "esp32.h"
1212
1313#include <string.h>
1414
15- STATIC void lcd_rgb_print (const mp_print_t * print , mp_obj_t self_in , mp_print_kind_t kind )
15+ STATIC void lcd_dpi_print (const mp_print_t * print ,
16+ mp_obj_t self_in ,
17+ mp_print_kind_t kind )
1618{
1719 (void ) kind ;
18- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
19- mp_printf (print , "<RGB pclk=%u, width=%u, height=%u>" ,
20- self -> pclk ,
21- self -> width ,
22- self -> height );
20+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
21+ mp_printf (
22+ print ,
23+ "<DPI pclk=%u, width=%u, height=%u>" ,
24+ self -> pclk ,
25+ self -> width ,
26+ self -> height
27+ );
2328}
2429
2530
26- mp_obj_t lcd_rgb_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args )
31+ mp_obj_t lcd_dpi_make_new (const mp_obj_type_t * type ,
32+ size_t n_args ,
33+ size_t n_kw ,
34+ const mp_obj_t * all_args )
2735{
2836 enum {
2937 ARG_data ,
@@ -50,14 +58,14 @@ mp_obj_t lcd_rgb_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw,
5058 { MP_QSTR_pclk , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 8000000 } },
5159 { MP_QSTR_width , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 480 } },
5260 { MP_QSTR_height , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 480 } },
53-
61+
5462 };
5563 mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
5664 mp_arg_parse_all_kw_array (n_args , n_kw , all_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
5765
5866 // create new object
59- lcd_rgb_obj_t * self = m_new_obj (lcd_rgb_obj_t );
60- self -> base .type = & lcd_rgb_type ;
67+ lcd_dpi_obj_t * self = m_new_obj (lcd_dpi_obj_t );
68+ self -> base .type = & lcd_dpi_type ;
6169
6270 // data bus
6371 mp_obj_tuple_t * t = MP_OBJ_TO_PTR (args [ARG_data ].u_obj );
@@ -99,121 +107,133 @@ mp_obj_t lcd_rgb_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw,
99107 self -> width = args [ARG_width ].u_int ;
100108 self -> height = args [ARG_height ].u_int ;
101109
102- hal_lcd_rgb_construct ( self );
110+ hal_lcd_dpi_construct ( & self -> base );
103111 return MP_OBJ_FROM_PTR (self );
104112}
105113
106114
107- STATIC mp_obj_t lcd_rgb_deinit (mp_obj_t self_in )
115+ STATIC mp_obj_t lcd_dpi_deinit (mp_obj_t self_in )
108116{
109- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
110- // m_del_obj(lcd_rgb_obj_t , self);
111- hal_lcd_rgb_del ( self );
117+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
118+ // m_del_obj(lcd_dpi_obj_t , self);
119+ hal_lcd_dpi_del ( & self -> base );
112120 return mp_const_none ;
113121}
114- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_rgb_deinit_obj , lcd_rgb_deinit );
122+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_dpi_deinit_obj , lcd_dpi_deinit );
115123
116124
117- STATIC mp_obj_t lcd_rgb_reset (mp_obj_t self_in )
125+ STATIC mp_obj_t lcd_dpi_reset (mp_obj_t self_in )
118126{
119- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
127+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
120128
121- hal_lcd_rgb_reset ( self );
129+ hal_lcd_dpi_reset ( & self -> base );
122130
123131 return mp_const_none ;
124132}
125- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_rgb_reset_obj , lcd_rgb_reset );
133+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_dpi_reset_obj , lcd_dpi_reset );
126134
127135
128- STATIC mp_obj_t lcd_rgb_init (mp_obj_t self_in )
136+ STATIC mp_obj_t lcd_dpi_init (mp_obj_t self_in )
129137{
130- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
138+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
131139
132- hal_lcd_rgb_init ( self );
140+ hal_lcd_dpi_init ( & self -> base );
133141
134142 return mp_const_none ;
135143}
136- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_rgb_init_obj , lcd_rgb_init );
144+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_dpi_init_obj , lcd_dpi_init );
137145
138146
139- STATIC mp_obj_t lcd_rgb_bitmap (size_t n_args , const mp_obj_t * args_in )
147+ STATIC mp_obj_t lcd_dpi_bitmap (size_t n_args , const mp_obj_t * args_in )
140148{
141- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (args_in [0 ]);
149+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (args_in [0 ]);
142150 mp_buffer_info_t bufinfo ;
143151 mp_get_buffer_raise (args_in [5 ], & bufinfo , MP_BUFFER_READ );
144152
145- hal_lcd_rgb_bitmap (self ,
146- mp_obj_get_int (args_in [1 ]),
147- mp_obj_get_int (args_in [2 ]),
148- mp_obj_get_int (args_in [3 ]),
149- mp_obj_get_int (args_in [4 ]),
150- bufinfo .buf );
153+ hal_lcd_dpi_bitmap (
154+ & self -> base ,
155+ mp_obj_get_int (args_in [1 ]),
156+ mp_obj_get_int (args_in [2 ]),
157+ mp_obj_get_int (args_in [3 ]),
158+ mp_obj_get_int (args_in [4 ]),
159+ bufinfo .buf
160+ );
151161
152162 return mp_const_none ;
153163}
154- STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (lcd_rgb_bitmap_obj , 6 , 6 , lcd_rgb_bitmap );
164+ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN (lcd_dpi_bitmap_obj , 6 , 6 , lcd_dpi_bitmap );
155165
156166
157- STATIC mp_obj_t lcd_rgb_mirror (mp_obj_t self_in ,
158- mp_obj_t mirror_x_in ,
159- mp_obj_t mirror_y_in )
167+ STATIC mp_obj_t lcd_dpi_mirror (mp_obj_t self_in ,
168+ mp_obj_t mirror_x_in ,
169+ mp_obj_t mirror_y_in )
160170{
161- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
171+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
162172
163- hal_lcd_rgb_mirror (self , mp_obj_is_true (mirror_x_in ), mp_obj_is_true (mirror_y_in ));
173+ hal_lcd_dpi_mirror (
174+ & self -> base ,
175+ mp_obj_is_true (mirror_x_in ),
176+ mp_obj_is_true (mirror_y_in )
177+ );
164178
165179 return mp_const_none ;
166180}
167- STATIC MP_DEFINE_CONST_FUN_OBJ_3 (lcd_rgb_mirror_obj , lcd_rgb_mirror );
181+ STATIC MP_DEFINE_CONST_FUN_OBJ_3 (lcd_dpi_mirror_obj , lcd_dpi_mirror );
168182
169183
170- STATIC mp_obj_t lcd_rgb_swap_xy (mp_obj_t self_in , mp_obj_t swap_axes_in )
184+ STATIC mp_obj_t lcd_dpi_swap_xy (mp_obj_t self_in , mp_obj_t swap_axes_in )
171185{
172- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
186+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
173187
174- hal_lcd_rgb_swap_xy ( self , mp_obj_is_true (swap_axes_in ));
188+ hal_lcd_dpi_swap_xy ( & self -> base , mp_obj_is_true (swap_axes_in ));
175189
176190 return mp_const_none ;
177191}
178- STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_rgb_swap_xy_obj , lcd_rgb_swap_xy );
192+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_dpi_swap_xy_obj , lcd_dpi_swap_xy );
179193
180194
181- STATIC mp_obj_t lcd_rgb_set_gap (mp_obj_t self_in , mp_obj_t x_gap_in , mp_obj_t y_gap_in )
195+ STATIC mp_obj_t lcd_dpi_set_gap (mp_obj_t self_in ,
196+ mp_obj_t x_gap_in ,
197+ mp_obj_t y_gap_in )
182198{
183- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
199+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
184200
185- hal_lcd_rgb_set_gap (self , mp_obj_get_int (x_gap_in ), mp_obj_get_int (y_gap_in ));
201+ hal_lcd_dpi_set_gap (
202+ & self -> base ,
203+ mp_obj_get_int (x_gap_in ),
204+ mp_obj_get_int (y_gap_in )
205+ );
186206
187207 return mp_const_none ;
188208}
189- STATIC MP_DEFINE_CONST_FUN_OBJ_3 (lcd_rgb_set_gap_obj , lcd_rgb_set_gap );
209+ STATIC MP_DEFINE_CONST_FUN_OBJ_3 (lcd_dpi_set_gap_obj , lcd_dpi_set_gap );
190210
191211
192- STATIC mp_obj_t lcd_rgb_invert_color (mp_obj_t self_in , mp_obj_t invert_in )
212+ STATIC mp_obj_t lcd_dpi_invert_color (mp_obj_t self_in , mp_obj_t invert_in )
193213{
194- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
214+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
195215
196- hal_lcd_rgb_invert_color ( self , mp_obj_is_true (invert_in ));
216+ hal_lcd_dpi_invert_color ( & self -> base , mp_obj_is_true (invert_in ));
197217
198218 return mp_const_none ;
199219}
200- STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_rgb_invert_color_obj , lcd_rgb_invert_color );
220+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_dpi_invert_color_obj , lcd_dpi_invert_color );
201221
202222
203- STATIC mp_obj_t lcd_rgb_disp_off (mp_obj_t self_in , mp_obj_t off_in )
223+ STATIC mp_obj_t lcd_dpi_disp_off (mp_obj_t self_in , mp_obj_t off_in )
204224{
205- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
225+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
206226
207- hal_lcd_rgb_disp_off ( self , mp_obj_is_true (off_in ));
227+ hal_lcd_dpi_disp_off ( & self -> base , mp_obj_is_true (off_in ));
208228
209229 return mp_const_none ;
210230}
211- STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_rgb_disp_off_obj , lcd_rgb_disp_off );
231+ STATIC MP_DEFINE_CONST_FUN_OBJ_2 (lcd_dpi_disp_off_obj , lcd_dpi_disp_off );
212232
213233
214- STATIC mp_obj_t lcd_rgb_backlight_on (mp_obj_t self_in )
234+ STATIC mp_obj_t lcd_dpi_backlight_on (mp_obj_t self_in )
215235{
216- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
236+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
217237
218238 if (self -> backlight != MP_OBJ_NULL ) {
219239 mp_hal_pin_obj_t backlight_pin = mp_hal_get_pin_obj (self -> backlight );
@@ -223,12 +243,12 @@ STATIC mp_obj_t lcd_rgb_backlight_on(mp_obj_t self_in)
223243
224244 return mp_const_none ;
225245}
226- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_rgb_backlight_on_obj , lcd_rgb_backlight_on );
246+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_dpi_backlight_on_obj , lcd_dpi_backlight_on );
227247
228248
229- STATIC mp_obj_t lcd_rgb_backlight_off (mp_obj_t self_in )
249+ STATIC mp_obj_t lcd_dpi_backlight_off (mp_obj_t self_in )
230250{
231- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
251+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
232252
233253 if (self -> backlight != MP_OBJ_NULL ) {
234254 mp_hal_pin_obj_t backlight_pin = mp_hal_get_pin_obj (self -> backlight );
@@ -238,19 +258,19 @@ STATIC mp_obj_t lcd_rgb_backlight_off(mp_obj_t self_in)
238258
239259 return mp_const_none ;
240260}
241- STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_rgb_backlight_off_obj , lcd_rgb_backlight_off );
261+ STATIC MP_DEFINE_CONST_FUN_OBJ_1 (lcd_dpi_backlight_off_obj , lcd_dpi_backlight_off );
242262
243263
244264#if 0
245- // STATIC mp_obj_t lcd_rgb_rgb565 (size_t n_args, const mp_obj_t *args_in)
265+ // STATIC mp_obj_t lcd_dpi_dpi565 (size_t n_args, const mp_obj_t *args_in)
246266// {
247- // lcd_rgb_obj_t *self = MP_OBJ_TO_PTR(args_in[0]);
267+ // lcd_dpi_obj_t *self = MP_OBJ_TO_PTR(args_in[0]);
248268// lcd_i80_obj_t *i8080_obj = MP_OBJ_TO_PTR(self->bus_obj);
249269// uint16_t color = 0;
250270// uint16_t a = 0x1234;
251271
252- // color = ((mp_obj_get_int(args_in[1]) & 0xF8) << 8) |
253- // ((mp_obj_get_int(args_in[2]) & 0xFC) << 3) |
272+ // color = ((mp_obj_get_int(args_in[1]) & 0xF8) << 8) |
273+ // ((mp_obj_get_int(args_in[2]) & 0xFC) << 3) |
254274// ((mp_obj_get_int(args_in[3]) & 0xF8) >> 3);
255275
256276// if ((*(char *)&a) == 0x34) {
@@ -265,32 +285,32 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(lcd_rgb_backlight_off_obj, lcd_rgb_backlight_of
265285
266286// return MP_OBJ_NEW_SMALL_INT(color);
267287// }
268- // STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(lcd_rgb_rgb565_obj , 4, 4, lcd_rgb_rgb565 );
288+ // STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(lcd_dpi_rgb565_obj , 4, 4, lcd_dpi_rgb565 );
269289#endif
270290
271291
272- STATIC const mp_rom_map_elem_t lcd_rgb_locals_dict_table [] = {
273- { MP_ROM_QSTR (MP_QSTR_deinit ), MP_ROM_PTR (& lcd_rgb_deinit_obj ) },
274- { MP_ROM_QSTR (MP_QSTR_reset ), MP_ROM_PTR (& lcd_rgb_reset_obj ) },
275- { MP_ROM_QSTR (MP_QSTR_init ), MP_ROM_PTR (& lcd_rgb_init_obj ) },
276- { MP_ROM_QSTR (MP_QSTR_bitmap ), MP_ROM_PTR (& lcd_rgb_bitmap_obj ) },
277- { MP_ROM_QSTR (MP_QSTR_mirror ), MP_ROM_PTR (& lcd_rgb_mirror_obj ) },
278- { MP_ROM_QSTR (MP_QSTR_swap_xy ), MP_ROM_PTR (& lcd_rgb_swap_xy_obj ) },
279- { MP_ROM_QSTR (MP_QSTR_set_gap ), MP_ROM_PTR (& lcd_rgb_set_gap_obj ) },
280- { MP_ROM_QSTR (MP_QSTR_invert_color ), MP_ROM_PTR (& lcd_rgb_invert_color_obj ) },
281- { MP_ROM_QSTR (MP_QSTR_disp_off ), MP_ROM_PTR (& lcd_rgb_disp_off_obj ) },
282- { MP_ROM_QSTR (MP_QSTR_backlight_on ), MP_ROM_PTR (& lcd_rgb_backlight_on_obj ) },
283- { MP_ROM_QSTR (MP_QSTR_backlight_off ), MP_ROM_PTR (& lcd_rgb_backlight_off_obj ) },
284- // { MP_ROM_QSTR(MP_QSTR_color565), MP_ROM_PTR(&lcd_rgb_rgb565_obj ) },
285- { MP_ROM_QSTR (MP_QSTR___del__ ), MP_ROM_PTR (& lcd_rgb_deinit_obj ) },
292+ STATIC const mp_rom_map_elem_t lcd_dpi_locals_dict_table [] = {
293+ { MP_ROM_QSTR (MP_QSTR_deinit ), MP_ROM_PTR (& lcd_dpi_deinit_obj ) },
294+ { MP_ROM_QSTR (MP_QSTR_reset ), MP_ROM_PTR (& lcd_dpi_reset_obj ) },
295+ { MP_ROM_QSTR (MP_QSTR_init ), MP_ROM_PTR (& lcd_dpi_init_obj ) },
296+ { MP_ROM_QSTR (MP_QSTR_bitmap ), MP_ROM_PTR (& lcd_dpi_bitmap_obj ) },
297+ { MP_ROM_QSTR (MP_QSTR_mirror ), MP_ROM_PTR (& lcd_dpi_mirror_obj ) },
298+ { MP_ROM_QSTR (MP_QSTR_swap_xy ), MP_ROM_PTR (& lcd_dpi_swap_xy_obj ) },
299+ { MP_ROM_QSTR (MP_QSTR_set_gap ), MP_ROM_PTR (& lcd_dpi_set_gap_obj ) },
300+ { MP_ROM_QSTR (MP_QSTR_invert_color ), MP_ROM_PTR (& lcd_dpi_invert_color_obj ) },
301+ { MP_ROM_QSTR (MP_QSTR_disp_off ), MP_ROM_PTR (& lcd_dpi_disp_off_obj ) },
302+ { MP_ROM_QSTR (MP_QSTR_backlight_on ), MP_ROM_PTR (& lcd_dpi_backlight_on_obj ) },
303+ { MP_ROM_QSTR (MP_QSTR_backlight_off ), MP_ROM_PTR (& lcd_dpi_backlight_off_obj ) },
304+ // { MP_ROM_QSTR(MP_QSTR_color565), MP_ROM_PTR(&lcd_dpi_rgb565_obj ) },
305+ { MP_ROM_QSTR (MP_QSTR___del__ ), MP_ROM_PTR (& lcd_dpi_deinit_obj ) },
286306};
287- STATIC MP_DEFINE_CONST_DICT (lcd_rgb_locals_dict , lcd_rgb_locals_dict_table );
307+ STATIC MP_DEFINE_CONST_DICT (lcd_dpi_locals_dict , lcd_dpi_locals_dict_table );
288308
289309
290- const mp_obj_type_t lcd_rgb_type = {
310+ const mp_obj_type_t lcd_dpi_type = {
291311 { & mp_type_type },
292- .name = MP_QSTR_RGB ,
293- .print = lcd_rgb_print ,
294- .make_new = lcd_rgb_make_new ,
295- .locals_dict = (mp_obj_dict_t * )& lcd_rgb_locals_dict ,
296- };
312+ .name = MP_QSTR_DPI ,
313+ .print = lcd_dpi_print ,
314+ .make_new = lcd_dpi_make_new ,
315+ .locals_dict = (mp_obj_dict_t * )& lcd_dpi_locals_dict ,
316+ };
0 commit comments