PR #2 (merged as 0cc37a8, 2026-09-07) added camera_frame.py, camera_transform.py, camera_formats.py and camera_diag.py. Merged on a static review: every Camera method the scripts call exists in mod_cameraif.c with the argument names and return shapes used (capture_scaled keywords, frame(timeout), test_pattern() read-back, sensor() pair, formats() triples, reg()), and the constructor keywords in camera_formats.py match make_new. Nothing was run on a board.
The PR's own test plan, still unchecked:
One thing to watch: camera_formats.py guesses the board's camera pins through board_config.camera_pins() / CAMERA_PINS and falls back to hard-coded Waveshare P4 numbers. The branch the real board takes is the one that should stay.
PR #2 (merged as
0cc37a8, 2026-09-07) addedcamera_frame.py,camera_transform.py,camera_formats.pyandcamera_diag.py. Merged on a static review: everyCameramethod the scripts call exists inmod_cameraif.cwith the argument names and return shapes used (capture_scaledkeywords,frame(timeout),test_pattern()read-back,sensor()pair,formats()triples,reg()), and the constructor keywords incamera_formats.pymatchmake_new. Nothing was run on a board.The PR's own test plan, still unchecked:
One thing to watch:
camera_formats.pyguesses the board's camera pins throughboard_config.camera_pins()/CAMERA_PINSand falls back to hard-coded Waveshare P4 numbers. The branch the real board takes is the one that should stay.