FEATURE/Added an experimental option to use a Mira220-based camera [DO NOT MERGE]#202
Open
jamespilgrim wants to merge 1 commit into
Open
FEATURE/Added an experimental option to use a Mira220-based camera [DO NOT MERGE]#202jamespilgrim wants to merge 1 commit into
jamespilgrim wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Added an experimental option to use a Mira220-based camera. Totally untested, and could possibly even break the code for non-Mira220 cameras, so DO NOT MERGE. This is just so folks can pull this code and fool around with it when someone actually gets a Mira220 camera such as this evaluation kit.
See also:
What does this PR do?
Begins the process of adding code to allow a user to select and use an Osram Mira220-based mono camera with PiTrac.
I say "begins" because we haven't actually tested with one of these cameras yet. I don't even have one. So, this PR is really just a start.
I'm aware that the Mira220 should work with the libcamera library that PiTrac is based on. However, we need to know things like where/what the tuning file for this camera is going to be and whether we need to run an external triggering setup utility through a shell call like we do for the Innomaker IMX296 camera.
I did set up the sensor width & height and resolution for the Mira220. Or at least I think so.
We may also have to add additional CameraModel types for different manufacturers of these cameras. It's likely that Innomaker may have a different setup than, say, Osram or Arducam, as those manufactures tend to deal with external triggering in a proprietary way.
Why is this change needed?
Folks are interested in using this sensor, so I wanted to at least get things started in the code to allow some experimenting.
Changes Made
Testing Performed
I just made sure it compiled.
Breaking Changes
This will almost certainly not work if you just hook up a Mira220 camera, select the option in the PiTrac UI and run it. :/
Dependencies
Need the tuning file(s) and any external triggering utilities before this would work. For example, right now, the triggering setup tool that will be called by PiTrac for the Teed Ball watching code is just:
std::string trigger_mode_command = "$PITRAC_ROOT/ImageProcessing/CameraTools/NEED_EXTERNAL_TRIGGER_UTILITY 4 1";I don't yet know how to deal with auto-camera-detection in the web-server code for these sensors/cameras.
The server.py code will have to be changed to realize that we are using the Mira220 and then select the RPICAM_TUNING_FILE accordingly.
Hardware Compatibility
Documentation
NA
Screenshots/Videos
See attached screen shot of the new option
AI (Vibe-Coded) Content Description
None
Checklist
Code Quality
Build & Test
./packaging/build.sh buildSubmission Requirements
git rebase -i HEAD~n)[PR TYPE] Brief description