Have ov7670 and video smartdma use video interfaces binding. With
this, we can fix the chicken-egg issue in init priority and don't need
the workaround anymore.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Application can query information about a control given the control id,
the framework fill the rest of the structure. Application can also
enumerate all kinds of device's supported controls by iterating with
VIDEO_CTRL_FLAG_NEXT_CTRL on the same API.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Implement the video control framework with the following features:
- Drivers initialize the control with a valid value range at boot which
guides the application developer and the framework. Hence, the video
framework could do all common works for drivers e.g., sanity check.
- Controls need to be cached to memory. Video framework handles
get_ctrl(), drivers don't need to implement this API. It is because
reading control value directly from registers are not only inefficient
but also sometimes impossible, e.g. controls that scatter through
several registers. Only "volatile" control needs to be updated at
runtime.
- Only the devices (e.g., sensors) owning the controls need to
implement set_ctrl(). Other devices of the pipeline do not need to
propagate set_ctrl() and hence, do not need to implement this API
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Adds zephyr:board and zephyr:board-supported-hw directives to the
Arduino docs in order to generate more of the boards' documentation
automatically.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
A macro introduced allows to log four-character-codes (FOURCC) as one
string instead of enumerating each individual character. This saves a bit
of room in the code and is less error-prone.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Rename video_fourcc() to VIDEO_FOURCC(), differing from the Linux
implementation, but more compliant with the coding style.
Also introduce a VIDEO_FOURCC_FROM_STR() to generate a FOURCC format
code out of a 4-characters string.
Signed-off-by: Josuah Demangeon <me@josuah.net>
Adjust the Kconfig symbols of the capture to lvgl sample. LV_MEM_CUSTOM has
been removed in v9.0 and LV_USE_IMG has been changed to LV_USE_IMAGE.
Fix the changed fields for the image descriptor struct.
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
Convert qspi and hyperflash to variants instead of revisions by popular
demand.
And convert evkb into a revision instead of a different board.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
Do hflipping at camera level to avoid using PxP which impacts camera
framerates on RT10xx. Moreover, on RT11xx, PxP is already reserved
for 90 CCW image rotation.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add an option to mirror the video image horizontally. This helps
to avoid doing so at the post-processing step by using additional
HW such as PxP on i.MX RT platforms.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
This PR fixes a blocking call to video_buffer_alloc in case of memory
shortage by addign a timeout parameter to the API.
Signed-off-by: Armin Kessler <ake@espros.com>
This uses Linux V4L2 controls as a reference to give names to the
CIDs. Apply the renaming down to the drivers that use them.
Signed-off-by: Josuah Demangeon <me@josuah.net>
The newly introduced `frame_incomplete` flag of
`display_buffer_descriptor` needed to be added at several places to
avoid uninitialized memory.
Signed-off-by: Martin Stumpf <finomnis@gmail.com>
The default frame rate is printed as a floating point number. Without
enabling CONFIG_REQUIRES_FLOAT_PRINTF, it is not printed at all. Fix it.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Add the Kconfig menu to the sample configuration.
Update sample.yaml by adding the shield configuration.
Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
This updates the documentation of all the WeAct boards
to use the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This updates the documentation of all the NXP boards to use
the new `zephyr:board::` directive.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
For the "References" section to be useful, it needs to include a call to
the target-notes directive, which is the one that actually generates the
list of references made in the current document.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Currently, the camera fixture test can only tell whether data are dumped
onto memory. This is to check further if the image content is correct.
The algorithm is rather simple: compare the average color of each bar
of a generated pattern with a predefined target in CIELAB76 color
space (which is nearly perceptually uniform).
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
The logs that the fixture test are based on are not printed anymore due
to recent changes from "printk" to "LOG_DBG". Change the log level so
that it can work again.
Remove "Capture started" as it is not a relevant test regex. Logs are
sometimes not correctly printed in the console, for example, we can see:
DEBUG - DEVICE: muart:~$ [mapture started
As "Capture started" is a one-time log, fixture test will then fail due
to timeout.
Also, consolidate other regex.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Do not apply format setting unless needed. Also, correct the check for
the RGB565 format setting- the zephyr display API treats RGB565 and
BGR565 as big endian, so the format needed here is BGR565.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add support for using the SMARTDMA engine on the FRDM-MCXN947 board with
the video capture sample.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Handle line_offset field within video capture sample. Other samples do
not support partial framebuffers and therefore can ignore this field.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Remove the unnecessary video-controls header included in video.h.
Drivers, applications should explicitly include it when needed.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
Disable CDC ACM logging in the configuration overlays used to select the
CDC ACM UART as the shell backend.
The build warning was introduced by the commit e8c4867806
("usb: cdc_acm: disable logging if used for shell with logging")
to prevent recursive logging when using the CDC ACM UART as shell or
logging backend
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add sample application to capture an image frame from a camera
and send it for display on LCD via the LVGL library.
Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
Add code to get the current frame rate and enumerate all supported frame
rates (frame intervals) of the current format.
Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
This commit uses the new .. zephyr:code-sample-category directive to
categorize code samples across the tree.
Updates existing legacy references to manually defined targets to now
use :zephyr:code-sample-category: role instead.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Commit 911abc33e6 did move the samples
from subsys/ to drivers/, and more contribution came in parallel.
This covers extra board configurations added later which also need
moving.
Signed-off-by: Josuah Demangeon <me@josuah.net>
"Video subsystem for Zephyr" is actually only defined as a driver
and the examples actually include <zephyr/drivers/video.h>.
Signed-off-by: Josuah Demangeon <me@josuah.net>