Commit Graph

156 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
705e98f915 Remove:
* Unused py_sensor.h header file.
* Unused set_framerate method.
* Unused py_sensor_print method.
* Removed unused set_binning.
2020-02-17 18:36:55 -08:00
Kwabena W. Agyeman
3c970e860a Auto rotation enabled 2020-02-12 21:49:32 -08:00
Ibrahim Abd Elkader
58f7d5e3c2
Merge pull request #714 from kwagyeman/kwabena/ov7690_driver_round_2
New OV7690 camera driver.
2020-02-12 20:53:45 +02:00
Kwabena W. Agyeman
98d203c747 New OV7690 camera driver. 2020-02-11 22:18:02 -08:00
Kwabena W. Agyeman
f314ac4e72 Improve sensor module with transpose and get operations 2020-02-11 20:59:36 -08:00
iabdalkader
9f2e0d66ca Allow sensor clock to not be defined.
* Add OMV_XCLK_OSC to use when an external osc is used.
2020-02-09 22:14:26 +02:00
iabdalkader
3a7dd95ecc Fix sensor address and manf. ID. 2020-02-09 18:48:35 +02:00
iabdalkader
abd977c60f Add HIMAX HM01B0 driver. 2020-02-08 21:25:59 +02:00
Kwabena W. Agyeman
e249770fe1 OV5640 Driver Finished
It basically works. I might be able to improve it with the final
hardware.
2020-01-13 00:21:19 -08:00
Kwabena W. Agyeman
0cdd3e57ac Add initial full support for the OV5640
* Need to increase sensor output speed
* Need to add exposure control code
2020-01-04 17:48:55 -08:00
iabdalkader
73c64abb22 Fix indent. 2019-12-28 02:16:33 +02:00
iabdalkader
48a965fb96 Fix hardfault when setting lepton to VGA/RGB565. 2019-10-07 17:06:50 +02:00
iabdalkader
54b8132949 License update. 2019-09-05 22:17:50 +02:00
iabdalkader
7665d4f16c Restore sensor shutdown state on reset. 2019-08-23 20:54:34 +02:00
iabdalkader
cd119d8d82 Fix cache maintenance issue in JPEG mode.
* In JPEG mode the cacheable framebuffer memory is used directly by the DMA, instead of the line buffer.
Cache maintenance must be performed before the CPU accesses the framebuffer memory.
2019-08-11 18:04:12 +02:00
iabdalkader
3187b5c20e Fix max DCMI transfer size. 2019-07-22 23:38:39 +02:00
Kwabena W. Agyeman
376899876f Lower PCLK from 72 MHz to 36 MHz. 2019-07-21 16:36:37 -07:00
Kwabena W. Agyeman
5e0cca6c3c Update the OV2640 driver.
* Images are right side up now.
* Picture quality is acceptable (not as good as the OV7725)
* All auto functions work now (the OV2640 ignores exposure control
however)
* Added XGA frame size.
* JPEG mode is enabled but needs work still (not sure if the H7 hardware
can capture the packet stream fast enough not to drop bytes).
2019-07-20 23:30:08 -07:00
kidswong999
dceb0e324f Detect sensor based on I2C address. 2019-07-12 23:11:24 +02:00
kidswong999
dcbc67fd60 Change sensor reg_addr to uint16_t 2019-07-12 23:04:15 +02:00
Kwabena W. Agyeman
a3f197e12d Add method to get the color palette. 2019-03-11 19:07:13 +02:00
iabdalkader
164f2e71c1 Add set_color_palette 2019-03-05 18:21:53 +02:00
iabdalkader
54e431adb2 Implement MT triggered mode using ioctls 2019-03-04 20:55:17 +02:00
iabdalkader
aafc6e995a Add sensor ioctl function. 2019-03-04 19:52:11 +02:00
Ibrahim Abd Elkader
2e327aaf38
Merge pull request #465 from kwagyeman/kwabena/mt_driver_update
Kwabena/mt driver update
2019-03-04 18:44:12 +02:00
Kwabena W. Agyeman
3c49f986e4 Enable setting the sensor to a triggered mode. 2019-03-03 00:48:12 -05:00
Kwabena W. Agyeman
2523754638 Make default jpeg res not so terrible. 2019-03-02 22:34:32 -05:00
iabdalkader
68f0b3749c Revert MT to default snapshot function. 2018-10-29 23:21:14 +02:00
iabdalkader
0f1fce6b31 Add streaming support to snapshot function. 2018-10-01 03:08:26 +02:00
iabdalkader
3fa52f966f Fix UVC streaming on H7. 2018-09-30 02:42:47 +02:00
Ibrahim Abd Elkader
36111eb2c0
Faster UVC streaming using double buffers. (#383) 2018-09-29 20:02:05 +02:00
iabdalkader
4eb2f1ac35 Add shutdown function. 2018-09-05 16:44:58 +02:00
iabdalkader
9b08e91557 MP: Update to MP 1.9.4 2018-06-11 05:18:54 +02:00
Kwabena W. Agyeman
3233592c07 Support jpeg compressing bitmap images. 2018-06-04 17:32:05 +02:00
Kwabena W. Agyeman
6daabb3a52 Fix hardcoded freqs. 2018-05-30 19:06:49 +02:00
Kwabena W. Agyeman
eb8b0777f4 Fix dynamically changing the XCLK frequency. 2018-05-30 19:04:52 +02:00
Kwabena W. Agyeman
ba47e84ec1 Add higher resolutions. 2018-05-29 16:46:26 +02:00
iabdalkader
f7e691e390 Remove line_filter function. 2018-04-27 02:01:23 +02:00
iabdalkader
9603870e04 Use software cropping instead of DCMI HW cropping.
* This fixes issues with some DMA transfer sizes.
2018-04-25 23:43:30 +02:00
Kwabena W. Agyeman
60a9c50502 Add support for the lepton module 2018-04-25 14:54:53 +02:00
iabdalkader
e006e9b249 Allow sensors to override the default snapshot function. 2018-04-25 04:02:50 +02:00
iabdalkader
4eaa875208 Fix formatting. 2018-03-14 14:10:28 +02:00
iabdalkader
d4fde23096 Set DCMI byte select mode for H7. 2018-03-14 00:36:36 +02:00
iabdalkader
69f62740a7 Update sensor to support H7. 2018-03-13 03:21:12 +02:00
Kwabena W. Agyeman
213396d090 Complete Overhaul of phasecorrelation
Just doing one big commit/PR here since I noticed that breaking it up
causes issues.

Anyway, these fixes give us GOOD/WORKING/FAST optical flow now on the
OpenMV Cam M7. A number of changes were made to the optical flow
scripts. You have have absolute and differential estimation example
scripts. Additionally, you also have the ability to measure rotation and
scale changes too. Linear/Log Polar conversion was added for this. Users
may use the new code for generic image manipulation too. Finally, I
updated the power of 2 resolutions since you actually HAVE to use them
with optical flow for the phasecorrelation code to work correctly.

I have some more advanced scripts coming after this. But, This commit is
already getting kinda large so I'm stopping it here.
2018-01-07 17:48:07 -05:00
Kwabena W. Agyeman
30ecbdc4f8 Add white balance control.
You can now get white balance gains from the camera chip and set the
camera to then use these gains again in a new enviorment.
2017-12-31 19:56:02 -05:00
Kwabena W. Agyeman
139cdbdbc9 Add auto gain control ceiling value to be settable by the auto gain
method.

Things are in dB now too. Need to remove the previous settable method.
2017-12-30 23:54:19 -05:00
Kwabena W. Agyeman
b906c5f192 Add auto gain control setting support (#293)
You can now get the auto gain setting in dBs and set the value in dBs.
Example scripts are included. Code was tested on the OV7725.
2017-12-30 23:18:35 +02:00
Kwabena W. Agyeman
7be0a7a182 Add exposure control for all sensors (#292)
* Textual register cleanup.

No functional changes.

* Add exposure control support.

You can now set the exposure for the camera in microseconds (versus an
opaque unknown value previously). First, we have a new method called
get_exposure_us() which will get the expsoure time in microseconds. This
let's you determine what the auto exposure algorithm set the exposure
time to. Second, the previously implmented set_auto_exposure() method
which allows you to turn aec off and on accepts a exposure_us keyword
argument when you turn aec off to manually control the exposure.

The next commit will add support for other sensor types.

* Cleanup register formatting.

No functional changes.

* Add exposure control support for the OV2640.

Register access for this chip is a PITA.

* Formatting Cleanup.

No functional changes.

* Add exposure control for ov9650.

Just doing it for all sensors.

* Add missing 2 factor.

* Added exposure control for the MT9V034.

* Add exposure control example.

Works well on the OV7725.
2017-12-30 15:56:11 +02:00
Kwabena W. Agyeman
046a2e1825 Restore MAIN_FB() size on snapshot()
This fix allows "copy_to_fb" with a different resolution than the
current frame buffer to work. It also allows the frame buffer to be
resized, etc. In particular, the pooling methods I added for optical
flow work again... you'll also be able to scale the frame buffer too.
2017-12-25 18:00:58 -05:00