User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
code:code [2024/04/01 04:07] – [Preface] Igor Yefmovcode:code [2024/04/02 08:38] – [Build number] Igor Yefmov
Line 2: Line 2:
  
 Controlling the camera is done via writing "registers" - think of them as address locations. There are generally 4 ways to interface with the camera from a host: Controlling the camera is done via writing "registers" - think of them as address locations. There are generally 4 ways to interface with the camera from a host:
-  - standard UVC - this one is automagically supported by any UVC 1.1 compliant OS, which in the year 2017 would be "any modern OS". This interface covers the universally standardized controls for [[https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/uvc-driver-implementation-checklist|USB Video Class]] +  - [[https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/uvc-driver-implementation-checklist|standard UVC]] - this one is automagically supported by any UVC 1.1 compliant OSwhich in the year 2017 would be "any modern OS"This interface covers the universally standardized controls for USB Video Class
-  (Gen 3 and Gen 4) direct I²C access via Cypress's FX3 interfaceusing control port ''0x20''. This allows access to all sensor's registers (at your own risk!). For more information search the web for documentation on the sensor in your camera (as of October 2017 that would be [[http://lmgtfy.com/?q=OmniVision+10823+sensor+documentation|OmniVision 10823 sensor]]). Gen5 is using a sensor via an SLVS-EC interface which doesn't provide direct I²C access so one should use [[fx3_api|FX3 API]] (or, better yet - rely on [[code:SUB2r-lib]] for all your camera control needs)+
   - [[fx3_api|FX3 Host Vendor Command Interface]] - this interfaces with the Cypress's FX3 and is the primary [[fx3_api|FX3 API]]   - [[fx3_api|FX3 Host Vendor Command Interface]] - this interfaces with the Cypress's FX3 and is the primary [[fx3_api|FX3 API]]
   - [[fpga_registers_map|FPGA I²C Access]] - a "window" into a host of additional commands that are performed on FPGA, this is highly dependent on the FPGA model used and camera's generation and is not exactly intended for direct use outside of developing FX3 APIs and during development cycle of GUI implementation. The FPGA register maps are defined [[fpga_registers_map|on this page]]   - [[fpga_registers_map|FPGA I²C Access]] - a "window" into a host of additional commands that are performed on FPGA, this is highly dependent on the FPGA model used and camera's generation and is not exactly intended for direct use outside of developing FX3 APIs and during development cycle of GUI implementation. The FPGA register maps are defined [[fpga_registers_map|on this page]]
 +  - (Gen 3 and Gen 4) direct I²C access via Cypress's FX3 interface, using control port ''0x20''. This allows access to all sensor's registers (at your own risk!). For more information search the web for documentation on the sensor in your camera (as of October 2017 that would be [[http://lmgtfy.com/?q=OmniVision+10823+sensor+documentation|OmniVision 10823 sensor]]). Gen5 is using a sensor via an SLVS-EC interface which doesn't provide direct I²C access so one should use [[fx3_api|FX3 API]] (or, better yet - rely on [[code:SUB2r-lib]] for all your camera control needs)
  
 If you are set on writing your own UI and don't want to be bothered too much with figuring out how to communicate with the camera you have an option of using the [[code:SUB2r-lib]] library (which should be your preference anyways). If you are set on writing your own UI and don't want to be bothered too much with figuring out how to communicate with the camera you have an option of using the [[code:SUB2r-lib]] library (which should be your preference anyways).
Line 149: Line 149:
  
 ---- ----
 +Previous iterations had different bit layout for the Version Info, see details here: [[Firmware Versioning Evolution]]
 ====== Firmware Versioning evolution ====== ====== Firmware Versioning evolution ======
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information