Skip to content

Commit f7410be

Browse files
authored
Added offset_x to qrcode_binary (#30)
1 parent 4a2cce8 commit f7410be

1 file changed

Lines changed: 18 additions & 17 deletions

File tree

  • components/micropython/port/src/omv/py

components/micropython/port/src/omv/py/py_lcd.c

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -985,48 +985,49 @@ STATIC mp_obj_t py_lcd_draw_qr_code_binary(size_t n_args, const mp_obj_t *args)
985985
if (lcd_para.width == 0 || lcd_para.width == 0)
986986
mp_raise_msg(&mp_type_ValueError, "not init");
987987

988-
uint16_t y0 = mp_obj_get_int(args[0]);
989-
mp_obj_t binary_qr_obj = args[1];
988+
uint16_t x0 = mp_obj_get_int(args[0]);
989+
uint16_t y0 = mp_obj_get_int(args[1]);
990+
mp_obj_t binary_qr_obj = args[2];
990991
mp_buffer_info_t qr_bufinfo;
991992
mp_get_buffer_raise(binary_qr_obj, &qr_bufinfo, MP_BUFFER_READ);
992993
uint8_t* qr_data = qr_bufinfo.buf;
993994

994995
if (qr_bufinfo.len == 0)
995996
return mp_const_none;
996997

997-
uint16_t max_width = mp_obj_get_int(args[2]);
998+
uint16_t max_width = mp_obj_get_int(args[3]);
998999

9991000
uint16_t dark_color = BLACK;
10001001
uint16_t light_color = WHITE;
10011002
uint16_t bg_color = BLACK;
10021003

1003-
if (n_args >= 4) {
1004+
if (n_args >= 5) {
10041005
mp_obj_t *arg_color;
10051006

1006-
if (mp_obj_is_integer(args[3])) {
1007-
dark_color = mp_obj_get_int(args[3]);
1007+
if (mp_obj_is_integer(args[4])) {
1008+
dark_color = mp_obj_get_int(args[4]);
10081009
} else {
1009-
mp_obj_get_array_fixed_n(args[3], 3, &arg_color);
1010+
mp_obj_get_array_fixed_n(args[4], 3, &arg_color);
10101011
dark_color = COLOR_R8_G8_B8_TO_RGB565(IM_MAX(IM_MIN(mp_obj_get_int(arg_color[0]), COLOR_R8_MAX), COLOR_R8_MIN),
10111012
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[1]), COLOR_G8_MAX), COLOR_G8_MIN),
10121013
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[2]), COLOR_B8_MAX), COLOR_B8_MIN));
10131014
}
10141015

1015-
if (n_args >= 5) {
1016-
if (mp_obj_is_integer(args[4])) {
1017-
light_color = mp_obj_get_int(args[4]);
1016+
if (n_args >= 6) {
1017+
if (mp_obj_is_integer(args[5])) {
1018+
light_color = mp_obj_get_int(args[5]);
10181019
} else {
1019-
mp_obj_get_array_fixed_n(args[4], 3, &arg_color);
1020+
mp_obj_get_array_fixed_n(args[5], 3, &arg_color);
10201021
light_color = COLOR_R8_G8_B8_TO_RGB565(IM_MAX(IM_MIN(mp_obj_get_int(arg_color[0]), COLOR_R8_MAX), COLOR_R8_MIN),
10211022
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[1]), COLOR_G8_MAX), COLOR_G8_MIN),
10221023
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[2]), COLOR_B8_MAX), COLOR_B8_MIN));
10231024
}
10241025

1025-
if (n_args >= 6) {
1026-
if (mp_obj_is_integer(args[5])) {
1027-
bg_color = mp_obj_get_int(args[5]);
1026+
if (n_args >= 7) {
1027+
if (mp_obj_is_integer(args[6])) {
1028+
bg_color = mp_obj_get_int(args[6]);
10281029
} else {
1029-
mp_obj_get_array_fixed_n(args[5], 3, &arg_color);
1030+
mp_obj_get_array_fixed_n(args[6], 3, &arg_color);
10301031
bg_color = COLOR_R8_G8_B8_TO_RGB565(IM_MAX(IM_MIN(mp_obj_get_int(arg_color[0]), COLOR_R8_MAX), COLOR_R8_MIN),
10311032
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[1]), COLOR_G8_MAX), COLOR_G8_MIN),
10321033
IM_MAX(IM_MIN(mp_obj_get_int(arg_color[2]), COLOR_B8_MAX), COLOR_B8_MIN));
@@ -1098,7 +1099,7 @@ STATIC mp_obj_t py_lcd_draw_qr_code_binary(size_t n_args, const mp_obj_t *args)
10981099
}
10991100
}
11001101

1101-
lcd->draw_picture(0, y0, max_width, max_width, (uint8_t *)pixels);
1102+
lcd->draw_picture(x0, y0, max_width, max_width, (uint8_t *)pixels);
11021103
free(pixels);
11031104
return mp_const_none;
11041105
}
@@ -1138,7 +1139,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_line_obj, 3, 5, py_lcd_dr
11381139
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_outline_obj, 3, 5, mcu_lcd_draw_outline);
11391140
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_circle_obj, 4, 5, mcu_lcd_draw_circle);
11401141
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_qr_code_obj, 3, 6, py_lcd_draw_qr_code);
1141-
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_qr_code_binary_obj, 3, 6, py_lcd_draw_qr_code_binary);
1142+
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_lcd_draw_qr_code_binary_obj, 4, 7, py_lcd_draw_qr_code_binary);
11421143

11431144

11441145
static const mp_map_elem_t globals_dict_table[] = {

0 commit comments

Comments
 (0)