Skip to content

Commit ed0cc92

Browse files
committed
More camera pin definition improvements
1 parent d426ba7 commit ed0cc92

File tree

1 file changed

+35
-11
lines changed
  • ports/espressif/boards/m5stack_timer_camera_x

1 file changed

+35
-11
lines changed
Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,64 @@
1+
#include "py/objtuple.h"
12
#include "shared-bindings/board/__init__.h"
23
#include "shared-module/displayio/__init__.h"
34

45
CIRCUITPY_BOARD_BUS_SINGLETON(bm8563_i2c, i2c, 1)
56

7+
STATIC const mp_rom_obj_tuple_t camera_data_tuple = {
8+
{&mp_type_tuple},
9+
8,
10+
{
11+
MP_ROM_PTR(&pin_GPIO19),
12+
MP_ROM_PTR(&pin_GPIO36),
13+
MP_ROM_PTR(&pin_GPIO18),
14+
MP_ROM_PTR(&pin_GPIO39),
15+
MP_ROM_PTR(&pin_GPIO5),
16+
MP_ROM_PTR(&pin_GPIO34),
17+
MP_ROM_PTR(&pin_GPIO35),
18+
MP_ROM_PTR(&pin_GPIO32)
19+
}
20+
};
21+
622
STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
723
CIRCUITPYTHON_BOARD_DICT_STANDARD_ITEMS
824

925
{ MP_ROM_QSTR(MP_QSTR_LED), MP_ROM_PTR(&pin_GPIO2) },
1026

27+
// Connector, the label says G V SDA/G4 SCL/G13
1128
{ MP_ROM_QSTR(MP_QSTR_G4), MP_ROM_PTR(&pin_GPIO4) },
1229
{ MP_ROM_QSTR(MP_QSTR_G13), MP_ROM_PTR(&pin_GPIO13) },
1330
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
1431
{ MP_ROM_QSTR(MP_QSTR_SCL), MP_ROM_PTR(&pin_GPIO13) },
1532
{ MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) },
1633

17-
{ MP_ROM_QSTR(MP_QSTR_G33), MP_ROM_PTR(&pin_GPIO33) },
34+
// Battery pins, no alternative names as they cannot be used for anything else.
1835
{ MP_ROM_QSTR(MP_QSTR_BAT_HOLD), MP_ROM_PTR(&pin_GPIO33) },
19-
{ MP_ROM_QSTR(MP_QSTR_G38), MP_ROM_PTR(&pin_GPIO38) },
2036
{ MP_ROM_QSTR(MP_QSTR_BAT_ADC), MP_ROM_PTR(&pin_GPIO38) },
2137

22-
{ MP_ROM_QSTR(MP_QSTR_G14), MP_ROM_PTR(&pin_GPIO14) },
23-
{ MP_ROM_QSTR(MP_QSTR_G12), MP_ROM_PTR(&pin_GPIO12) },
38+
// BM8563 I2C bus, no alternative names as they cannot be used for anything else.
2439
{ MP_ROM_QSTR(MP_QSTR_BM8563_SCL), MP_ROM_PTR(&pin_GPIO14) },
2540
{ MP_ROM_QSTR(MP_QSTR_BM8563_SDA), MP_ROM_PTR(&pin_GPIO12) },
2641
{ MP_ROM_QSTR(MP_QSTR_BM8563_I2C), MP_ROM_PTR(&board_bm8563_i2c_obj) },
2742

28-
{ MP_ROM_QSTR(MP_QSTR_G22), MP_ROM_PTR(&pin_GPIO22) },
43+
// Camera pins
2944
{ MP_ROM_QSTR(MP_QSTR_CAMERA_VSYNC), MP_ROM_PTR(&pin_GPIO22) },
30-
31-
{ MP_ROM_QSTR(MP_QSTR_G26), MP_ROM_PTR(&pin_GPIO26) },
3245
{ MP_ROM_QSTR(MP_QSTR_CAMERA_HREF), MP_ROM_PTR(&pin_GPIO26) },
33-
34-
{ MP_ROM_QSTR(MP_QSTR_G21), MP_ROM_PTR(&pin_GPIO21) },
3546
{ MP_ROM_QSTR(MP_QSTR_CAMERA_PCLK), MP_ROM_PTR(&pin_GPIO21) },
47+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_XCLK), MP_ROM_PTR(&pin_GPIO27) }, // xclk_freq_hz = 20000000
48+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_RESET), MP_ROM_PTR(&pin_GPIO15) },
49+
50+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_SSCB_SDA), MP_ROM_PTR(&pin_GPIO25) },
51+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_SSCB_SCL), MP_ROM_PTR(&pin_GPIO23) },
52+
53+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA), MP_ROM_PTR(&camera_data_tuple) },
3654

37-
{ MP_ROM_QSTR(MP_QSTR_G27), MP_ROM_PTR(&pin_GPIO27) },
38-
{ MP_ROM_QSTR(MP_QSTR_CAMERA_XCLK), MP_ROM_PTR(&pin_GPIO27) }
55+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA7), MP_ROM_PTR(&pin_GPIO19) },
56+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA6), MP_ROM_PTR(&pin_GPIO36) },
57+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA5), MP_ROM_PTR(&pin_GPIO18) },
58+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA4), MP_ROM_PTR(&pin_GPIO39) },
59+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA3), MP_ROM_PTR(&pin_GPIO5) },
60+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA2), MP_ROM_PTR(&pin_GPIO34) },
61+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA1), MP_ROM_PTR(&pin_GPIO35) },
62+
{ MP_ROM_QSTR(MP_QSTR_CAMERA_DATA0), MP_ROM_PTR(&pin_GPIO32) }
3963
};
4064
MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);

0 commit comments

Comments
 (0)