Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1ebd4a7

Browse files
committed
API changes
1 parentfa090da commit1ebd4a7

File tree

5 files changed

+102
-114
lines changed

5 files changed

+102
-114
lines changed

‎README.md‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
#***IMPORTANT PLEASE READ***
22
_____________________________
33

4+
***API Breaking Change***
5+
`lcd_bus.RGBBus` and`lcd_bus.I80Bus` have had the data pins consilidated into a single parameter.
6+
The parameter name is`data_pins` and it is a tuple of the pin numbers that needs to be passed.
7+
8+
`lcd_bus.RGBBus` had 2 parameters removed. The`disp` and`disp_active_high` parameters. The "disp"
9+
pin is the power pin and it should be set as such with the display driver and not the bus
10+
11+
----------------------------------------------
412

513
The`mpy_cross` build command has been removed. It will be compiled automatically if it has not been compiled yet.
614

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
importrgb_display_framework
2+
importlvglaslv
3+
4+
importlcd_bus
5+
6+
7+
STATE_HIGH=rgb_display_framework.STATE_HIGH
8+
STATE_LOW=rgb_display_framework.STATE_LOW
9+
STATE_PWM=rgb_display_framework.STATE_PWM
10+
11+
BYTE_ORDER_RGB=rgb_display_framework.BYTE_ORDER_RGB
12+
BYTE_ORDER_BGR=rgb_display_framework.BYTE_ORDER_BGR
13+
14+
15+
classILI6122(rgb_display_framework.RGBDisplayDriver):
16+
17+
def__init__(
18+
self,
19+
data_bus,
20+
display_width,
21+
display_height,
22+
frame_buffer1=None,
23+
frame_buffer2=None,
24+
reset_pin=None,
25+
reset_state=STATE_HIGH,
26+
power_pin=None,
27+
power_on_state=STATE_HIGH,
28+
backlight_pin=None,
29+
backlight_on_state=STATE_HIGH,
30+
offset_x=0,
31+
offset_y=0,
32+
color_byte_order=BYTE_ORDER_RGB,
33+
color_space=lv.COLOR_FORMAT.RGB888,# NOQA
34+
rgb565_byte_swap=False,
35+
):
36+
37+
ifnotisinstance(data_bus,lcd_bus.RGBBus):
38+
raiseValueError('invalid databus for the ILI6122 IC')
39+
40+
self._spi_3wire=None
41+
self._bus_shared_pins=False
42+
43+
super().__init__(
44+
data_bus=data_bus,
45+
display_width=display_width,
46+
display_height=display_height,
47+
frame_buffer1=frame_buffer1,
48+
frame_buffer2=frame_buffer2,
49+
reset_pin=reset_pin,
50+
reset_state=reset_state,
51+
power_pin=power_pin,
52+
power_on_state=power_on_state,
53+
backlight_pin=backlight_pin,
54+
backlight_on_state=backlight_on_state,
55+
offset_x=offset_x,
56+
offset_y=offset_y,
57+
color_byte_order=color_byte_order,
58+
color_space=color_space,
59+
rgb565_byte_swap=rgb565_byte_swap,
60+
_cmd_bits=8,
61+
_param_bits=8,
62+
_init_bus=True
63+
)
64+
65+
definit(self):
66+
rgb_display_framework.RGBDisplayDriver.init(self,None)

‎api_drivers/common_api_drivers/frozen/other/task_handler.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def _task_handler(self, _):
155155

156156
exceptExceptionase:
157157
self._running=False
158-
158+
159159
ifself.exception_hook:
160160
self.exception_hook(e)
161161

