123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825 |
- #ifndef _NT99141_SETTINGS_H_
- #define _NT99141_SETTINGS_H_
- #include <stdint.h>
- #include <stdbool.h>
- #include "esp_attr.h"
- #include "nt99141_regs.h"
- static const ratio_settings_t ratio_table[] = {
- // mw, mh, sx, sy, ex, ey, ox, oy, tx, ty
- { 1280, 720, 0, 4, 1283, 723, 0, 4, 1660, 963 },
- };
- #define REG_DLY 0xffff
- #define REGLIST_TAIL 0x0000
- static const DRAM_ATTR uint16_t sensor_default_regs[][2] = {
- //initial
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x3109, 0x04},
- {0x3040, 0x04},
- {0x3041, 0x02},
- {0x3042, 0xFF},
- {0x3043, 0x08},
- {0x3052, 0xE0},
- {0x305F, 0x33},
- {0x3100, 0x07},
- {0x3106, 0x03},
- {0x3105, 0x01},
- {0x3108, 0x05},
- {0x3110, 0x22},
- {0x3111, 0x57},
- {0x3112, 0x22},
- {0x3113, 0x55},
- {0x3114, 0x05},
- {0x3135, 0x00},
- {0x32F0, 0x01},
- {0x3290, 0x01},
- {0x3291, 0x80},
- {0x3296, 0x01},
- {0x3297, 0x73},
- {0x3250, 0x80},
- {0x3251, 0x03},
- {0x3252, 0xFF},
- {0x3253, 0x00},
- {0x3254, 0x03},
- {0x3255, 0xFF},
- {0x3256, 0x00},
- {0x3257, 0x50},
- {0x3270, 0x00},
- {0x3271, 0x0C},
- {0x3272, 0x18},
- {0x3273, 0x32},
- {0x3274, 0x44},
- {0x3275, 0x54},
- {0x3276, 0x70},
- {0x3277, 0x88},
- {0x3278, 0x9D},
- {0x3279, 0xB0},
- {0x327A, 0xCF},
- {0x327B, 0xE2},
- {0x327C, 0xEF},
- {0x327D, 0xF7},
- {0x327E, 0xFF},
- {0x3302, 0x00},
- {0x3303, 0x40},
- {0x3304, 0x00},
- {0x3305, 0x96},
- {0x3306, 0x00},
- {0x3307, 0x29},
- {0x3308, 0x07},
- {0x3309, 0xBA},
- {0x330A, 0x06},
- {0x330B, 0xF5},
- {0x330C, 0x01},
- {0x330D, 0x51},
- {0x330E, 0x01},
- {0x330F, 0x30},
- {0x3310, 0x07},
- {0x3311, 0x16},
- {0x3312, 0x07},
- {0x3313, 0xBA},
- {0x3326, 0x02},
- {0x32F6, 0x0F},
- {0x32F9, 0x42},
- {0x32FA, 0x24},
- {0x3325, 0x4A},
- {0x3330, 0x00},
- {0x3331, 0x0A},
- {0x3332, 0xFF},
- {0x3338, 0x30},
- {0x3339, 0x84},
- {0x333A, 0x48},
- {0x333F, 0x07},
- {0x3360, 0x10},
- {0x3361, 0x18},
- {0x3362, 0x1f},
- {0x3363, 0x37},
- {0x3364, 0x80},
- {0x3365, 0x80},
- {0x3366, 0x68},
- {0x3367, 0x60},
- {0x3368, 0x30},
- {0x3369, 0x28},
- {0x336A, 0x20},
- {0x336B, 0x10},
- {0x336C, 0x00},
- {0x336D, 0x20},
- {0x336E, 0x1C},
- {0x336F, 0x18},
- {0x3370, 0x10},
- {0x3371, 0x38},
- {0x3372, 0x3C},
- {0x3373, 0x3F},
- {0x3374, 0x3F},
- {0x338A, 0x34},
- {0x338B, 0x7F},
- {0x338C, 0x10},
- {0x338D, 0x23},
- {0x338E, 0x7F},
- {0x338F, 0x14},
- {0x3375, 0x08},
- {0x3376, 0x0C},
- {0x3377, 0x18},
- {0x3378, 0x20},
- {0x3012, 0x02},
- {0x3013, 0xD0},
- {0x3025, 0x02}, //colorbar
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_fmt_jpeg[][2] = {
- {0x32F0, 0x70}, // YUV422
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_fmt_raw[][2] = {
- {0x32F0, 0x50}, // RAW
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_fmt_grayscale[][2] = {
- {0x32F1, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_fmt_yuv422[][2] = {
- {0x32F0, 0x00}, // YUV422
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_fmt_rgb565[][2] = {
- {0x32F0, 0x01}, // RGB
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint8_t sensor_saturation_levels[9][1] = {
- {0x60},//-4
- {0x68},//-3
- {0x70},//-2
- {0x78},//-1
- {0x80},//0
- {0x88},//+1
- {0x90},//+2
- {0x98},//+3
- {0xA0},//+4
- };
- static const DRAM_ATTR uint8_t sensor_special_effects[7][4] = {
- {0x00, 0x80, 0x80, 0x01},//Normal
- {0x03, 0x80, 0x80, 0x01},//Negative
- {0x01, 0x80, 0x80, 0x01},//Grayscale
- {0x05, 0x2A, 0xF0, 0x01},//Red Tint
- {0x05, 0x60, 0x20, 0x01},//Green Tint
- {0x05, 0xF0, 0x80, 0x01},//Blue Tint
- {0x02, 0x80, 0x80, 0x01},//Sepia
-
- };
- // AE LEVEL
- static const DRAM_ATTR uint16_t sensor_ae_level[][2] = {
- // 1. [AE_Target : 0x24]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x29 },
- {0x32B9, 0x1F },
- {0x32BC, 0x24 },
- {0x32BD, 0x27 },
- {0x32BE, 0x21 },
- //------------------------------------------------------------------------
- // 2. [AE_Target : 0x28]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x2D },
- {0x32B9, 0x23 },
- {0x32BC, 0x28 },
- {0x32BD, 0x2B },
- {0x32BE, 0x25 },
- //------------------------------------------------------------------------
- // 3. [AE_Target : 0x2C]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x32 },
- {0x32B9, 0x26 },
- {0x32BC, 0x2C },
- {0x32BD, 0x2F },
- {0x32BE, 0x29 },
- //------------------------------------------------------------------------
- // 4, [AE_Target : 0x30]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x36 },
- {0x32B9, 0x2A },
- {0x32BC, 0x30 },
- {0x32BD, 0x33 },
- {0x32BE, 0x2D },
- //------------------------------------------------------------------------
- // 5. [AE_Target : 0x34]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x3B },
- {0x32B9, 0x2D },
- {0x32BC, 0x34 },
- {0x32BD, 0x38 },
- {0x32BE, 0x30 },
- //------------------------------------------------------------------------
- // 6. [AE_Target : 0x38]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x3F },
- {0x32B9, 0x31 },
- {0x32BC, 0x38 },
- {0x32BD, 0x3C },
- {0x32BE, 0x34 },
- //------------------------------------------------------------------------
- // 7. [AE_Target : 0x3D]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x44 },
- {0x32B9, 0x34 },
- {0x32BC, 0x3C },
- {0x32BD, 0x40 },
- {0x32BE, 0x38 },
- //------------------------------------------------------------------------
- // 8. [AE_Target : 0x40]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x48 },
- {0x32B9, 0x38 },
- {0x32BC, 0x40 },
- {0x32BD, 0x44 },
- {0x32BE, 0x3C },
- //------------------------------------------------------------------------
- // 9. [AE_Target : 0x44]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x32B8, 0x4D },
- {0x32B9, 0x3B },
- {0x32BC, 0x44 },
- {0x32BD, 0x49 },
- {0x32BE, 0x3F },
- };
- static const DRAM_ATTR uint16_t sensor_framesize_HD[][2] = {
- //[JPEG_1280x720_8.18_8.18_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x3C},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x5E},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x24},
- {0x3002, 0x00},
- {0x3003, 0x04},
- {0x3004, 0x00},
- {0x3005, 0x04},
- {0x3006, 0x05},
- {0x3007, 0x03},
- {0x3008, 0x02},
- {0x3009, 0xD3},
- {0x300A, 0x06},
- {0x300B, 0x7C},
- {0x300C, 0x02},
- {0x300D, 0xE0},
- {0x300E, 0x05},
- {0x300F, 0x00},
- {0x3010, 0x02},
- {0x3011, 0xD0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x3F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_VGA[][2] = {
- //[JPEG_640x480_10.14_10.14_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x4B},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x62},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x32E0, 0x02},
- {0x32E1, 0x80},
- {0x32E2, 0x01},
- {0x32E3, 0xE0},
- {0x32E4, 0x00},
- {0x32E5, 0x80},
- {0x32E6, 0x00},
- {0x32E7, 0x80},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x24},
- {0x3002, 0x00},
- {0x3003, 0xA4},
- {0x3004, 0x00},
- {0x3005, 0x04},
- {0x3006, 0x04},
- {0x3007, 0x63},
- {0x3008, 0x02},
- {0x3009, 0xD3},
- {0x300A, 0x05},
- {0x300B, 0x3C},
- {0x300C, 0x02},
- {0x300D, 0xE0},
- {0x300E, 0x03},
- {0x300F, 0xC0},
- {0x3010, 0x02},
- {0x3011, 0xD0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x7F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_QVGA[][2] = {
- //[JPEG_320x240_10.14_10.14_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x4B},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x62},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x32E0, 0x01},
- {0x32E1, 0x40},
- {0x32E2, 0x00},
- {0x32E3, 0xF0},
- {0x32E4, 0x02},
- {0x32E5, 0x02},
- {0x32E6, 0x02},
- {0x32E7, 0x03},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x24},
- {0x3002, 0x00},
- {0x3003, 0xA4},
- {0x3004, 0x00},
- {0x3005, 0x04},
- {0x3006, 0x04},
- {0x3007, 0x63},
- {0x3008, 0x02},
- {0x3009, 0xD3},
- {0x300A, 0x05},
- {0x300B, 0x3C},
- {0x300C, 0x02},
- {0x300D, 0xE0},
- {0x300E, 0x03},
- {0x300F, 0xC0},
- {0x3010, 0x02},
- {0x3011, 0xD0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x7F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_VGA_xyskip[][2] = {
- // [JPEG_640x360_20.00_25.01_Fps_XY_Skip]
- // Set_Device_Format = FORMAT_16_8
- // SET_Device_Addr = 0x54
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60 },
- {0x320A, 0xB2 },
- {0x32C0, 0x64 },
- {0x32C1, 0x64 },
- {0x32C2, 0x64 },
- {0x32C3, 0x00 },
- {0x32C4, 0x20 },
- {0x32C5, 0x20 },
- {0x32C6, 0x20 },
- {0x32C7, 0x00 },
- {0x32C8, 0x62 },
- {0x32C9, 0x64 },
- {0x32CA, 0x84 },
- {0x32CB, 0x84 },
- {0x32CC, 0x84 },
- {0x32CD, 0x84 },
- {0x32DB, 0x68 },
- {0x32F0, 0x70 },
- {0x3400, 0x08 },
- {0x3400, 0x00 },
- {0x3401, 0x4E },
- {0x3404, 0x00 },
- {0x3405, 0x00 },
- {0x3410, 0x00 },
- {0x3200, 0x3E },
- {0x3201, 0x0F },
- {0x3028, 0x0F },
- {0x3029, 0x00 },
- {0x302A, 0x08 },
- {0x3022, 0x24 },
- {0x3023, 0x6C },
- {0x3002, 0x00 },
- {0x3003, 0x04 },
- {0x3004, 0x00 },
- {0x3005, 0x04 },
- {0x3006, 0x05 },
- {0x3007, 0x03 },
- {0x3008, 0x02 },
- {0x3009, 0xD3 },
- {0x300A, 0x03 },
- {0x300B, 0xFC },
- {0x300C, 0x01 },
- {0x300D, 0x88 },
- {0x300E, 0x02 },
- {0x300F, 0x80 },
- {0x3010, 0x01 },
- {0x3011, 0x68 },
- {0x32B8, 0x3F },
- {0x32B9, 0x31 },
- {0x32BB, 0x87 },
- {0x32BC, 0x38 },
- {0x32BD, 0x3C },
- {0x32BE, 0x34 },
- {0x3201, 0x3F },
- {0x3025, 0x00 }, //normal
- {0x3021, 0x06 },
- {0x3400, 0x01 },
- {0x3060, 0x01 },
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_VGA_xskip[][2] = {
- //[JPEG_640x480_Xskip_13.32_13.32_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x62},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x68},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x32E0, 0x02},
- {0x32E1, 0x80},
- {0x32E2, 0x01},
- {0x32E3, 0xE0},
- {0x32E4, 0x00},
- {0x32E5, 0x00},
- {0x32E6, 0x00},
- {0x32E7, 0x80},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x2C},
- {0x3002, 0x00},
- {0x3003, 0x04},
- {0x3004, 0x00},
- {0x3005, 0x04},
- {0x3006, 0x05},
- {0x3007, 0x03},
- {0x3008, 0x02},
- {0x3009, 0xD3},
- {0x300A, 0x03},
- {0x300B, 0xFC},
- {0x300C, 0x02},
- {0x300D, 0xE0},
- {0x300E, 0x02},
- {0x300F, 0x80},
- {0x3010, 0x02},
- {0x3011, 0xD0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x7F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_QVGA_xskip[][2] = {
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- //[JPEG_320x240_Xskip_13.32_13.32_Fps]
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x62},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x68},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x32E0, 0x01},
- {0x32E1, 0x40},
- {0x32E2, 0x00},
- {0x32E3, 0xF0},
- {0x32E4, 0x01},
- {0x32E5, 0x01},
- {0x32E6, 0x02},
- {0x32E7, 0x03},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x2C},
- {0x3002, 0x00},
- {0x3003, 0x04},
- {0x3004, 0x00},
- {0x3005, 0x04},
- {0x3006, 0x05},
- {0x3007, 0x03},
- {0x3008, 0x02},
- {0x3009, 0xD3},
- {0x300A, 0x03},
- {0x300B, 0xFC},
- {0x300C, 0x02},
- {0x300D, 0xE0},
- {0x300E, 0x02},
- {0x300F, 0x80},
- {0x3010, 0x02},
- {0x3011, 0xD0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x7F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_VGA_crop[][2] = {
- //[JPEG_640x480_Crop_19.77_19.77_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x62},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x68},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x24},
- {0x3002, 0x01},
- {0x3003, 0x44},
- {0x3004, 0x00},
- {0x3005, 0x7C},
- {0x3006, 0x03},
- {0x3007, 0xC3},
- {0x3008, 0x02},
- {0x3009, 0x5B},
- {0x300A, 0x03},
- {0x300B, 0xFC},
- {0x300C, 0x01},
- {0x300D, 0xF0},
- {0x300E, 0x02},
- {0x300F, 0x80},
- {0x3010, 0x01},
- {0x3011, 0xE0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x3F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- static const DRAM_ATTR uint16_t sensor_framesize_QVGA_crop[][2] = {
- //[JPEG_320x240_Crop_19.77_19.77_Fps]
- {0x3021, 0x00},
- {REG_DLY, 100}, // delay 100ms
- {0x32BF, 0x60},
- {0x32C0, 0x5A},
- {0x32C1, 0x5A},
- {0x32C2, 0x5A},
- {0x32C3, 0x00},
- {0x32C4, 0x20},
- {0x32C5, 0x20},
- {0x32C6, 0x20},
- {0x32C7, 0x00},
- {0x32C8, 0x62},
- {0x32C9, 0x5A},
- {0x32CA, 0x7A},
- {0x32CB, 0x7A},
- {0x32CC, 0x7A},
- {0x32CD, 0x7A},
- {0x32DB, 0x68},
- {0x32F0, 0x70},
- {0x3400, 0x08},
- {0x3400, 0x00},
- {0x3401, 0x4E},
- {0x3404, 0x00},
- {0x3405, 0x00},
- {0x3410, 0x00},
- {0x32E0, 0x01},
- {0x32E1, 0x40},
- {0x32E2, 0x00},
- {0x32E3, 0xF0},
- {0x32E4, 0x01},
- {0x32E5, 0x01},
- {0x32E6, 0x01},
- {0x32E7, 0x02},
- {0x3200, 0x3E},
- {0x3201, 0x0F},
- {0x3028, 0x0F},
- {0x3029, 0x00},
- {0x302A, 0x08},
- {0x3022, 0x24},
- {0x3023, 0x24},
- {0x3002, 0x01},
- {0x3003, 0x44},
- {0x3004, 0x00},
- {0x3005, 0x7C},
- {0x3006, 0x03},
- {0x3007, 0xC3},
- {0x3008, 0x02},
- {0x3009, 0x5B},
- {0x300A, 0x03},
- {0x300B, 0xFC},
- {0x300C, 0x01},
- {0x300D, 0xF0},
- {0x300E, 0x02},
- {0x300F, 0x80},
- {0x3010, 0x01},
- {0x3011, 0xE0},
- {0x32B8, 0x3F},
- {0x32B9, 0x31},
- {0x32BB, 0x87},
- {0x32BC, 0x38},
- {0x32BD, 0x3C},
- {0x32BE, 0x34},
- {0x3201, 0x7F},
- {0x3021, 0x06},
- {0x3025, 0x00}, //normal
- {0x3400, 0x01},
- {0x3060, 0x01},
- {REGLIST_TAIL, 0x00}, // tail
- };
- #endif
|