|
41 | 41 | //| This allocates a very large framebuffer and is most likely to succeed |
42 | 42 | //| the earlier it is attempted. |
43 | 43 | //| |
44 | | -//| Each dp and dn pair of pins must be neighboring, such as 19 and 20. |
45 | | -//| They must also be ordered the same way. In other words, dp must be |
46 | | -//| less than dn for all pairs or dp must be greater than dn for all pairs. |
| 44 | +//| On RP2040, each dp and dn pair of pins must be neighboring, such as |
| 45 | +//| 19 and 20. They must also be ordered the same way. In other words, |
| 46 | +//| dp must be less than dn for all pairs or dp must be greater than dn |
| 47 | +//| for all pairs. |
| 48 | +//| |
| 49 | +//| On RP2350, all pins must be an HSTX output but can be in any order. |
47 | 50 | //| |
48 | 51 | //| The framebuffer pixel format varies depending on color_depth: |
49 | 52 | //| |
|
53 | 56 | //| * 8 - Each byte is a pixels in RGB332 format. |
54 | 57 | //| * 16 - Each two bytes are a pixel in RGB565 format. |
55 | 58 | //| |
56 | | -//| Two output resolutions are currently supported, 640x480 and 800x480. |
57 | | -//| Monochrome framebuffers (color_depth=1 or 2) must be full resolution. |
58 | | -//| Color framebuffers must be half resolution (320x240 or 400x240) and |
59 | | -//| pixels will be duplicated to create the signal. |
| 59 | +//| Output resolution support varies between the RP2040 and RP2350. |
| 60 | +//| |
| 61 | +//| On RP2040, two output resolutions are currently supported, 640x480 |
| 62 | +//| and 800x480. Monochrome framebuffers (color_depth=1 or 2) must be |
| 63 | +//| full resolution. Color framebuffers must be half resolution (320x240 |
| 64 | +//| or 400x240) and pixels will be duplicated to create the signal. |
| 65 | +//| |
| 66 | +//| On RP2350, output resolution is always 640x480. Monochrome |
| 67 | +//| framebuffers (color_depth=1 or 2) must be full resolution. 4-bit |
| 68 | +//| color must also be full resolution. 8-bit color can be half or full |
| 69 | +//| resolution. 16-bit color must be half resolution due to RAM |
| 70 | +//| limitations. |
60 | 71 | //| |
61 | 72 | //| A Framebuffer is often used in conjunction with a |
62 | 73 | //| `framebufferio.FramebufferDisplay`. |
63 | 74 | //| |
64 | | -//| :param int width: the width of the target display signal. Only 320, 400, 640 or 800 is currently supported depending on color_depth. |
65 | | -//| :param int height: the height of the target display signal. Only 240 or 480 is currently supported depending on color_depth. |
| 75 | +//| :param int width: the width of the target display signal. Only 320, 400, 640 or 800 is currently supported depending on color_depth and chip set. |
| 76 | +//| :param int height: the height of the target display signal. Only 240 or 480 is currently supported depending on color_depth and chip set. |
66 | 77 | //| :param ~microcontroller.Pin clk_dp: the positive clock signal pin |
67 | 78 | //| :param ~microcontroller.Pin clk_dn: the negative clock signal pin |
68 | 79 | //| :param ~microcontroller.Pin red_dp: the positive red signal pin |
|
72 | 83 | //| :param ~microcontroller.Pin blue_dp: the positive blue signal pin |
73 | 84 | //| :param ~microcontroller.Pin blue_dn: the negative blue signal pin |
74 | 85 | //| :param int color_depth: the color depth of the framebuffer in bits. 1, 2 for grayscale |
75 | | -//| and 8 or 16 for color |
| 86 | +//| and 4 (RP2350 only), 8 or 16 for color |
76 | 87 | //| """ |
77 | 88 |
|
78 | 89 | static mp_obj_t picodvi_framebuffer_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *all_args) { |
|
0 commit comments