@@ -33,13 +33,18 @@ extern uint8_t g_camera_switch;
3333void camera_type_detect (void ) {
3434 camera_type = CAMERA_TYPE_UNKNOWN ;
3535
36- runcam_type_detect ();
37- if (camera_type == CAMERA_TYPE_RUNCAM_MICRO_V1 ||
38- camera_type == CAMERA_TYPE_RUNCAM_MICRO_V2 ||
39- camera_type == CAMERA_TYPE_RUNCAM_NANO_90 ||
40- camera_type == CAMERA_TYPE_RUNCAM_MICRO_V3 ) {
41- camera_mfr = CAMERA_MFR_RUNCAM ;
42- return ;
36+ if (g_camera_switch == SWITCH_TYPE_HDZCS && g_camera_id == 3 ) {
37+ camera_type = CAMERA_TYPE_HDZCS_CVBS ;
38+ camera_mfr = CAMERA_MFR_HDZERO ;
39+ } else {
40+ runcam_type_detect ();
41+ if (camera_type == CAMERA_TYPE_RUNCAM_MICRO_V1 ||
42+ camera_type == CAMERA_TYPE_RUNCAM_MICRO_V2 ||
43+ camera_type == CAMERA_TYPE_RUNCAM_NANO_90 ||
44+ camera_type == CAMERA_TYPE_RUNCAM_MICRO_V3 ) {
45+ camera_mfr = CAMERA_MFR_RUNCAM ;
46+ return ;
47+ }
4348 }
4449}
4550
@@ -62,6 +67,9 @@ void camera_ratio_detect(void) {
6267 camRatio = 1 ;
6368 break ;
6469#endif
70+ case CAMERA_TYPE_HDZCS_CVBS :
71+ camRatio = 1 ;
72+ break ;
6573 default :
6674 camRatio = 0 ;
6775 break ;
@@ -169,8 +177,12 @@ void camera_mode_detect(uint8_t init) {
169177
170178 // init tc3587 and detect fps
171179 WriteReg (0 , 0x8F , 0x91 );
172-
173- if (camera_type == CAMERA_TYPE_RUNCAM_NANO_90 ) {
180+ if (camera_type == CAMERA_TYPE_HDZCS_CVBS ) {
181+ Init_TC3587 (0 );
182+ Set_720P60 (IS_RX );
183+ video_format = VDO_FMT_720P60 ;
184+ I2C_Write16 (ADDR_TC3587 , 0x0058 , 0x00e0 );
185+ } else if (camera_type == CAMERA_TYPE_RUNCAM_NANO_90 ) {
174186 Init_TC3587 (1 );
175187 if (camera_setting_reg_set [11 ] == 0 ) {
176188 Set_540P90 (0 );
@@ -331,7 +343,8 @@ void camera_setting_read(void) {
331343
332344 if (camera_type == CAMERA_TYPE_UNKNOWN ||
333345 camera_type == CAMERA_TYPE_OUTDATED ||
334- camera_type == CAMERA_TYPE_RESERVED )
346+ camera_type == CAMERA_TYPE_RESERVED ||
347+ camera_type == CAMERA_TYPE_HDZCS_CVBS )
335348 return ;
336349
337350 camera_type_last = camera_reg_read_eep (EEP_ADDR_CAM_TYPE );
0 commit comments