Skip to content

Commit e75671b

Browse files
committed
website: cameraif joins the org site
Copy approved by Brad, with the measured frame rates deliberately left in the README rather than on the portal card -- they are true of exactly one board and one sensor, which the README says and a card cannot.
1 parent 4b99687 commit e75671b

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

data/repos_db.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,48 @@
263263
}
264264
]
265265
},
266+
"cameraif": {
267+
"tier": 1,
268+
"page": "portal-subdir",
269+
"tier_name": "Core Platform & Board Contract",
270+
"theme_color": "var(--tier-1-amber)",
271+
"eyebrow": "cameraif",
272+
"headline": "cameraif \u2014 a MIPI-CSI camera as a MicroPython object.",
273+
"description": "Point the board at something and read the frame. The sensor is found by probing rather than named in code, so a different camera is a build-time option away, not a rewrite. Hardware JPEG, zero-copy frames and hardware scaling straight into a display's scanout buffer, with every rate in its README measured on the board it names.",
274+
"hero_canvas": {
275+
"app": "encoder",
276+
"width": 480,
277+
"height": 480,
278+
"shape": "square",
279+
"deps": [
280+
"pydevices",
281+
"pydevices-lvgl"
282+
],
283+
"app_url": "https://PyDevices.github.io/assets/apps/encoder.py"
284+
},
285+
"buttons": [
286+
{
287+
"label": "GitHub Repo",
288+
"href": "https://github.com/PyDevices/cameraif",
289+
"primary": true
290+
},
291+
{
292+
"label": "Examples",
293+
"href": "https://github.com/PyDevices/cameraif/tree/main/examples",
294+
"tier_color": true
295+
},
296+
{
297+
"label": "displayif",
298+
"href": "https://pydevices.github.io/displayif/",
299+
"tier_color": true
300+
},
301+
{
302+
"label": "usbif",
303+
"href": "https://pydevices.github.io/usbif/",
304+
"tier_color": true
305+
}
306+
]
307+
},
266308
"pygraphics": {
267309
"tier": 2,
268310
"page": "portal-subdir",

profile/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Standard hardware driver engine and companion reference code.
2727
- [`audioif`](https://github.com/PyDevices/audioif) — CircuitPython's audio system (audiocore, synthio, audiomixer, effects, audiomp3) ported to MicroPython and CPython, extending CircuitPython along the way: dynamics, routing, convolution, and offline rendering. Ships as pydevices-audioif; the instrument and effect libraries built on it ship from audiocomponents.
2828
- [`audiocomponents`](https://github.com/PyDevices/audiocomponents) — The instrument and effect libraries for audioif: audioinstruments (53 modelled classics, from the TR-808 to the DX7) and audioeffects (46 effect classes and racks), pure Python on MicroPython and CPython. Ships as pydevices-audioinstruments and pydevices-audioeffects, each a standalone distribution and a MIP package.
2929
- [`usbif`](https://github.com/PyDevices/usbif) — A board a computer sees as a sound card, a MIDI instrument, a keyboard, a drive or a webcam — and, on the same board, a USB host that a keyboard, thumb drive, MIDI controller or camera plugs into. The third PyDevices *if module after displayif and audioif: a native C module with a thin, stable Python surface that runs unchanged on a workstation.
30+
- [`cameraif`](https://github.com/PyDevices/cameraif) — Point the board at something and read the frame. The sensor is found by probing rather than named in code, so a different camera is a build-time option away, not a rewrite. Hardware JPEG, zero-copy frames and hardware scaling straight into a display's scanout buffer, with every rate in its README measured on the board it names.
3031
- [`pydevices-examples`](https://github.com/PyDevices/pydevices-examples) — Comprehensive example code, direct MicroPython WebAssembly demos, board configurations, and multi-interpreter showcase benchmarks.
3132

3233
### Tier 2: Python Framebuffers & GUI Toolkits

0 commit comments

Comments
 (0)