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

***WIP*** RDPHOEN-463 "Driver for dynamic resolution shifting" #1

Draft
wants to merge 11 commits into
base: develop
Choose a base branch
from

Conversation

jan-hannig
Copy link
Contributor

As DevelopersTeam we want to develop a driver for the dynamic resolution shift so that the new image acquisition procedure can be evaluated.

Jan.Hannig added 11 commits October 13, 2021 13:53
Removed unused v4l2_ioctl_ops functions
Although ".vidioc_s_parm = epc660_s_parm" isn't used actually,
it is left as it will be used later on for the driver interface.
Doxygen comments for functions and structs.
Removed unused subdev calls (fct not implemented).
Removed unused video formats in capture driver:
"2DCS + gray interleaved" and "4DCS + gray interleaved"
Renamed the other formats
Removed corresponding lines in epc660_monochrome_fmts in epc660.c
For the development and debug code in the driver, a DEBUG macro
is created. Debug-printouts for functions are added.
Added doxygen comments to epc660.c
Re-Integrated still necessary code into "epc660_s_fmt_vid_cap".
[RDPHOEN-463/RDPHOEN-439] Rearrange the pixel/channel order within one line
- Added #define PIXEL_PER_CYCLE for magic number 16
- Added information for the connection between DMA_WORDSIZE and pixel per cycle.
- Set pixel_depth_bytes = 2 in all video formats as the pixel size
is "2 Bytes" in all formats: This corrects the DMA sorting in the
raw pictures.
Implemented as interface function
for reconfiguring by application during runtime.
Extracted "set_PPI_params" and "epc660_set_DMA_registers"
for being called seperately during runtime reconfiguration.
Re-arranged "epc660_start_streaming" and "epc660_start_transfering"
with usage of the new functions.
[RDPHOEN-463/RDPHOEN-611] Working with DMA during runtime
@RDPHOEN-522: The buffer size is enlarged for the maximum of 4 frames
for 4 DCS in full resolution.
For this, the corresponding constant value EPC660_MAX_DCS_IMAGES
(EPC660_Sensor.h) and #define MAX_DCS_IMAGES (epc660_capture) are introduced.
@RDPHOEN-611: For configuring the DMA during runtime, it is stopped in the
ISR and restarted again in the ioctl function VIDIOC_S_PARM (epc600_s_parm).
Adding the function "adapt_DMA_DescriptorElements"
Adding the strprm->parm.raw_data[x] struct members as interface
for setting the values of width, height and DCS.
Commenting the change form DMA configuration "List Mode" to "Stop Mode"
Adding enum "NumberDcsFrames".
Adding else path to if statement of ISR.
As the application configures the driver with 1, 2 or 4_DCS basically,
the "channels" variables in epc660_formats are set accordingly.
As "maxDcsImages" changed to "EPC660_MAX_DCS_IMAGES"
in application, this is corrected in comment.
tabs --> spaces, empty lines;
commented some #DEBUG printfs
Added "break" in switch-case.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant