Skip to content

Conversation

@gon1332
Copy link
Contributor

@gon1332 gon1332 commented Mar 15, 2019

This PR includes a sample operating on 4D Systems uCAM-III camera module. Currently, I haven't found anaything similar in Zephyr, so I've decided to write the drivers in the scope of a sample.

There can be a discussion on how we can support camera modules. One though is to probably, integrate camera modules into the sensor API. Or maybe define a new API?

My tasks for this PR include:

  • Take JPEG snapshots
  • Take RAW snapshots
  • Maybe shoot video, although it's not of main interest for me, for now

..and whatever comes out of discussion.

@gon1332 gon1332 requested a review from dbkinder as a code owner March 15, 2019 23:40
@gon1332 gon1332 force-pushed the 4d_ucam3 branch 5 times, most recently from 73df31c to b0f2647 Compare March 17, 2019 15:21
Copy link
Contributor

@dbkinder dbkinder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments on the docs below (and a licensing question).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this Centaur Analytics, Inc? Do we have the proper licensing rights to use this code?

Copy link
Contributor Author

@gon1332 gon1332 May 9, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the long delay. This is the company. However I own this code, so it's now under my name.

@gon1332 gon1332 force-pushed the 4d_ucam3 branch 3 times, most recently from 663ae2b to 80c15c8 Compare March 17, 2019 16:43
@carlescufi carlescufi requested a review from loicpoulain March 19, 2019 16:23
@carlescufi
Copy link
Member

There is a parallel PR proposing a camera API in #14666

Copy link
Contributor

@dbkinder dbkinder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docs look OK, but can you explain where this code came from and if we have proper licensing?

@gon1332
Copy link
Contributor Author

gon1332 commented May 9, 2019

Docs look OK, but can you explain where this code came from and if we have proper licensing?

I am the original author, and I want to offer it with the default Zephyr licence.

@gon1332
Copy link
Contributor Author

gon1332 commented May 9, 2019

There is a parallel PR proposing a camera API in #14666

I've seen it. This PR is about interfacing with the 4d systems specific module. When I'm done, I'd be happy to offer an implementation to the proposing V4Zephyr API for this module.

@gon1332 gon1332 force-pushed the 4d_ucam3 branch 2 times, most recently from e82de2e to 587ecd4 Compare May 9, 2019 21:58
@JunYangNXP JunYangNXP mentioned this pull request Jul 12, 2019
@JunYangNXP
Copy link
Contributor

@gon1332
As the quote from https://4dsystems.com.au/ucam-iii:
"The module uses a CMOS VGA colour sensor along with a JPEG compression chip."

  1. What is the "CMOS VGA colour sensor"? Any information about this to provide?
  2. What is the "JPEG compression chip"?
  3. The Zephy is supposed to be running on your product, right? Or on host?

@gon1332
Copy link
Contributor Author

gon1332 commented Jul 15, 2019

As the quote from https://4dsystems.com.au/ucam-iii:
"The module uses a CMOS VGA colour sensor along with a JPEG compression chip."

  1. The Zephy is supposed to be running on your product, right? Or on host?

Zephyr is supposed to run on host, utilizing the camera module (which, BTW is a not our product). My contribution is just a low level library for the module and hopefully an integration to a camera API.

  1. What is the "CMOS VGA colour sensor"? Any information about this to provide?
  2. What is the "JPEG compression chip"?

As I do not have experience with camera modules implementations, along with lack of technical papers from 4DSystems I cannot answer these.

@loicpoulain
Copy link
Contributor

@gon1332 , now that video 4 zephyr has been merged I wonder If you get any plan and have any time to adapt this driver.

@gon1332
Copy link
Contributor Author

gon1332 commented Oct 29, 2019

@gon1332 , now that video 4 zephyr has been merged I wonder If you get any plan and have any time to adapt this driver.

I'll give it a try from this week.

gon1332 added 7 commits July 6, 2020 10:52
For now, the driver implementation is in the scope of the sample.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Added function to send SNAPSHOT command to the camera module.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Added SET_PACKAGE_SIZE and GET_PICTURE commands. Now samples takes a
picture with the camera.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Hide magic numbers to definitions and better grouping of static
variables.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Inline what it's inlinable.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Created a primitive and experimental API for a camera driver. The
current one, implements some basic camera functions.

Also modified the sample code to use this API and take 10 snapshots
one after the other.

Signed-off-by: Ioannis Konstantelias <[email protected]>
There is a possibility that the module would hang. Just to be sure,
issue a harware reset before taking a snapshot.

Signed-off-by: Ioannis Konstantelias <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants