-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
video: emul: virtual driver for an imager and RX engine #79482
base: main
Are you sure you want to change the base?
Conversation
I note that the frame interval API was merged, this will need to include it. |
eb4a7a4
to
cfa3bfb
Compare
|
64e0235
to
9a1a450
Compare
force-push: fix a bug when actually trying to compile it... It shows how important it is to provide code that actually compile, and why not as well: actually run. |
201c49e
to
d612f52
Compare
Here is a new WIP approach. Instead of having a skeleton driver that might not compile, and past this might still have bugs, here is a pair of virtual drivers:
There is a Next, I need to add ztests, and see if that permits to run the samples on |
d612f52
to
c6bf5d1
Compare
force-push: add unit tests for the generic |
0b402b7
to
38cf615
Compare
12321fb
to
9d5cd84
Compare
force-push: unit tests for the emulated drivers: this covers the entire video API except To test: |
9d5cd84
to
5bcba0a
Compare
@josuah : Is the PR ready for review ? Sorry, I asked because I received email notifications of the continuous force-push rather often that make me thinking that this is in development phase. If so, is it better to limit the force push not only to avoid email notifications but also to reduce Zephyr CI kicked-off burden for every push ? If it's not the case, it's OK to do that. |
@ngphibang you are right, I should work on a separate [EDIT: this was thought as being ready at first, and then I thought "let's add unit tests to the same PR", and then "lets' add some more", etc: I should take some time to let things mature and be more reasonable] |
5bcba0a
to
85e458f
Compare
force-push:
|
Introduce a video_get_format_index() utility to help finding a caps entry out of a given format. Introduce several utilities to seek and apply frame intervals. Signed-off-by: Josuah Demangeon <me@josuah.net>
Add a new implementation of a test pattern generator, with the same architecture as real drivers: split MIPI receiver core and I2C-controlled sub-device, with changes of video format in "zephyr,emul-imager" leads to different data produced by "zephyr,emul-mipi-rx". Signed-off-by: Josuah Demangeon <me@josuah.net>
85e458f
to
eb2d81e
Compare
force-push:
|
PR zephyrproject-rtos#79482 is where this commit would be added Signed-off-by: Josuah Demangeon <me@josuah.net>
PR zephyrproject-rtos#79482 is where this commit would be added Signed-off-by: Josuah Demangeon <me@josuah.net>
PR zephyrproject-rtos#79482 is where this commit would be added Signed-off-by: Josuah Demangeon <me@josuah.net>
PR zephyrproject-rtos#79482 is where this commit would be added Signed-off-by: Josuah Demangeon <me@josuah.net>
PR zephyrproject-rtos#79482 is where this commit would be added Signed-off-by: Josuah Demangeon <me@josuah.net>
This takes inspiration on the other skeleton.c drivers through Zephyr tree:
https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/usb/udc/udc_skeleton.c
https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/display/display_dummy.c
It acts as a starting point and as a puppet to explain API changes affecting image sensors.
Be used for providing test cases for the entire API, as required for stable APIs.
A
video_get_format_index()
utility is introduced in the process to find the index of a format inside a capability list.-> What should the ideal sensor driver look like?
Fixes: #73867