‎ext_mod/lcd_bus/esp32_src/i80_bus.c‎

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,7 @@
3131
enum {
3232
ARG_dc,
3333
ARG_wr,
34-
ARG_data0,
35-
ARG_data1,
36-
ARG_data2,
37-
ARG_data3,
38-
ARG_data4,
39-
ARG_data5,
40-
ARG_data6,
41-
ARG_data7,
42-
ARG_data8,
43-
ARG_data9,
44-
ARG_data10,
45-
ARG_data11,
46-
ARG_data12,
47-
ARG_data13,
48-
ARG_data14,
49-
ARG_data15,
34+
ARG_data_pins,
5035
ARG_cs,
5136
ARG_freq,
5237
ARG_dc_idle_high,
@@ -62,22 +47,7 @@
6247
constmp_arg_tmake_new_args[]= {
6348
{MP_QSTR_dc,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
6449
{MP_QSTR_wr,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
65-
{MP_QSTR_data0,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
66-
{MP_QSTR_data1,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
67-
{MP_QSTR_data2,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
68-
{MP_QSTR_data3,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
69-
{MP_QSTR_data4,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
70-
{MP_QSTR_data5,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
71-
{MP_QSTR_data6,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
72-
{MP_QSTR_data7,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
73-
{MP_QSTR_data8,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
74-
{MP_QSTR_data9,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
75-
{MP_QSTR_data10,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
76-
{MP_QSTR_data11,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
77-
{MP_QSTR_data12,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
78-
{MP_QSTR_data13,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
79-
{MP_QSTR_data14,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
80-
{MP_QSTR_data15,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
50+
{MP_QSTR_data_pins,MP_ARG_OBJ |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
8151
{MP_QSTR_cs,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
8252
{MP_QSTR_freq,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=10000000 } },
8353
{MP_QSTR_dc_idle_high,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
@@ -109,31 +79,18 @@
10979
self->bus_config.dc_gpio_num= (int)args[ARG_dc].u_int;
11080
self->bus_config.wr_gpio_num= (int)args[ARG_wr].u_int;
11181
self->bus_config.clk_src=LCD_CLK_SRC_PLL160M;
112-
self->bus_config.data_gpio_nums[0]=args[ARG_data0].u_int;
113-
self->bus_config.data_gpio_nums[1]=args[ARG_data1].u_int;
114-
self->bus_config.data_gpio_nums[2]=args[ARG_data2].u_int;
115-
self->bus_config.data_gpio_nums[3]=args[ARG_data3].u_int;
116-
self->bus_config.data_gpio_nums[4]=args[ARG_data4].u_int;
117-
self->bus_config.data_gpio_nums[5]=args[ARG_data5].u_int;
118-
self->bus_config.data_gpio_nums[6]=args[ARG_data6].u_int;
119-
self->bus_config.data_gpio_nums[7]=args[ARG_data7].u_int;
120-
self->bus_config.data_gpio_nums[8]=args[ARG_data8].u_int;
121-
self->bus_config.data_gpio_nums[9]=args[ARG_data9].u_int;
122-
self->bus_config.data_gpio_nums[10]=args[ARG_data10].u_int;
123-
self->bus_config.data_gpio_nums[11]=args[ARG_data11].u_int;
124-
self->bus_config.data_gpio_nums[12]=args[ARG_data12].u_int;
125-
self->bus_config.data_gpio_nums[13]=args[ARG_data13].u_int;
126-
self->bus_config.data_gpio_nums[14]=args[ARG_data14].u_int;
127-
self->bus_config.data_gpio_nums[15]=args[ARG_data15].u_int;
128-
129-
uint8_ti=0;
130-
for (;i<SOC_LCD_I80_BUS_WIDTH;i++) {
131-
if (self->bus_config.data_gpio_nums[i]==-1) {
132-
break;
133-
}
82+
83+
mp_obj_tuple_t*data_pins=MP_OBJ_TO_PTR(args[ARG_data_pins].u_obj);
84+
85+
for (size_ti=0;i<data_pins->len;i++) {
86+
self->bus_config.data_gpio_nums[i]= (int)mp_obj_get_int(data_pins->items[i]);
87+
}
88+
89+
for (size_ti=data_pins->len;i<SOC_LCD_I80_BUS_WIDTH;i++) {
90+
self->bus_config.data_gpio_nums[i]=-1;
13491
}
13592

136-
self->bus_config.bus_width= (size_t)i;
93+
self->bus_config.bus_width= (size_t)data_pins->len;
13794

13895
self->panel_io_config.cs_gpio_num= (int)args[ARG_cs].u_int;
13996
self->panel_io_config.pclk_hz= (uint32_t)args[ARG_freq].u_int;

‎ext_mod/lcd_bus/esp32_src/rgb_bus.c‎

Lines changed: 15 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -83,24 +83,8 @@
8383
ARG_hsync,
8484
ARG_vsync,
8585
ARG_de,
86-
ARG_disp,
8786
ARG_pclk,
88-
ARG_data0,
89-
ARG_data1,
90-
ARG_data2,
91-
ARG_data3,
92-
ARG_data4,
93-
ARG_data5,
94-
ARG_data6,
95-
ARG_data7,
96-
ARG_data8,
97-
ARG_data9,
98-
ARG_data10,
99-
ARG_data11,
100-
ARG_data12,
101-
ARG_data13,
102-
ARG_data14,
103-
ARG_data15,
87+
ARG_data_pins,
10488
ARG_freq,
10589
ARG_hsync_front_porch,
10690
ARG_hsync_back_porch,
@@ -121,24 +105,8 @@
121105
{MP_QSTR_hsync,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
122106
{MP_QSTR_vsync,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
123107
{MP_QSTR_de,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
124-
{MP_QSTR_disp,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
125108
{MP_QSTR_pclk,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
126-
{MP_QSTR_data0,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
127-
{MP_QSTR_data1,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
128-
{MP_QSTR_data2,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
129-
{MP_QSTR_data3,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
130-
{MP_QSTR_data4,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
131-
{MP_QSTR_data5,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
132-
{MP_QSTR_data6,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
133-
{MP_QSTR_data7,MP_ARG_INT |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
134-
{MP_QSTR_data8,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
135-
{MP_QSTR_data9,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
136-
{MP_QSTR_data10,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
137-
{MP_QSTR_data11,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
138-
{MP_QSTR_data12,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
139-
{MP_QSTR_data13,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
140-
{MP_QSTR_data14,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
141-
{MP_QSTR_data15,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=-1 } },
109+
{MP_QSTR_data_pins,MP_ARG_OBJ |MP_ARG_KW_ONLY |MP_ARG_REQUIRED },
142110
{MP_QSTR_freq,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=8000000 } },
143111
{MP_QSTR_hsync_front_porch,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=0 } },
144112
{MP_QSTR_hsync_back_porch,MP_ARG_INT |MP_ARG_KW_ONLY, { .u_int=0 } },
@@ -151,7 +119,6 @@
151119
{MP_QSTR_de_idle_high,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
152120
{MP_QSTR_pclk_idle_high,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
153121
{MP_QSTR_pclk_active_low,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
154-
{MP_QSTR_disp_active_low,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
155122
{MP_QSTR_refresh_on_demand,MP_ARG_BOOL |MP_ARG_KW_ONLY, { .u_bool= false } },
156123
};
157124

@@ -183,22 +150,19 @@
183150
self->panel_io_config.vsync_gpio_num= (int)args[ARG_vsync].u_int;
184151
self->panel_io_config.de_gpio_num= (int)args[ARG_de].u_int;
185152
self->panel_io_config.pclk_gpio_num= (int)args[ARG_pclk].u_int;
186-
self->panel_io_config.data_gpio_nums[0]= (int)args[ARG_data0].u_int;
187-
self->panel_io_config.data_gpio_nums[1]= (int)args[ARG_data1].u_int;
188-
self->panel_io_config.data_gpio_nums[2]= (int)args[ARG_data2].u_int;
189-
self->panel_io_config.data_gpio_nums[3]= (int)args[ARG_data3].u_int;
190-
self->panel_io_config.data_gpio_nums[4]= (int)args[ARG_data4].u_int;
191-
self->panel_io_config.data_gpio_nums[5]= (int)args[ARG_data5].u_int;
192-
self->panel_io_config.data_gpio_nums[6]= (int)args[ARG_data6].u_int;
193-
self->panel_io_config.data_gpio_nums[7]= (int)args[ARG_data7].u_int;
194-
self->panel_io_config.data_gpio_nums[8]= (int)args[ARG_data8].u_int;
195-
self->panel_io_config.data_gpio_nums[9]= (int)args[ARG_data9].u_int;
196-
self->panel_io_config.data_gpio_nums[10]= (int)args[ARG_data10].u_int;
197-
self->panel_io_config.data_gpio_nums[11]= (int)args[ARG_data11].u_int;
198-
self->panel_io_config.data_gpio_nums[12]= (int)args[ARG_data12].u_int;
199-
self->panel_io_config.data_gpio_nums[13]= (int)args[ARG_data13].u_int;
200-
self->panel_io_config.data_gpio_nums[14]= (int)args[ARG_data14].u_int;
201-
self->panel_io_config.data_gpio_nums[15]= (int)args[ARG_data15].u_int;
153+
154+
mp_obj_tuple_t*data_pins=MP_OBJ_TO_PTR(args[ARG_data_pins].u_obj);
155+
156+
for (size_ti=0;i<data_pins->len;i++) {
157+
self->panel_io_config.data_gpio_nums[i]= (int)mp_obj_get_int(data_pins->items[i]);
158+
}
159+
160+
for (size_ti=data_pins->len;i<16;i++) {
161+
self->panel_io_config.data_gpio_nums[i]=-1;
162+
}
163+
164+
self->panel_io_config.data_width= (size_t)data_pins->len;
165+
202166
self->panel_io_config.disp_gpio_num= (int)args[ARG_disp].u_int;
203167
self->panel_io_config.sram_trans_align=8;
204168
self->panel_io_config.psram_trans_align=64;
@@ -207,14 +171,7 @@
207171
self->panel_io_config.flags.fb_in_psram=0;
208172
self->panel_io_config.flags.double_fb=0;
209173

210-
inti=0;
211-
for (;i<16;i++) {
212-
if (self->panel_io_config.data_gpio_nums[i]==-1) {
213-
break;
214-
}
215-
}
216174

217-
self->panel_io_config.data_width= (size_t)i;
218175

219176
#ifCONFIG_LCD_ENABLE_DEBUG_LOG
220177
printf("pclk_hz=%lu\n",self->bus_config.pclk_hz);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp