Initial commit: TXW82x FPV v2.7.0.7-42229 SDK + project sources

This commit is contained in:
2026-07-06 11:30:13 +08:00
commit e76462eeb7
3451 changed files with 1415300 additions and 0 deletions

View File

@@ -0,0 +1,491 @@
#include "sys_config.h"
#include "typesdef.h"
#include "lib/video/dvp/cmos_sensor/csi.h"
#include "tx_platform.h"
#include "list.h"
#include "dev.h"
#include "hal/i2c.h"
#if DEV_SENSOR_GC0329
SENSOR_INIT_SECTION static const unsigned char GC0329InitTable[CMOS_INIT_LEN]=
{
0xfe,0x80,
0xfc,0x12,
0xfc,0x12,
0xfe,0x00,
0xf0,0x07,
0xf1,0x01,
0x73,0x90,
0x74,0x80,
0x75,0x80,
0x76,0x94,
//0x42,0x00,
//0x77,0x57,//AWB_R_gain
//0x78,0x4d,//AWB_G_gain
//0x79,0x45,//AWB_B_gain
//0x42,0xfc,
////////////////////analog////////////////////
0xfc,0x16,
0x0a,0x00,
0x0c,0x00,
0x17,0x14,//0x17
0x19,0x05,
0x1b,0x24,
0x1c,0x04,
0x1e,0x00,
0x1f,0xc0,
0x20,0x00,
0x21,0x48,
0x23,0x22,
0x24,0x16,
////////////////////blk////////////////////
0x26,0xf7,
0x32,0x04,
0x33,0x20,
0x34,0x20,
0x35,0x20,
0x36,0x20,
////////////////////ISPBLOCKENABLE////////////////////
0x40,0xff,
0x41,0x00,
0x42,0xfe,//0xfe
0x46,0x03,
0x4b,0xcb,
0x4d,0x01,
0x4f,0x01,
0x70,0x60,//48
//0xb0,0x00,
//0xbc,0x00,
//0xbd,0x00,
//0xbe,0x00,
////////////////////DNDD////////////////////
0x80,0xe7,
0x82,0x1f,
0x83,0x03,
0x87,0x4a,
////////////////////ASDE////////////////////
0xfe,0x01,
0x18,0x22,
0xfe,0x00,
0x9c,0x0a,
0xa4,0x50,
0xa5,0x21,
0xa7,0x35,
0xdd,0x54,
0x95,0x65,
////////////////////RGBgamma////////////////////
0xfe,0x00,
0xbf,0x06,
0xc0,0x14,
0xc1,0x27,
0xc2,0x3b,
0xc3,0x4f,
0xc4,0x62,
0xc5,0x72,
0xc6,0x8d,
0xc7,0xa4,
0xc8,0xb8,
0xc9,0xc9,
0xca,0xd6,
0xcb,0xe0,
0xcc,0xe8,
0xcd,0xf4,
0xce,0xfc,
0xcf,0xff,
//////////////////CC///////////////////
0xfe,0x00,
0xb3,0x44,
0xb4,0xfd,
0xb5,0x02,
0xb6,0xfa,
0xb7,0x48,
0xb8,0xf0,
//skin
//0xb3,0x3c,
//0xb4,0xFF,
//0xb5,0x03,
//0xb6,0x01,
//0xb7,0x3f,
//0xb8,0xF3,
0x19,0x05,
0x20,0x01,
0x22,0xba,
0x21,0x48,
////////////////////YCP////////////////////
0xfe,0x00,
0xd1,0x2d,
0xd2,0x2e,
////////////////////AEC////////////////////
0xfe,0x01,
0x10,0x40,
0x11,0xa1,
0x12,0x07,
0x13,0x40,
0x17,0x88,
0x21,0xb0,
0x22,0x48,
0x3c,0x95,
0x3d,0x50,
0x3e,0x48,
////////////////////AWB////////////////////
#if 0//main
0xfe,0x01,
0x06,0x12,
0x07,0x06,
0x08,0x9c,
0x09,0xee,
0x50,0xfc,
0x51,0x28,
0x52,0x10,
0x53,0x20,
0x54,0x12,
0x55,0x16,
0x56,0x30,
0x58,0x60,
0x59,0x08,
0x5a,0x02,
0x5b,0x63,
0x5c,0x35,
0x5d,0x72,
0x5e,0x11,
0x5f,0x40,
0x60,0x40,
0x61,0xc8,
0x62,0xa0,
0x63,0x40,
0x64,0x50,
0x65,0x98,
0x66,0xfa,
0x67,0x80,
0x68,0x70,
0x69,0x80,
0x6a,0x40,
0x6b,0x39,
0x6c,0x30,
0x6d,0x60,
0x6e,0x41,
0x70,0x50,//AWB_C_number_limit
0x71,0x00,//AWB_C_weight_mode
0x72,0x10,
0x73,0x00,////AWB_uplow_luma_value
0x74,0x40,
0x75,0x58,
0x76,0x24,
0x77,0x40,
0x78,0x20,
0x79,0x60,
0x7a,0x58,
0x7b,0x20,
0x7c,0x30,
0x7d,0x35,
0x7e,0x10,
0x7f,0x08,
0x80,0x60,
0x81,0x50,
0x82,0x42,
0x83,0x40,
0x84,0x40,
0x85,0x40,
#elif0//sub
0xfe,0x01,
0x06,0x16,
0x07,0x06,
0x08,0x98,
0x09,0xee,
0x50,0xfc,
0x51,0x20,
0x52,0x1b,//0b
0x53,0x10,//20
0x54,0x10,//40
0x55,0x10,
0x56,0x20,
0x57,0xa0,
0x58,0xa0,
0x59,0x28,
0x5a,0x02,
0x5b,0x63,
0x5c,0x04,//34
0x5d,0x73,
0x5e,0x11,
0x5f,0x40,
0x60,0x40,
0x61,0xc8,//d8//c8
0x62,0xa0,///88//A0
0x63,0x40,
0x64,0x40,//37
0x65,0xd0,
0x66,0xfa,
0x67,0x70,
0x68,0x58,
0x69,0xa5,//85jaambo
0x6a,0x40,
0x6b,0x39,
0x6c,0x18,
0x6d,0x28,
0x6e,0x41,
0x70,0x40,
0x71,0x00,
0x72,0x10,
0x73,0x30,//awboutdoor-th
0x80,0x60,
0x81,0x50,
0x82,0x42,
0x83,0x40,
0x84,0x40,
0x85,0x40,
0x86,0x40,
0x87,0x40,
0x88,0xfe,
0x89,0xa0,
0x74,0x40,
0x75,0x58,
0x76,0x24,
0x77,0x40,
0x78,0x20,
0x79,0x60,
0x7a,0x58,
0x7b,0x20,
0x7c,0x30,
0x7d,0x35,
0x7e,0x10,
0x7f,0x08,
#else
0xfe,0x01,
0x06,0x06,
0x07,0x06,
0x08,0xa6,
0x09,0xee,
0x50,0x00,
0x51,0x28,
0x52,0x28,
0x53,0x1d,
0x54,0x1d,
0x55,0x20,
0x56,0x20,
//0x57,0x00,
0x58,0x60,
0x59,0x28,
0x5a,0x30,
0x5b,0x63,
0x5c,0x34,
0x5d,0x73,//0x73
0x5e,0x11,
0x5f,0x40,
0x60,0x40,
0x61,0xc8,
0x62,0xa0,
0x63,0x40,
0x64,0x50,
0x65,0x98,
0x66,0xfa,
0x67,0x70,
0x68,0x58,
0x69,0x78,
0x6a,0x40,
0x6b,0x39,
0x6c,0x40,
0x6d,0x80,
0x6e,0x41,
0x70,0x50,//AWB_C_number_limit
0x71,0x00,//AWB_C_weight_mode
0x72,0x10,
0x73,0x00,
0x74,0x32,
0x75,0x40,
0x76,0x30,
0x77,0x48,
0x7a,0x50,
0x7b,0x20,
0x80,0x4a,
0x81,0x43,
0x82,0x43,
0x83,0x40,
0x84,0x40,
0x85,0x40,
#endif
////////////////////CC-AWB////////////////////
0xd0,0x00,
0xd2,0x2c,
0xd3,0x80,
///////////////////ABS///////////////////////
0x9c,0x02,
0x9d,0x10,
///////////////////LSC//////////////////////
////forxuye062dlenssetting
0xfe,0x01,
0xa0,0x00,
0xa1,0x3c,
0xa2,0x50,
0xa3,0x00,
0xa8,0x0f,
0xa9,0x08,
0xaa,0x00,
0xab,0x04,
0xac,0x00,
0xad,0x07,
0xae,0x0e,
0xaf,0x00,
0xb0,0x00,
0xb1,0x09,
0xb2,0x00,
0xb3,0x00,
0xb4,0x31,
0xb5,0x19,
0xb6,0x24,
0xba,0x3a,
0xbb,0x24,
0xbc,0x2a,
0xc0,0x17,
0xc1,0x13,
0xc2,0x17,
0xc6,0x21,
0xc7,0x1c,
0xc8,0x1c,
0xb7,0x00,
0xb8,0x00,
0xb9,0x00,
0xbd,0x00,
0xbe,0x00,
0xbf,0x00,
0xc3,0x00,
0xc4,0x00,
0xc5,0x00,
0xc9,0x00,
0xca,0x00,
0xcb,0x00,
0xa4,0x00,
0xa5,0x00,
0xa6,0x00,
0xa7,0x00,
0xfe,0x00,
0x05,0x00,
0x06,0x6a,
0x07,0x00,
0x08,0x0c,
0xfe,0x01,
0x29,0x00,//anti-flickerstep[11:8]
0x2a,0x96,//anti-flickerstep[7:0]//78
0x2b,0x01,//explevel025fps//01
0x2c,0x68,//78
0x2d,0x01,//explevel120fps
0x2e,0x68,
0x2f,0x01,//explevel216.7fps
0x30,0x68,
0x31,0x01,//explevel3
0x32,0x68,
0x33,0x10,
//0xfe,0x00,
0xfe,0x00,
0x0d,0x01,
0x0e,0xe8,
//0x0e,0x6C,/*changewin_heightfrom488to364*/
0x0f,0x02,
0x10,0x88,/*win_width644*/
0x09,0x00,
0x0a,0x00,
0x0b,0x00,
0x0c,0x04,/*colstart4*/
0x16,0x00,
//crop
0x50,0x01,
#if 1
///cropwindow
0x51,0x00,
0x52,0x04, ///y
0x53,0x00,
0x54,0x04, ///x
0x55,0x01,
0x56,0xe0, ///360
0x57,0x02,
0x58,0x80, //640
#endif
0xfe,0x00,
////////////////////asde///////////////////
0xa0,0xaf,
0xa2,0xff,
0x44,0xa2,
-1,-1};
SENSOR_INIT_SECTION static const unsigned char GC0329prewriteInitTable[CMOS_INIT_LEN]={
0xfc,0x16,
-1,-1
};
SENSOR_OP_SECTION const _Sensor_Adpt_ gc0329_cmd=
{
.typ = 1, //YUV
.pixelw = 640,
.pixelh= 480,
.hsyn = 1,
.vsyn = 1,
.rduline = 0,//
.rawwide = 1,//10bits
.colrarray = 2,//0:_RGRG_ 1:_GRGR_,2:_BGBG_,3:_GBGB_
.init = (uint8 *)GC0329InitTable,
.preset =(uint8 *)GC0329prewriteInitTable,
.rotate_adapt = {0},
//.hvb_adapt = {0x6a,0x12,0x6a,0x12},
. mclk = 24000000,
.p_fun_adapt = {NULL,NULL,NULL},
.p_xc7016_adapt = {NULL},
};
const _Sensor_Ident_ gc0329_init=
{
0xC0,0x62,0x63,0x01,0x01,0x00
};
#endif