/*
********************************************************************************
*
* (c) Copyright 2002, Vineyard Technologies, Inc.
*
* Filename : gmenu.c
* Programmer(s): Steve KyeongHyeon Lee
* Created : 2003/05/07
* Modified :
*
* Description :
********************************************************************************
*/
#include "8052reg.h"
#include <stdio.h>
#include <absacc.h>
#include "main.h"
#include "lib.h"
#include "gio.h"
#include "hdd_if.h"
#include "rtc_reg.h"
#include "key.h"
#include "types.h"
#include "i2c.h"
#include "gosd.h"
#include "ghdd.h"
#include "gsearch.h"
//######################################################################
//
//######################################################################
extern idata u8 gv_encoder_mode;
extern idata u8 gv_temp_CAMERA_OF_RECORD;
//extern xdata u8 gv_NTSC_PAL;
extern u8 get_ntsc_pal(void);
extern idata u8 gv_sensor_flag;
extern idata u8 gv_ff_mode;
extern idata u8 video_active;
extern idata u8 menu_offse_y;
extern idata u8 EOD;
extern idata u8 FOD;
extern xdata u8 gv_skip_search_block;
extern idata u8 gv_rec_frame_rate;
extern void encoder_mode(u8 sensor);
extern void Channel_Display(u8 mode);
extern u8 decoder_mode(void);
extern void osd_printf(u8 index_x, u8 index_y, u8 length_of_string,u8 *string);
extern void xioWriteByte(u8 ipw_regidx, u8 ipw_regval);
extern void dv03_enable(void);
extern void osd_page_clear(void);
extern void top_mode(void);
extern void encoder_reconfig(void);
extern void dec_ch_mode_set();
extern void enc_buf_clr_proc(void);
extern u8 key_check(void);
extern void wakeup_genesis(u8 mode);
extern void main(void);
//######################################################################
//
//######################################################################
#define XCCORD 13
#define TIME_XCCORD 25
#define SCHEDULE_XCCORD 19
#define TMENU_FIRST 0
#define TMENU_LAST 8
#define MAX_EVT_BUF 7
//######################################################################
//
//######################################################################
xdata u8 ntsc_code_frame_rate[9] = {0,1,2,3,5,6,9,14,29};
xdata u8 pal_code_frame_rate[9] = {0,1,2,3,5,7,11,24,24};
xdata u8 code_frame_rate[9];
xdata u8 gv_p_ch = 1;
xdata u8 gv_on_play_flag = 0;
idata u8 Val_EPROM_EACH_QUAD;
idata u8 Val_EPROM_CAMERA_OF_SET;
idata u8 Val_EPROM_CAMERA_OF_RECORD;
xdata u8 Val_EPROM_VIDIO_QUALITY;
idata u8 Val_EPROM_RECORD_FRAME_RATE;
xdata u8 Val_EPROM_ALARM_DURATION;
idata u8 Val_EPROM_WRAPPING_FLAG[2];
xdata u8 Val_EPROM_RECORD_DURATION;
xdata u8 Val_EPROM_OVERWRAP_RECORD;
idata u8 Val_EPROM_HDD_INDEX;
xdata u8 Val_EPROM_SENSOR_USE = 0x00; // Not used
xdata u8 Val_EPROM_SENSOR_ACTIVE = 0x00; // Active Low
idata u8 gv_Current_Channel;
xdata u8 st_time_data[2][6];
xdata u8 ed_time_data[2][6];
idata u8 gv_depth_1_menu = 100;
idata u8 gv_depth_2_menu = 100;
idata u8 gv_depth_3_menu = 100;
idata u8 gv_cursor_position = 0;
idata u8 gv_time_data[6];
idata u8 gv_play_mode = NOPLAY_MODE; // Steve : Must be initialized for OSD
idata u8 gv_rec_mode;
idata u8 gv_PauseMode=0;
xdata u8 gv_play_time=0;
xdata u8 confirm_ok1 = 1;
xdata u8 confirm_ok2 = 1;
xdata u8 tmp_eprom_passwd_base[6];
xdata EvtNode gv_evt_start[MAX_EVT_BUF];
xdata EvtNode gv_evt_stop[MAX_EVT_BUF];
xdata u16 gv_evt_start_off[MAX_EVT_BUF];
xdata u16 gv_evt_stop_off[MAX_EVT_BUF];
xdata u16 gv_evt_start_num;
xdata u8 gv_evt_cnt;
xdata u8 gv_evt_first_idx;
xdata u8 gv_time_search_mode;
idata char* blank_line50 = " ";
xdata u8 gv_view_fpga_frame_rate;
xdata u8 gv_view_fpga_channel_filter;
void EVENT_DISP(u8 hid, u8 cmd);
u8 TIME_SEARCH_input(u8 keyy);
void TIME_SEARCH_DISP2(u8 hid);
void EPROM_SetUp_data_Write(u8 index, u8 dataa);
void PASSWORD_INPUT(u8 mode, u8 key);
void PASSWORD_MENUDISP(u8 mode);
void nvram_initialize(u8 msg_on);
void SetUp_data_All_Read(void);
//void gv_WCurrent_LBA_dec(u8 hddIndex);
void HDDINFO_RECORD_TIME_DISP(void);
void ds1307_time_set(void);
void en_top(void);
u32 LBA_decrement(u8 hddIndex, u32 lba);
u32 LBA_increment(u8 hddIndex, u32 lba);
void osd_put_num(u8 x, u8 y, u16 len, u16 num);
void update_target_time(u8 idx);
void play_message(u8 key);
u8 play_start(void);
//================================================================
//
//================================================================
#define BLINK_X_CORD_CNTR 44
#define BLINK_Y_CORD_Y 11
void blinking_message(u8 length1, char* str1, u8 length2, char* str2)
{
idata u8 i; //12345678901234567890123456789012
idata u8 j;
//static xdata u8 blank[32];
idata u8 blank[32];
mem_cpy(blank,blank_line50,32);
for(i=0;i<3;i++)
{
osd_printf(BLINK_X_CORD_CNTR-length1, BLINK_Y_CORD_Y, length1, str1);
if(length2)
osd_printf(BLINK_X_CORD_CNTR-length2, BLINK_Y_CORD_Y+1, length2, str2);
for(j=0;j<3;j++)delay_time(50000);
osd_printf(BLINK_X_CORD_CNTR-length1, BLINK_Y_CORD_Y, length1, blank);
if(length2)
osd_printf(BLINK_X_CORD_CNTR-length2, BLINK_Y_CORD_Y+1, length2, blank);
for(j=0;j<2;j++)delay_time(50000);
}
}
//===============================================================================
//
//===============================================================================
u8 cal_cood(u8 movx)
{
u8 dataa;
switch(gv_cursor_position)
{
case 12: dataa = 4; break;
case 11: dataa = 4+movx; break; //yy
case 10: dataa = 6+movx; break; //yy
case 9: dataa = 10+movx; break; //MM
case 8: dataa = 12+movx; break; //MM
case 7: dataa = 16+movx; break; //DD
case 6: dataa = 18+movx; break; //DD
case 5: dataa = 22+movx; break; //hh
case 4: dataa = 24+movx; break; //hh
case 3: dataa = 28+movx; break; //mm
case 2: dataa = 30+movx; break; //mm
case 1: dataa = 34+movx; break; //ss
case 0: dataa = 36+movx; break; //ss
default: dataa = 4; break;
}
return dataa;
}
//===============================================================================
//
//===============================================================================
u8 bcd2bin(u8 bcdval)
{
u8 binval;
if(bcdval >= 0x10)
binval = (bcdval&0x0f) + 10*(bcdval>>4);
else
binval = bcdval;
return binval;
}
//===============================================================================
//
//===============================================================================
u8 bin2bcd(u8 binval)
{
u8 bcdval;
if(binval >= 10)
bcdval = ((binval/10) << 4) | (binval % 10);
else
bcdval = binval;
return bcdval;
}
//===============================================================================
//
//===============================================================================
u8 EPROM_SetUp_data_Read(u8 index)
{
u8 dataa = i2c_pkt_read(0xd0,0x3f - index);
return dataa;
}
//===============================================================================
//
//===============================================================================
void EPROM_SetUp_data_Write(u8 index, u8 dataa)
{
#ifdef DEBUG_STEVE
if(index==EPROM_CAMERA_OF_RECORD){
printf("\n\rEPROM_CAMERA_OF_RECORD = %02x", (u16)dataa);
}
#endif
i2c_pkt_write(0xd0,0x3f-index,dataa);
}
//===============================================================================
//
//===============================================================================
void ds1307_time_set(void)
{
i2c_pkt_write(0xd0,0x00,bin2bcd(gv_time_data[0]));
i2c_pkt_write(0xd0,0x01,bin2bcd(gv_time_data[1]));
i2c_pkt_write(0xd0,0x02,bin2bcd(gv_time_data[2]));
i2c_pkt_write(0xd0,0x04,bin2bcd(gv_time_data[3]));
i2c_pkt_write(0xd0,0x05,bin2bcd(gv_
没有合适的资源?快使用搜索试试~ 我知道了~
SDK1.4E.rar_MJPEG_dvr_dvr source_mjpeg-stream_录像
共66个文件
h:18个
lst:13个
c:13个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 138 浏览量
2022-07-14
01:03:18
上传
评论
收藏 371KB RAR 举报
温馨提示
嵌入式硬盘录像机源码,Mjpeg压缩方式,低成本方案,现在卖得很火
资源推荐
资源详情
资源评论
收起资源包目录
SDK1.4E.rar (66个子文件)
SDK1.4E
GSEARCH.OBJ 16KB
sio.LST 7KB
I2C.LST 8KB
cs4954.LST 7KB
gcset.c 3KB
tw9903.LST 6KB
console.OBJ 1KB
gsearch.c 4KB
lib.h 948B
gsearch.h 503B
GCSET.LST 7KB
key.h 812B
gmenu.c 81KB
gmenu.OBJ 142KB
GOSD.LST 29KB
I2C.OBJ 12KB
clear.bat 324B
cs4954.OBJ 4KB
lib.OBJ 5KB
gio.h 2KB
gcset.h 565B
i2c.c 4KB
dvr03.plg 1KB
gmain.c 53KB
GHDD.OBJ 65KB
GCSET.OBJ 10KB
dvr03 340KB
GOSD.OBJ 38KB
dvr03.M51 54KB
ghdd.c 36KB
tw9903.OBJ 6KB
gio.c 1KB
types.h 900B
rtc_reg.h 3KB
dvr03.Uv2 2KB
sio.c 3KB
GSEARCH.LST 8KB
dvr03.hex 138KB
gio.OBJ 7KB
ghdd.h 3KB
gosd.c 13KB
dvr03_Uv2.Bak 2KB
gosd.h 2KB
console.c 7KB
GMAIN.LST 115KB
gmenu.LST 176KB
sio.h 745B
main.h 910B
cs4954.c 3KB
8052reg.h 6KB
GMAIN.OBJ 97KB
dvr03.Opt 2KB
cs4954.h 544B
i2c.h 666B
GHDD.LST 69KB
tw9903.h 597B
gio.LST 3KB
console.h 735B
myfont.h 73KB
tw9903.c 3KB
console.LST 13KB
hdd_if.h 2KB
lib.LST 10KB
sio.OBJ 6KB
lib.c 5KB
dvr03_Opt.Bak 2KB
共 66 条
- 1
资源评论
alvarocfc
- 粉丝: 105
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功