1
- #include "rgb_panel .h"
1
+ #include "dpi_panel .h"
2
2
3
3
#if USE_ESP_LCD
4
4
#include "esp32.h"
12
12
13
13
#include <string.h>
14
14
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 )
16
18
{
17
19
(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
+ );
23
28
}
24
29
25
30
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 )
27
35
{
28
36
enum {
29
37
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,
50
58
{ MP_QSTR_pclk , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 8000000 } },
51
59
{ MP_QSTR_width , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 480 } },
52
60
{ MP_QSTR_height , MP_ARG_INT | MP_ARG_KW_ONLY , {.u_int = 480 } },
53
-
61
+
54
62
};
55
63
mp_arg_val_t args [MP_ARRAY_SIZE (allowed_args )];
56
64
mp_arg_parse_all_kw_array (n_args , n_kw , all_args , MP_ARRAY_SIZE (allowed_args ), allowed_args , args );
57
65
58
66
// 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 ;
61
69
62
70
// data bus
63
71
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,
99
107
self -> width = args [ARG_width ].u_int ;
100
108
self -> height = args [ARG_height ].u_int ;
101
109
102
- hal_lcd_rgb_construct ( self );
110
+ hal_lcd_dpi_construct ( & self -> base );
103
111
return MP_OBJ_FROM_PTR (self );
104
112
}
105
113
106
114
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 )
108
116
{
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 );
112
120
return mp_const_none ;
113
121
}
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 );
115
123
116
124
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 )
118
126
{
119
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
127
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
120
128
121
- hal_lcd_rgb_reset ( self );
129
+ hal_lcd_dpi_reset ( & self -> base );
122
130
123
131
return mp_const_none ;
124
132
}
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 );
126
134
127
135
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 )
129
137
{
130
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
138
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
131
139
132
- hal_lcd_rgb_init ( self );
140
+ hal_lcd_dpi_init ( & self -> base );
133
141
134
142
return mp_const_none ;
135
143
}
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 );
137
145
138
146
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 )
140
148
{
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 ]);
142
150
mp_buffer_info_t bufinfo ;
143
151
mp_get_buffer_raise (args_in [5 ], & bufinfo , MP_BUFFER_READ );
144
152
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
+ );
151
161
152
162
return mp_const_none ;
153
163
}
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 );
155
165
156
166
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 )
160
170
{
161
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
171
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
162
172
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
+ );
164
178
165
179
return mp_const_none ;
166
180
}
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 );
168
182
169
183
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 )
171
185
{
172
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
186
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
173
187
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 ));
175
189
176
190
return mp_const_none ;
177
191
}
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 );
179
193
180
194
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 )
182
198
{
183
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
199
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
184
200
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
+ );
186
206
187
207
return mp_const_none ;
188
208
}
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 );
190
210
191
211
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 )
193
213
{
194
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
214
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
195
215
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 ));
197
217
198
218
return mp_const_none ;
199
219
}
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 );
201
221
202
222
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 )
204
224
{
205
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
225
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
206
226
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 ));
208
228
209
229
return mp_const_none ;
210
230
}
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 );
212
232
213
233
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 )
215
235
{
216
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
236
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
217
237
218
238
if (self -> backlight != MP_OBJ_NULL ) {
219
239
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)
223
243
224
244
return mp_const_none ;
225
245
}
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 );
227
247
228
248
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 )
230
250
{
231
- lcd_rgb_obj_t * self = MP_OBJ_TO_PTR (self_in );
251
+ lcd_dpi_obj_t * self = MP_OBJ_TO_PTR (self_in );
232
252
233
253
if (self -> backlight != MP_OBJ_NULL ) {
234
254
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)
238
258
239
259
return mp_const_none ;
240
260
}
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 );
242
262
243
263
244
264
#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)
246
266
// {
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]);
248
268
// lcd_i80_obj_t *i8080_obj = MP_OBJ_TO_PTR(self->bus_obj);
249
269
// uint16_t color = 0;
250
270
// uint16_t a = 0x1234;
251
271
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) |
254
274
// ((mp_obj_get_int(args_in[3]) & 0xF8) >> 3);
255
275
256
276
// if ((*(char *)&a) == 0x34) {
@@ -265,32 +285,32 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(lcd_rgb_backlight_off_obj, lcd_rgb_backlight_of
265
285
266
286
// return MP_OBJ_NEW_SMALL_INT(color);
267
287
// }
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 );
269
289
#endif
270
290
271
291
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 ) },
286
306
};
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 );
288
308
289
309
290
- const mp_obj_type_t lcd_rgb_type = {
310
+ const mp_obj_type_t lcd_dpi_type = {
291
311
{ & 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