From 044ad7c3987460ede48ff27afd6bdb0ca05a0432 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 4 Jul 2011 20:52:54 +0200 Subject: import at91lib from at91lib_20100901_softpack_1_9_v_1_0_svn_v15011 it's sad to see that atmel doesn't publish their svn repo or has a centralized location or even puts proper version/release info into the library itself --- components/omnivision/ov2640/2640_yuv_cif.h | 239 ++++++++++++++++++++++++++ components/omnivision/ov2640/2640_yuv_qvga.h | 243 +++++++++++++++++++++++++++ components/omnivision/ov2640/2640_yuv_sxga.h | 204 ++++++++++++++++++++++ components/omnivision/ov2640/2640_yuv_vga.h | 238 ++++++++++++++++++++++++++ components/omnivision/ov2640/ov2640.c | 143 ++++++++++++++++ components/omnivision/ov2640/ov2640.dir | 46 +++++ 6 files changed, 1113 insertions(+) create mode 100644 components/omnivision/ov2640/2640_yuv_cif.h create mode 100644 components/omnivision/ov2640/2640_yuv_qvga.h create mode 100644 components/omnivision/ov2640/2640_yuv_sxga.h create mode 100644 components/omnivision/ov2640/2640_yuv_vga.h create mode 100644 components/omnivision/ov2640/ov2640.c create mode 100644 components/omnivision/ov2640/ov2640.dir (limited to 'components/omnivision/ov2640') diff --git a/components/omnivision/ov2640/2640_yuv_cif.h b/components/omnivision/ov2640/2640_yuv_cif.h new file mode 100644 index 0000000..55c4e2a --- /dev/null +++ b/components/omnivision/ov2640/2640_yuv_cif.h @@ -0,0 +1,239 @@ +//; Generated by Sensor Tool +//; Ver: 1.2.1 +//; + +#include + +const struct ov_reg ov2640_yuv_cif[]= { + +{0xff, 0x01}, +{0x12, 0x80}, +{0xff, 0x00}, +{0x2c, 0xff}, +{0x2e, 0xdf}, +{0xff, 0x01}, +{0x3c, 0x32}, +{0x11, 0x00}, +{0x09, 0x02}, +{0x04, 0x28}, +{0x13, 0xe5}, +{0x14, 0x48}, +{0x2c, 0x0c}, +{0x33, 0x78}, +{0x3a, 0x33}, +{0x3b, 0xfb}, +{0x3e, 0x00}, +{0x43, 0x11}, +{0x16, 0x10}, +{0x39, 0x02}, +{0x35, 0x88}, +{0x22, 0x0a}, +{0x37, 0x40}, +{0x23, 0x00}, +{0x34, 0xa0}, +{0x36, 0x1a}, +{0x06, 0x02}, +{0x07, 0xc0}, +{0x0d, 0xb7}, +{0x0e, 0x01}, +{0x4c, 0x00}, +{0x4a, 0x81}, +{0x21, 0x99}, +{0x24, 0x3a}, +{0x25, 0x32}, +{0x26, 0x82}, +{0x5c, 0x00}, +{0x63, 0x00}, +{0x5d, 0x55}, +{0x5e, 0x7d}, +{0x5f, 0x7d}, +{0x60, 0x55}, +{0x61, 0x70}, +{0x62, 0x80}, +{0x7c, 0x05}, +{0x20, 0x80}, +{0x28, 0x30}, +{0x6c, 0x00}, +{0x6d, 0x80}, +{0x6e, 0x00}, +{0x70, 0x02}, +{0x71, 0x94}, +{0x73, 0xc1}, +{0x3d, 0x34}, +{0x5a, 0x57}, +{0x4f, 0xbb}, +{0x50, 0x9c}, +{0xff, 0x00}, +{0xe5, 0x7f}, +{0xf9, 0xc0}, +{0x41, 0x24}, +{0xe0, 0x14}, +{0x76, 0xff}, +{0x33, 0xa0}, +{0x42, 0x20}, +{0x43, 0x18}, +{0x4c, 0x00}, +{0x87, 0xd0}, +{0x88, 0x3f}, +{0xd7, 0x03}, +{0xd9, 0x10}, +{0xd3, 0x82}, +{0xc8, 0x08}, +{0xc9, 0x80}, +{0x7c, 0x00}, +{0x7d, 0x02}, +{0x7c, 0x03}, +{0x7d, 0x48}, +{0x7d, 0x48}, +{0x7c, 0x08}, +{0x7d, 0x20}, +{0x7d, 0x10}, +{0x7d, 0x0e}, +{0x90, 0x00}, +{0x91, 0x0e}, +{0x91, 0x1a}, +{0x91, 0x31}, +{0x91, 0x5a}, +{0x91, 0x69}, +{0x91, 0x75}, +{0x91, 0x7e}, +{0x91, 0x88}, +{0x91, 0x8f}, +{0x91, 0x96}, +{0x91, 0xa3}, +{0x91, 0xaf}, +{0x91, 0xc4}, +{0x91, 0xd7}, +{0x91, 0xe8}, +{0x91, 0x20}, +{0x92, 0x00}, +{0x93, 0x06}, +{0x93, 0xe3}, +{0x93, 0x05}, +{0x93, 0x05}, +{0x93, 0x00}, +{0x93, 0x02}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x96, 0x00}, +{0x97, 0x08}, +{0x97, 0x19}, +{0x97, 0x02}, +{0x97, 0x0c}, +{0x97, 0x24}, +{0x97, 0x30}, +{0x97, 0x28}, +{0x97, 0x26}, +{0x97, 0x02}, +{0x97, 0x98}, +{0x97, 0x80}, +{0x97, 0x00}, +{0x97, 0x00}, +{0xc3, 0xed}, +{0xa4, 0x00}, +{0xa8, 0x00}, +{0xc5, 0x11}, +{0xc6, 0x51}, +{0xbf, 0x80}, +{0xc7, 0x10}, +{0xb6, 0x66}, +{0xb8, 0xa5}, +{0xb7, 0x64}, +{0xb9, 0x7c}, +{0xb3, 0xaf}, +{0xb4, 0x97}, +{0xb5, 0xff}, +{0xb0, 0xc5}, +{0xb1, 0x94}, +{0xb2, 0x0f}, +{0xc4, 0x5c}, +{0xc0, 0xc8}, +{0xc1, 0x96}, +{0x86, 0x1d}, +{0x50, 0x00}, +{0x51, 0x90}, +{0x52, 0x18}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x88}, +{0x57, 0x00}, +{0x5a, 0x90}, +{0x5b, 0x18}, +{0x5c, 0x05}, +{0xc3, 0xed}, +{0x7f, 0x00}, +{0xda, 0x04}, +{0xe5, 0x1f}, +{0xe1, 0x67}, +{0xe0, 0x00}, +{0xdd, 0xff}, +{0x05, 0x00}, +{0xff, 0x01}, +{0x11, 0x01}, +{0xff, 0x01}, +{0x12, 0x40}, +{0x17, 0x11}, +{0x18, 0x43}, +{0x19, 0x00}, +{0x1a, 0x4b}, +{0x32, 0x09}, +{0x4f, 0xca}, +{0x50, 0xa8}, +{0x5a, 0x23}, +{0x6d, 0x00}, +{0x3d, 0x38}, +{0x39, 0x12}, +{0x35, 0xda}, +{0x22, 0x1a}, +{0x37, 0xc3}, +{0x23, 0x00}, +{0x34, 0xc0}, +{0x36, 0x1a}, +{0x06, 0x88}, +{0x07, 0xc0}, +{0x0d, 0x87}, +{0x0e, 0x41}, +{0x4c, 0x00}, +{0x48, 0x00}, +{0x5B, 0x00}, +{0x42, 0x03}, +{0xff, 0x00}, +{0xe0, 0x04}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x1D}, +{0xd3, 0x82}, +{0xe0, 0x00}, +{0xff, 0x00}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x3D}, +{0x50, 0x89}, +{0x51, 0xC8}, +{0x52, 0x96}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x00}, +{0x5a, 0x50}, +{0x5b, 0x3C}, +{0x5c, 0x00}, +{0xd3, 0x04}, +{0xFF, 0x00}, +{0xE0, 0x04}, +{0xE1, 0x67}, +{0xD7, 0x01}, +{0xDA, 0x00}, +{0xD3, 0x82}, +{0xE0, 0x00} + +,{0xFF, 0xFF} + +}; + diff --git a/components/omnivision/ov2640/2640_yuv_qvga.h b/components/omnivision/ov2640/2640_yuv_qvga.h new file mode 100644 index 0000000..5082c9b --- /dev/null +++ b/components/omnivision/ov2640/2640_yuv_qvga.h @@ -0,0 +1,243 @@ +//; Generated by Sensor Tool +//; Ver: 1.2.1 +//; + +#include + +const struct ov_reg ov2640_yuv_qvga[]= { + +{0xff, 0x01}, +{0x12, 0x80}, +{0xff, 0x00}, +{0x2c, 0xff}, +{0x2e, 0xdf}, +{0xff, 0x01}, +{0x3c, 0x32}, +{0x11, 0x00}, +{0x09, 0x02}, +{0x04, 0x28}, +{0x13, 0xe5}, +{0x14, 0x48}, +{0x2c, 0x0c}, +{0x33, 0x78}, +{0x3a, 0x33}, +{0x3b, 0xfb}, +{0x3e, 0x00}, +{0x43, 0x11}, +{0x16, 0x10}, +{0x39, 0x02}, +{0x35, 0x88}, +{0x22, 0x0a}, +{0x37, 0x40}, +{0x23, 0x00}, +{0x34, 0xa0}, +{0x36, 0x1a}, +{0x06, 0x02}, +{0x07, 0xc0}, +{0x0d, 0xb7}, +{0x0e, 0x01}, +{0x4c, 0x00}, +{0x4a, 0x81}, +{0x21, 0x99}, +{0x24, 0x3a}, +{0x25, 0x32}, +{0x26, 0x82}, +{0x5c, 0x00}, +{0x63, 0x00}, +{0x5d, 0x55}, +{0x5e, 0x7d}, +{0x5f, 0x7d}, +{0x60, 0x55}, +{0x61, 0x70}, +{0x62, 0x80}, +{0x7c, 0x05}, +{0x20, 0x80}, +{0x28, 0x30}, +{0x6c, 0x00}, +{0x6d, 0x80}, +{0x6e, 0x00}, +{0x70, 0x02}, +{0x71, 0x94}, +{0x73, 0xc1}, +{0x3d, 0x34}, +{0x5a, 0x57}, +{0x4f, 0xbb}, +{0x50, 0x9c}, +{0xff, 0x00}, +{0xe5, 0x7f}, +{0xf9, 0xc0}, +{0x41, 0x24}, +{0xe0, 0x14}, +{0x76, 0xff}, +{0x33, 0xa0}, +{0x42, 0x20}, +{0x43, 0x18}, +{0x4c, 0x00}, +{0x87, 0xd0}, +{0x88, 0x3f}, +{0xd7, 0x03}, +{0xd9, 0x10}, +{0xd3, 0x82}, +{0xc8, 0x08}, +{0xc9, 0x80}, +{0x7c, 0x00}, +{0x7d, 0x02}, +{0x7c, 0x03}, +{0x7d, 0x48}, +{0x7d, 0x48}, +{0x7c, 0x08}, +{0x7d, 0x20}, +{0x7d, 0x10}, +{0x7d, 0x0e}, +{0x90, 0x00}, +{0x91, 0x0e}, +{0x91, 0x1a}, +{0x91, 0x31}, +{0x91, 0x5a}, +{0x91, 0x69}, +{0x91, 0x75}, +{0x91, 0x7e}, +{0x91, 0x88}, +{0x91, 0x8f}, +{0x91, 0x96}, +{0x91, 0xa3}, +{0x91, 0xaf}, +{0x91, 0xc4}, +{0x91, 0xd7}, +{0x91, 0xe8}, +{0x91, 0x20}, +{0x92, 0x00}, +{0x93, 0x06}, +{0x93, 0xe3}, +{0x93, 0x05}, +{0x93, 0x05}, +{0x93, 0x00}, +{0x93, 0x02}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x96, 0x00}, +{0x97, 0x08}, +{0x97, 0x19}, +{0x97, 0x02}, +{0x97, 0x0c}, +{0x97, 0x24}, +{0x97, 0x30}, +{0x97, 0x28}, +{0x97, 0x26}, +{0x97, 0x02}, +{0x97, 0x98}, +{0x97, 0x80}, +{0x97, 0x00}, +{0x97, 0x00}, +{0xc3, 0xed}, +{0xa4, 0x00}, +{0xa8, 0x00}, +{0xc5, 0x11}, +{0xc6, 0x51}, +{0xbf, 0x80}, +{0xc7, 0x10}, +{0xb6, 0x66}, +{0xb8, 0xa5}, +{0xb7, 0x64}, +{0xb9, 0x7c}, +{0xb3, 0xaf}, +{0xb4, 0x97}, +{0xb5, 0xff}, +{0xb0, 0xc5}, +{0xb1, 0x94}, +{0xb2, 0x0f}, +{0xc4, 0x5c}, +{0xc0, 0xc8}, +{0xc1, 0x96}, +{0x86, 0x1d}, +{0x50, 0x00}, +{0x51, 0x90}, +{0x52, 0x18}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x88}, +{0x57, 0x00}, +{0x5a, 0x90}, +{0x5b, 0x18}, +{0x5c, 0x05}, +{0xc3, 0xed}, +{0x7f, 0x00}, +{0xda, 0x04}, +{0xe5, 0x1f}, +{0xe1, 0x67}, +{0xe0, 0x00}, +{0xdd, 0xff}, +{0x05, 0x00}, +{0xff, 0x01}, +{0x11, 0x01}, +{0xff, 0x01}, +{0x12, 0x40}, +{0x17, 0x11}, +{0x18, 0x43}, +{0x19, 0x00}, +{0x1a, 0x4b}, +{0x32, 0x09}, +{0x4f, 0xca}, +{0x50, 0xa8}, +{0x5a, 0x23}, +{0x6d, 0x00}, +{0x3d, 0x38}, +{0x39, 0x12}, +{0x35, 0xda}, +{0x22, 0x1a}, +{0x37, 0xc3}, +{0x23, 0x00}, +{0x34, 0xc0}, +{0x36, 0x1a}, +{0x06, 0x88}, +{0x07, 0xc0}, +{0x0d, 0x87}, +{0x0e, 0x41}, +{0x4c, 0x00}, +{0x48, 0x00}, +{0x5B, 0x00}, +{0x42, 0x03}, +{0xff, 0x00}, +{0xe0, 0x04}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x1D}, +{0xd3, 0x82}, +{0xe0, 0x00}, +{0xff, 0x00}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x3D}, +{0x50, 0x89}, +{0x51, 0xC8}, +{0x52, 0x96}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x00}, +{0x5a, 0x50}, +{0x5b, 0x3C}, +{0x5c, 0x00}, +{0xd3, 0x04}, +{0xFF, 0x00}, +{0xE0, 0x04}, +{0xE1, 0x67}, +{0xD7, 0x01}, + +//{0xDA, 0x00}, +//leon +{0xDA, 0x00}, + +{0xD3, 0x82}, +{0xE0, 0x00} + +,{0xFF, 0xFF} + +}; + diff --git a/components/omnivision/ov2640/2640_yuv_sxga.h b/components/omnivision/ov2640/2640_yuv_sxga.h new file mode 100644 index 0000000..dfedefa --- /dev/null +++ b/components/omnivision/ov2640/2640_yuv_sxga.h @@ -0,0 +1,204 @@ +//; Generated by Sensor Tool +//; Ver: 1.2.1 +//; + +#include + +const struct ov_reg ov2640_yuv_sxga[]= { + +{0xff, 0x01}, +{0x12, 0x80}, +{0xff, 0x00}, +{0x2c, 0xff}, +{0x2e, 0xdf}, +{0xff, 0x01}, +{0x3c, 0x32}, +{0x11, 0x00}, +{0x09, 0x02}, +{0x04, 0x28}, +{0x13, 0xe5}, +{0x14, 0x48}, +{0x2c, 0x0c}, +{0x33, 0x78}, +{0x3a, 0x33}, +{0x3b, 0xfb}, +{0x3e, 0x00}, +{0x43, 0x11}, +{0x16, 0x10}, +{0x39, 0x02}, +{0x35, 0x88}, +{0x22, 0x0a}, +{0x37, 0x40}, +{0x23, 0x00}, +{0x34, 0xa0}, +{0x36, 0x1a}, +{0x06, 0x02}, +{0x07, 0xc0}, +{0x0d, 0xb7}, +{0x0e, 0x01}, +{0x4c, 0x00}, +{0x4a, 0x81}, +{0x21, 0x99}, +{0x24, 0x3a}, +{0x25, 0x32}, +{0x26, 0x82}, +{0x5c, 0x00}, +{0x63, 0x00}, +{0x5d, 0x55}, +{0x5e, 0x7d}, +{0x5f, 0x7d}, +{0x60, 0x55}, +{0x61, 0x70}, +{0x62, 0x80}, +{0x7c, 0x05}, +{0x20, 0x80}, +{0x28, 0x30}, +{0x6c, 0x00}, +{0x6d, 0x80}, +{0x6e, 0x00}, +{0x70, 0x02}, +{0x71, 0x94}, +{0x73, 0xc1}, +{0x3d, 0x34}, +{0x5a, 0x57}, +{0x4f, 0xbb}, +{0x50, 0x9c}, +{0xff, 0x00}, +{0xe5, 0x7f}, +{0xf9, 0xc0}, +{0x41, 0x24}, +{0xe0, 0x14}, +{0x76, 0xff}, +{0x33, 0xa0}, +{0x42, 0x20}, +{0x43, 0x18}, +{0x4c, 0x00}, +{0x87, 0xd0}, +{0x88, 0x3f}, +{0xd7, 0x03}, +{0xd9, 0x10}, +{0xd3, 0x82}, +{0xc8, 0x08}, +{0xc9, 0x80}, +{0x7c, 0x00}, +{0x7d, 0x02}, +{0x7c, 0x03}, +{0x7d, 0x48}, +{0x7d, 0x48}, +{0x7c, 0x08}, +{0x7d, 0x20}, +{0x7d, 0x10}, +{0x7d, 0x0e}, +{0x90, 0x00}, +{0x91, 0x0e}, +{0x91, 0x1a}, +{0x91, 0x31}, +{0x91, 0x5a}, +{0x91, 0x69}, +{0x91, 0x75}, +{0x91, 0x7e}, +{0x91, 0x88}, +{0x91, 0x8f}, +{0x91, 0x96}, +{0x91, 0xa3}, +{0x91, 0xaf}, +{0x91, 0xc4}, +{0x91, 0xd7}, +{0x91, 0xe8}, +{0x91, 0x20}, +{0x92, 0x00}, +{0x93, 0x06}, +{0x93, 0xe3}, +{0x93, 0x05}, +{0x93, 0x05}, +{0x93, 0x00}, +{0x93, 0x02}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x96, 0x00}, +{0x97, 0x08}, +{0x97, 0x19}, +{0x97, 0x02}, +{0x97, 0x0c}, +{0x97, 0x24}, +{0x97, 0x30}, +{0x97, 0x28}, +{0x97, 0x26}, +{0x97, 0x02}, +{0x97, 0x98}, +{0x97, 0x80}, +{0x97, 0x00}, +{0x97, 0x00}, +{0xc3, 0xed}, +{0xa4, 0x00}, +{0xa8, 0x00}, +{0xc5, 0x11}, +{0xc6, 0x51}, +{0xbf, 0x80}, +{0xc7, 0x10}, +{0xb6, 0x66}, +{0xb8, 0xa5}, +{0xb7, 0x64}, +{0xb9, 0x7c}, +{0xb3, 0xaf}, +{0xb4, 0x97}, +{0xb5, 0xff}, +{0xb0, 0xc5}, +{0xb1, 0x94}, +{0xb2, 0x0f}, +{0xc4, 0x5c}, +{0xc0, 0xc8}, +{0xc1, 0x96}, +{0x86, 0x1d}, +{0x50, 0x00}, +{0x51, 0x90}, +{0x52, 0x18}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x88}, +{0x57, 0x00}, +{0x5a, 0x90}, +{0x5b, 0x18}, +{0x5c, 0x05}, +{0xc3, 0xed}, +{0x7f, 0x00}, +{0xda, 0x04}, +{0xe5, 0x1f}, +{0xe1, 0x67}, +{0xe0, 0x00}, +{0xdd, 0xff}, +{0x05, 0x00}, +{0xff, 0x01}, +{0x11, 0x00}, +{0xff, 0x00}, +{0xc0, 0xC8}, +{0xc1, 0x96}, +{0x8c, 0x00}, +{0x86, 0x3D}, +{0x50, 0x00}, +{0x51, 0x90}, +{0x52, 0x2C}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x88}, +{0x5a, 0x40}, +{0x5b, 0x00}, +{0x5c, 0x05}, +{0xd3, 0x82}, +{0xFF, 0x00}, +{0xE0, 0x04}, +{0xE1, 0x67}, +{0xD7, 0x01}, +{0xDA, 0x00}, +{0xD3, 0x82}, +{0xE0, 0x00} + +,{0xFF, 0xFF} + +}; + diff --git a/components/omnivision/ov2640/2640_yuv_vga.h b/components/omnivision/ov2640/2640_yuv_vga.h new file mode 100644 index 0000000..37581e4 --- /dev/null +++ b/components/omnivision/ov2640/2640_yuv_vga.h @@ -0,0 +1,238 @@ +//; Generated by Sensor Tool +//; Ver: 1.2.2 +//; +#include + +const struct ov_reg ov2640_yuv_vga[]= { + +{0xff, 0x01}, +{0x12, 0x80}, +{0xff, 0x00}, +{0x2c, 0xff}, +{0x2e, 0xdf}, +{0xff, 0x01}, +{0x3c, 0x32}, +{0x11, 0x00}, +{0x09, 0x02}, +{0x04, 0x28}, +{0x13, 0xe5}, +{0x14, 0x48}, +{0x2c, 0x0c}, +{0x33, 0x78}, +{0x3a, 0x33}, +{0x3b, 0xfb}, +{0x3e, 0x00}, +{0x43, 0x11}, +{0x16, 0x10}, +{0x39, 0x02}, +{0x35, 0x88}, +{0x22, 0x0a}, +{0x37, 0x40}, +{0x23, 0x00}, +{0x34, 0xa0}, +{0x36, 0x1a}, +{0x06, 0x02}, +{0x07, 0xc0}, +{0x0d, 0xb7}, +{0x0e, 0x01}, +{0x4c, 0x00}, +{0x4a, 0x81}, +{0x21, 0x99}, +{0x24, 0x3a}, +{0x25, 0x32}, +{0x26, 0x82}, +{0x5c, 0x00}, +{0x63, 0x00}, +{0x5d, 0x55}, +{0x5e, 0x7d}, +{0x5f, 0x7d}, +{0x60, 0x55}, +{0x61, 0x70}, +{0x62, 0x80}, +{0x7c, 0x05}, +{0x20, 0x80}, +{0x28, 0x30}, +{0x6c, 0x00}, +{0x6d, 0x80}, +{0x6e, 0x00}, +{0x70, 0x02}, +{0x71, 0x94}, +{0x73, 0xc1}, +{0x3d, 0x34}, +{0x5a, 0x57}, +{0x4f, 0xbb}, +{0x50, 0x9c}, +{0xff, 0x00}, +{0xe5, 0x7f}, +{0xf9, 0xc0}, +{0x41, 0x24}, +{0xe0, 0x14}, +{0x76, 0xff}, +{0x33, 0xa0}, +{0x42, 0x20}, +{0x43, 0x18}, +{0x4c, 0x00}, +{0x87, 0xd0}, +{0x88, 0x3f}, +{0xd7, 0x03}, +{0xd9, 0x10}, +{0xd3, 0x82}, +{0xc8, 0x08}, +{0xc9, 0x80}, +{0x7c, 0x00}, +{0x7d, 0x02}, +{0x7c, 0x03}, +{0x7d, 0x48}, +{0x7d, 0x48}, +{0x7c, 0x08}, +{0x7d, 0x20}, +{0x7d, 0x10}, +{0x7d, 0x0e}, +{0x90, 0x00}, +{0x91, 0x0e}, +{0x91, 0x1a}, +{0x91, 0x31}, +{0x91, 0x5a}, +{0x91, 0x69}, +{0x91, 0x75}, +{0x91, 0x7e}, +{0x91, 0x88}, +{0x91, 0x8f}, +{0x91, 0x96}, +{0x91, 0xa3}, +{0x91, 0xaf}, +{0x91, 0xc4}, +{0x91, 0xd7}, +{0x91, 0xe8}, +{0x91, 0x20}, +{0x92, 0x00}, +{0x93, 0x06}, +{0x93, 0xe3}, +{0x93, 0x05}, +{0x93, 0x05}, +{0x93, 0x00}, +{0x93, 0x02}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x93, 0x00}, +{0x96, 0x00}, +{0x97, 0x08}, +{0x97, 0x19}, +{0x97, 0x02}, +{0x97, 0x0c}, +{0x97, 0x24}, +{0x97, 0x30}, +{0x97, 0x28}, +{0x97, 0x26}, +{0x97, 0x02}, +{0x97, 0x98}, +{0x97, 0x80}, +{0x97, 0x00}, +{0x97, 0x00}, +{0xc3, 0xed}, +{0xa4, 0x00}, +{0xa8, 0x00}, +{0xc5, 0x11}, +{0xc6, 0x51}, +{0xbf, 0x80}, +{0xc7, 0x10}, +{0xb6, 0x66}, +{0xb8, 0xa5}, +{0xb7, 0x64}, +{0xb9, 0x7c}, +{0xb3, 0xaf}, +{0xb4, 0x97}, +{0xb5, 0xff}, +{0xb0, 0xc5}, +{0xb1, 0x94}, +{0xb2, 0x0f}, +{0xc4, 0x5c}, +{0xc0, 0xc8}, +{0xc1, 0x96}, +{0x86, 0x1d}, +{0x50, 0x00}, +{0x51, 0x90}, +{0x52, 0x18}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x88}, +{0x57, 0x00}, +{0x5a, 0x90}, +{0x5b, 0x18}, +{0x5c, 0x05}, +{0xc3, 0xed}, +{0x7f, 0x00}, +{0xda, 0x04}, +{0xe5, 0x1f}, +{0xe1, 0x67}, +{0xe0, 0x00}, +{0xdd, 0xff}, +{0x05, 0x00}, +{0xff, 0x01}, +{0x11, 0x01}, +{0xff, 0x01}, +{0x12, 0x40}, +{0x17, 0x11}, +{0x18, 0x43}, +{0x19, 0x00}, +{0x1a, 0x4b}, +{0x32, 0x09}, +{0x4f, 0xca}, +{0x50, 0xa8}, +{0x5a, 0x23}, +{0x6d, 0x00}, +{0x3d, 0x38}, +{0x39, 0x12}, +{0x35, 0xda}, +{0x22, 0x1a}, +{0x37, 0xc3}, +{0x23, 0x00}, +{0x34, 0xc0}, +{0x36, 0x1a}, +{0x06, 0x88}, +{0x07, 0xc0}, +{0x0d, 0x87}, +{0x0e, 0x41}, +{0x4c, 0x00}, +{0x48, 0x00}, +{0x5B, 0x00}, +{0x42, 0x03}, +{0xff, 0x00}, +{0xe0, 0x04}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x1D}, +{0xd3, 0x82}, +{0xe0, 0x00}, +{0xff, 0x00}, +{0xc0, 0x64}, +{0xc1, 0x4B}, +{0x8c, 0x00}, +{0x86, 0x3D}, +{0x50, 0x00}, +{0x51, 0xC8}, +{0x52, 0x96}, +{0x53, 0x00}, +{0x54, 0x00}, +{0x55, 0x00}, +{0x5a, 0xA0}, +{0x5b, 0x78}, +{0x5c, 0x00}, +{0xd3, 0x04}, +{0xFF, 0x00}, +{0xE0, 0x04}, +{0xE1, 0x67}, +{0xD7, 0x01}, +{0xDA, 0x00}, +{0xD3, 0x82}, +{0xE0, 0x00} + +,{0xFF, 0xFF} + +}; + diff --git a/components/omnivision/ov2640/ov2640.c b/components/omnivision/ov2640/ov2640.c new file mode 100644 index 0000000..ccb10e2 --- /dev/null +++ b/components/omnivision/ov2640/ov2640.c @@ -0,0 +1,143 @@ +// ---------------------------------------------------------------------------- +// ATMEL Microcontroller Software Support - ROUSSET - +// ---------------------------------------------------------------------------- +// Copyright (c) 2009, Atmel Corporation +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// - Redistributions of source code must retain the above copyright notice, +// this list of conditions and the disclaimer below. +// +// Atmel's name may not be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +// DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// ---------------------------------------------------------------------------- + +#include + +#if defined(BOARD_CAPTOR_OV2640) + +//------------------------------------------------------------------------------ +/// \unit +/// +/// !!!Purpose +/// +/// Specific configuration for Omnivision OV2640 captor +/// +/// !!!Usage +/// +/// -# Different files are been provided by Omnivision: +/// - 2640_yuv_cif.h +/// - 2640_yuv_qcif.h +/// - 2640_yuv_qqcif.h +/// - 2640_yuv_qqvga.h +/// - 2640_yuv_qvga.h +/// - 2640_yuv_sxga.h +/// - 2640_yuv_vga.h +/// -# Configure the captor using theses files +//-------------------------------------------------------------------------- + + +//----------------------------------------------------------------------------- +// Headers +//----------------------------------------------------------------------------- +#include +#include + +#include + +#include "2640_yuv_cif.h" +#include "2640_yuv_qvga.h" +#include "2640_yuv_sxga.h" +#include "2640_yuv_vga.h" + +//------------------------------------------------------------------------------ +/// Array of image sizes supported by OV264x +//------------------------------------------------------------------------------ +const static struct capture_size ov264x_sizes[] = { +// {width, height} + /// QVGA + { 320, 240 }, + /// CIF + { 352, 288 }, + /// VGA + { 640, 480 }, + /// SXGA + {1280, 1024 } +}; + +//------------------------------------------------------------------------------ +// Global Functions +//------------------------------------------------------------------------------ + +//----------------------------------------------------------------------------- +/// Configure the OV9650 for a specified image size, pixel format, +/// and frame period. +//----------------------------------------------------------------------------- +void ov_configure(Twid *pTwid, unsigned int width, unsigned int heigth) +{ + const struct ov_reg *reg_conf; + unsigned char goodCaptureSize = 0; + unsigned char i; + + TRACE_DEBUG("ov264x_configure\n\r"); + for( i=0; i