Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to the picamera2 library for camera control & image acquisition #19

Merged
merged 58 commits into from
Mar 22, 2024
Merged
Changes from 1 commit
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
babd3d7
Add the new imager for picamera2
W7CH Nov 16, 2023
340b4f5
work on the imagernew process and the picamera class
W7CH Nov 16, 2023
919064b
Manage the camera parameters in picamera
W7CH Nov 30, 2023
7825cba
Capture high resolution images while video recording
W7CH Dec 7, 2023
e4bc5a7
Add picamera modifications to the adafruit hat
W7CH Dec 8, 2023
42c238d
Create the exposure time / shutter speed methods
W7CH Dec 8, 2023
8eff6ff
Update for the purpose of resolving streaming issue
W7CH Dec 8, 2023
02f80ae
Draft the picamera2 thread
W7CH Dec 14, 2023
4fa608b
Implement the picamera thread
W7CH Dec 15, 2023
09d0bbc
Replicate the remaining imager process methods for picamera
W7CH Dec 25, 2023
5f81ff9
Merge branch 'main' into feature/picamera2-module
ethanjli Mar 10, 2024
4646c8a
Add some newly required packages to `pyproject.toml`
ethanjli Mar 10, 2024
1e9eac5
Fix erroneous separation of camera frame production & consumption acr…
ethanjli Mar 13, 2024
af3bdc1
Merge my adafruithat changes with the pscopehat version
ethanjli Mar 14, 2024
bc9f7aa
Try to set up autoformatting for imagernew
ethanjli Mar 15, 2024
4e9613f
Add linting of imagernew with pylama
ethanjli Mar 15, 2024
aff6e87
Increase max line length to 100, start refactoring `__message_settings`
ethanjli Mar 15, 2024
03dc737
Decompose the `__message_settings` method
ethanjli Mar 15, 2024
f14afe2
Add import order autoformatting/linting
ethanjli Mar 15, 2024
60011e8
Make black inclusions/exclusions consistent with those for isort & py…
ethanjli Mar 15, 2024
7b301d3
Add more lint checks, including no non-module `from` imports
ethanjli Mar 16, 2024
4915ccf
Update GitHub Actions CI job
ethanjli Mar 16, 2024
ceb9a1f
Install apt dependency for backend
ethanjli Mar 16, 2024
3c6cce7
Resolve some easier linter complaints
ethanjli Mar 16, 2024
50f71f7
Fix `poetry install` on the RPi
ethanjli Mar 16, 2024
1ba844c
Refactor the MJPEG-related classes
ethanjli Mar 16, 2024
823c6fb
Confirm image saving during preview; comment out camera controls code…
ethanjli Mar 17, 2024
85335de
Remove `picam_threading`, restore `ImagerProcess` functionality
ethanjli Mar 17, 2024
5aa3968
Try to unbreak numpy installation on GitHub Actions
ethanjli Mar 17, 2024
ed401d2
Simplify the files I've rewritten so far
ethanjli Mar 17, 2024
c345758
Update some comments, adjust method names for consistency
ethanjli Mar 17, 2024
2c5c0c7
Merge the `streams` file into the `camera` module
ethanjli Mar 17, 2024
23afe29
Reorder classes in `camera` module
ethanjli Mar 17, 2024
4a54739
Make type checks stricter; fix exposure time controls
ethanjli Mar 17, 2024
0b05406
Make white balance gain & exposure time settings work again
ethanjli Mar 17, 2024
4dc6b78
Split the stop-flow domain logic out from the imager module
ethanjli Mar 19, 2024
b2aabf6
Suppress lint error which can only be solved on python 3.10
ethanjli Mar 19, 2024
da0557b
Decompose MQTT API for camera settings to separate class
ethanjli Mar 19, 2024
e00f722
Move camera controler to its own subpackage
ethanjli Mar 19, 2024
371c0ea
Improve naming, update TODOs & FIXMEs
ethanjli Mar 19, 2024
9ef7e42
Rewrite camera settings adjustment
ethanjli Mar 20, 2024
ac04a2a
Resolve linter complaints
ethanjli Mar 20, 2024
7f4bfc0
Apply initial camera controls settings before starting the camera
ethanjli Mar 20, 2024
fed1c64
Slightly reorganize hardware config loading
ethanjli Mar 20, 2024
169c0e6
Update `CHANGELOG.md`
ethanjli Mar 20, 2024
2428028
Tweak variable names and comments
ethanjli Mar 20, 2024
950f0da
Add error-handling for invalid camera settings
ethanjli Mar 21, 2024
be3264d
Handle uncaught errors in the camera MQTT worker's event loop
ethanjli Mar 21, 2024
6feea57
Gracefully handle a missing camera at startup
ethanjli Mar 21, 2024
7d268ee
Update `CHANGELOG.md`
ethanjli Mar 21, 2024
4098a7c
Try to fix `poetry install` problems on the Pi with armhf
ethanjli Mar 21, 2024
a49f15a
Try again to fix `poetry install` problems on armhf Pi
ethanjli Mar 21, 2024
9b613a3
Update GitHub Actions workflow
ethanjli Mar 21, 2024
dbe6a6b
Try to repair GitHub Actions workflow
ethanjli Mar 21, 2024
434b90c
Revert my addition of image index as prefix to raw image filenames
ethanjli Mar 21, 2024
df25ae7
Set JPEG capture quality to the max value
ethanjli Mar 22, 2024
d68d506
Fix error in the pscopehat version of the dashboard
ethanjli Mar 22, 2024
226a0cc
Fix error in reporting of camera name for the IMX477 sensor
ethanjli Mar 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update GitHub Actions CI job
ethanjli committed Mar 16, 2024
commit 4915ccf4a0a412b67b4dc79ee997b08b92a6eafb
2 changes: 1 addition & 1 deletion .github/workflows/control-build.yml
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@ jobs:

- name: Install build dependencies
run: |
poetry -C ./control/ install --only main,dev --no-root
poetry -C ./control/ install --with dev --no-root

- name: Run checks
run: poetry -C ./control/ run poe --root ./control/ check