static const char *readline() { int count; db_msg("prepare to readline\n"); do{ count = read(device_fd, s_ATBuffer,MAX_AT_RESPONSE); db_msg("readline count=%d\n",count); } while (count < 0 && errno == EINTR); if (count > 0){ s_ATBuffer[count] = '\0';//mark the string end } else if (count<=0) { /* read error encountered or EOF reached */ if(count == 0) { db_error("ATchannel: EOF reached\n"); } else { db_error("ATchannel: read error %s\n", strerror(errno)); } return NULL; } return s_ATBuffer; }
/* |icon:ctrlData[0]| | label:ctrlData[1] | * | label:ctrlData[2] | | icon-Select:ctrlData[3] | *------------------------------------------------------------------------------------ */ void setLocation(int screenW,int screenH) { getScreenInfo(&screenW, &screenH); PCTRLDATA location = ctrlData + IDX_TITLE_ICON; location->x = screenW/40; location->y = screenH/40; location->w = screenW/20; location->h = screenH*0.075; db_msg("x:%d,y:%d,w:%d,h:%d",location->x,location->y,location->w,location->h); location = ctrlData + IDX_TITLE_TEXT; location->x = screenW/5 + 60; location->y = ctrlData[IDX_TITLE_ICON].y*2; location->w = screenW/2; location->h = screenH/14; db_msg("x:%d,y:%d,w:%d,h:%d",location->x,location->y,location->w,location->h); location = ctrlData + IDX_SWITCH_TEXT; location->x = ctrlData[IDX_TITLE_TEXT].x; location->y = screenH*0.1875; location->w = screenW/2; location->h = screenH/14; db_msg("x:%d,y:%d,w:%d,h:%d",location->x,location->y,location->w,location->h); location = ctrlData + IDX_SWITCH_ICON; location->x = screenW*0.75; location->y = screenH*0.1875; location->w = screenW/10; location->h = screenH*0.075; db_msg("x:%d,y:%d,w:%d,h:%d",location->x,location->y,location->w,location->h); }
void CdrDisplay::setBottom() { db_msg("there is no need setBottom in V3"); #ifndef DE2 db_msg("setBottom"); mCD->setPreviewBottom(mHlay); #endif }
int setup_2g_device(char *device_node_path,int setup_delay) { char *p_cur; int sl; struct termios ios; device_fd= open (device_node_path, O_RDWR); if(device_fd<0) { db_error("2gtester:open device error\n"); } /* disable echo on serial ports */ tcgetattr( device_fd, &ios ); ios.c_lflag = 0; tcflush(device_fd, TCIFLUSH); cfsetospeed(&ios,B115200); if(tcsetattr( device_fd, TCSANOW, &ios )) { db_error("set tty attr fail\n"); return 0; } db_msg("sleep %d s to wait for hardware ready\n",setup_delay); sleep(setup_delay);//sleep befor hardware get ready readline(); //dump the msg db_msg("2gtester dump readline: %s\n",s_ATBuffer); if(writeline("AT+CSQ")){ //WRITE single query command return 0; } sleep(1); if(!readline()){ db_error("2gtester:no correct response for the AT+CSQ\n"); return 0; } db_msg("2gtester AT+CSQ readline: %s\n",s_ATBuffer); p_cur=strstr(s_ATBuffer,"+CSQ:"); if (*p_cur == NULL) { return 0; } p_cur+=5; //point to the rssi start position db_msg("p_cur=%s\n",p_cur); sl=atoi(p_cur); sl=(sl*2)-113; db_msg("sl=%d\n",sl); return sl; }
void CdrDisplay::closeAdasScreen() { db_msg("<**CdrDisplay::closeAdasScreen**>"); if (mCD) { int ret; ret = mCD->open(9, 0); db_msg("ret is %d\n", ret); if(ret != 0) db_msg("<****closeAdasScreen failed****>"); } }
static BOOL timerCallback(HWND hDlg, int id, DWORD data) { MBPrivData* privData; privData = (MBPrivData *)GetWindowAdditionalData(hDlg); if(id == TIMER_CONFIRM_CALLBACK) { db_msg("confirmCallback\n"); (*privData->confirmCallback)(hDlg , privData->confirmData); db_msg("confirmCallback\n"); } return FALSE; }
void CdrCamera::stopAWMD() { db_msg("%s %d\n", __FUNCTION__, __LINE__); if (mHC && (mAWMDing)) { db_msg("%s %d\n", __FUNCTION__, __LINE__); mHC->stopAWMoveDetection(); if(mAwmdTimerID) { stopTimer(mAwmdTimerID); deleteTimer(mAwmdTimerID); mAwmdTimerID = 0; } mAWMDing = false; } }
int PlayBack::PreparePlayBack(std::string filePath) { zeta::ZetaDisplay *mZD = mCdrMain->get_ZetaDisp(); mIZetaMediaPlayer->setOnPreparedListener(mPlayBackListener); mIZetaMediaPlayer->setOnCompletionListener(mPlayBackListener); db_msg("PreparePlayBack: filePath:%s\n", filePath.c_str()); mCdrMain->stopPreviewOutside(1); usleep(100 * 1000); mIZetaMediaPlayer->setDisplay(mZD->getHandle()); mIZetaMediaPlayer->setDataSource(filePath.c_str()); mIZetaMediaPlayer->prepare(); db_msg("PreparePlayBack: mIZetaMediaPlayer->prepare()\n"); return 0; }
static int setup_device(char *device_node_path,int setup_delay) { struct termios ios; device_fd= open (device_node_path, O_RDWR); if(device_fd<0){ db_error("2glooptester:open device error\n"); } /* disable echo on serial ports */ tcgetattr( device_fd, &ios ); ios.c_lflag = 0; tcflush(device_fd, TCIFLUSH); cfsetospeed(&ios,B115200); if(tcsetattr( device_fd, TCSANOW, &ios )){ db_error("set tty attr fail\n"); return -1; } db_msg("sleep %d s to wait for hardware ready\n",setup_delay); sleep(setup_delay);//sleep befor hardware get ready return 0; }
CdrDisplay::~CdrDisplay() { db_msg("CdrDisplay Destructor\n"); mCD->releaseSurface(mHlay); delete mCD; mCD = NULL; }
PlayBack::PlayBack(CdrMain *cdrMain) : mCurrentState(STATE_IDLE), mTargetState(STATE_IDLE), mStopFlag(0), bmpIcon() { RECT rect; HWND hMainWnd = cdrMain->getHwnd(); db_msg("PlayBack:-----------------------\n"); GetWindowRect(hMainWnd, &rect); mHwnd = CreateWindowEx(WINDOW_PLAYBACK, "", WS_NONE, WS_EX_TRANSPARENT | WS_EX_USEPARENTFONT, WINDOWID_PLAYBACK, 0, 0, RECTW(rect), RECTH(rect), hMainWnd, (DWORD)this); if(mHwnd == HWND_INVALID) { return; } showWindow(SW_HIDE); mCdrMain = cdrMain; mIZetaMediaPlayer = new zeta::iZetaMediaPlayer(); mPlayBackListener = new PlayBackListener(this); ResourceManager *rm = ResourceManager::getInstance(); rm->setHwnd(WINDOWID_PLAYBACK, mHwnd); mCurId=0; }
void CdrCamera::setAdas(bool val) { if (mId != CAM_CSI) { return ; } mNeedADAS = val; db_msg("%s %d, val is %d\n", __FUNCTION__, __LINE__, val); if (mHC && (mPreviewing == true)) { db_msg("%s %d\n", __FUNCTION__, __LINE__); if (val) { startAdas(); } else { stopAdas(); } } }
void PlayBack::cdrplaybackicon(HWND hWnd,ResourceID mId,int iCmdShow) { int retval; CDR_RECT rect; ResourceManager* rm; HWND retWnd; rm = ResourceManager::getInstance(); retval = rm->getResBmp(mId, BMPTYPE_BASE, bmpIcon); if(retval < 0) { db_error("get current playback icon bmp failed\n"); //return -1; } rm->getResRect(mId, rect); db_msg("luo rect.x=%d rect.y=%d rect.w=%d rect.h=%d \n ",rect.x,rect.y,rect.w,rect.h); retWnd = CreateWindowEx(CTRL_STATIC, "", WS_VISIBLE | WS_CHILD | SS_BITMAP | SS_CENTERIMAGE, WS_EX_TRANSPARENT, mId, rect.x, rect.y,rect.w,rect.h, hWnd, (DWORD)&bmpIcon); if(retWnd == HWND_INVALID) { db_error("create playback icon label failed\n"); //return -1; } ShowWindow(retWnd, iCmdShow); // return 0; }
void PlayBack::PlayBackPlayStatus(PlayStatus Status) { switch(Status){ case PlayStart: cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON3,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON2,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON1,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON,SW_SHOWNORMAL); break; case PlayStop: cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON3,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON2,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON1,SW_SHOWNORMAL); break; case PlayRewind: cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON3,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON1,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON2,SW_SHOWNORMAL); break; case PlayForward: cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON2,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON1,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON,SW_HIDE); cdrplaybackicon(mHwnd,ID_PLAYBACK_ICON3,SW_SHOWNORMAL); break; default: db_msg("luo PlayBackPlayStatus error\n"); break; } }
int PlayBack::createSubWidgets(HWND hWnd) { int retval; CDR_RECT rect; ResourceManager* rm; HWND retWnd; db_msg("createSubWidgets:------------\n"); rm = ResourceManager::getInstance(); ProgressBarData_t PGBData; rm->getResRect(ID_PLAYBACK_PGB, rect); PGBData.bgcWidget = rm->getResColor(ID_PLAYBACK_PGB, COLOR_BGC); PGBData.fgcWidget = rm->getResColor(ID_PLAYBACK_PGB, COLOR_FGC); retWnd = CreateWindowEx(CTRL_CDRPROGRESSBAR, NULL, WS_VISIBLE, WS_EX_NONE, ID_PLAYBACK_PGB, rect.x, rect.y, rect.w, rect.h, hWnd, (DWORD)&PGBData); if(retWnd == HWND_INVALID) { db_error("create playback progress bar failed\n"); return -1; } return 0; }
static int enter_loop_mode(void) { char *p_cur; int try=0; if(writeline("AT+ECHO1ON")){ return -1; } sleep(2); while(try<3){ if(!readline()){ sleep(2); try++; } else { break; } } db_msg("2glooptester ATD readline: %s\n",s_ATBuffer); if(try>=3) { db_error("2glooptester:no correct response for the ATD\n"); return -1; } p_cur=strstr(s_ATBuffer,"OK"); if(p_cur){ return 0; } else { return -1; } }
static int detect_output_mode(void) { unsigned int args[4]; int ret; int support_mode; args[0] = 1; args[1] = DISP_TV_MOD_1080P_50HZ; ret = ioctl(disp, DISP_CMD_HDMI_SUPPORT_MODE, args); if (ret == 1) { db_msg("hdmitester: your device support 1080p 50Hz\n"); output_mode = DISP_TV_MOD_1080P_50HZ; screen_width = 1920; screen_height = 1080; } else { args[0] = 1; args[1] = DISP_TV_MOD_720P_50HZ; ret = ioctl(disp, DISP_CMD_HDMI_SUPPORT_MODE, args); if (ret == 1) { db_msg("hdmitester: your device support 720p 50Hz\n"); output_mode = DISP_TV_MOD_720P_50HZ; screen_width = 1280; screen_height = 720; } else { db_msg("hdmitester: your device do not support neither 1080p nor 720p (50Hz)\n"); if (script_fetch("hdmi", "support_mode", &support_mode, 1)) { support_mode = 2; db_msg("hdmitester: can't fetch user config mode, use default mode: %s\n", type_list[support_mode].name); } else if (support_mode < 0 || support_mode >= TYPE_COUNT) { support_mode = 2; db_msg("hdmitester: user config mode invalid, use default mode: %s\n", type_list[support_mode].name); } db_msg("hdmitester: use user config mode: %s\n", type_list[support_mode].name); args[0] = 1; args[1] = type_list[support_mode].mode; ret = ioctl(disp, DISP_CMD_HDMI_SUPPORT_MODE, args); if (ret == 1) { db_msg("hdmitester: you device support %s\n", type_list[support_mode].name); output_mode = type_list[support_mode].mode; screen_width = type_list[support_mode].width; screen_height = type_list[support_mode].height; } else { db_msg("hdmitester: you device do not support %s\n", type_list[support_mode].name); return -1; } } } return 0; }
void CdrCamera::stopAdas() { db_msg(" mADASing %d ", mADASing); if (mHC && mADASing) { mHC->adasStopDetection(); mADASing = false; } }
void CdrCamera::stopPreview(void) { Mutex::Autolock _l(mLock); db_msg("stopPreview %d\n", mId); if(mPreviewing == false) { db_msg("preview is already stoped\n"); return; } mHC->stopPreview(); mPreviewing = false; db_msg("stopPreview\n"); stopAWMD(); disableWaterMark(); stopAdas(); }
void CdrCamera::startAdas() { db_msg(" mADASing %d ", mADASing); if (mHC&& (mADASing == false)) { mHC->setAdasDetectionListener(this); mHC->adasStartDetection(); mADASing = true; } }
int CdrCamera::startPreview(void) { Mutex::Autolock _l(mLock); db_msg("startPreview %d\n", mId); if(mPreviewing == true) { db_msg("preview is started\n"); return -1; } mHC->startPreview(); mPreviewing = true; if (mNeedAWMD) { startAWMD(); } if (mNeedADAS) { startAdas(); } return 0; }
static BOOL timerCallback(HWND hDlg, int id, DWORD data) { tipLabelData_t* tipLabelData; tipLabelData = (tipLabelData_t*)GetWindowAdditionalData(hDlg); db_msg("timerCallback\n"); if(id == ONE_SHOT_TIMER) { db_msg("one shot timer timerCallback\n"); if(tipLabelData->callback != NULL) (*tipLabelData->callback)(hDlg, tipLabelData->callbackData); db_msg("one shot timer timerCallback\n"); } else if(id == TIMEOUT_TIMER) { db_msg("timeout timer timerCallback\n"); SendNotifyMessage(hDlg, MSG_CLOSE_TIP_LABEL, 0, 0); } return FALSE; }
void PlayBack::PlayBackListener::onPrepared(iZetaMediaPlayer *PiZetaMediaPlayer) { db_msg("PlayBackListener::onPrepared:-------------\n"); mPB->mCurrentState = STATE_PREPARED; //if(mPB->mTargetState == STATE_STARTED) { db_msg("PlayBackListener::onPrepared:start ZetaMediaPlay\n"); PiZetaMediaPlayer->start(); } #if 0 mPB->mCurrentState = STATE_PREPARED; if(mPB->mTargetState == STATE_STARTED) { db_msg("start CedarMediaPlayer\n"); mPB->start(); } #endif }
int ShowWifiTip(HWND hParent, tipLabelData_t* info, int full_screen) { DLGTEMPLATE dlg; CDR_RECT rect; if(info == NULL) { db_error("invalid info\n"); return -1; } memset(&dlg, 0, sizeof(dlg)); rect = info->rect; info->full_screen = full_screen; //if(full_screen) { rect.x = 0; rect.y = 0; getScreenInfo(&rect.w,&rect.h); db_msg(" rect(%d %d %d %d)", rect.x, rect.y, rect.w, rect.h); } ctrlData1[0].x = 0; ctrlData1[0].y = 0; ctrlData1[0].w = rect.w; ctrlData1[0].h = info->titleHeight; ctrlData1[0].caption = info->title; //if (info->hasicon == true) { ctrlData1[1].x = 60; ctrlData1[1].w = rect.w - 60; ctrlData1[1].h = rect.h - 10 - ctrlData1[0].h; ctrlData1[1].y = ctrlData1[0].h +(ctrlData1[1].h/4); ctrlData1[1].caption = info->text; ctrlData1[1].dwStyle = WS_VISIBLE | SS_LEFT; } ResourceManager *rm = ResourceManager::getInstance(); dlg.dwStyle = WS_VISIBLE; dlg.dwExStyle = WS_EX_NONE; dlg.x = rect.x; dlg.y = rect.y; dlg.w = rect.w; dlg.h = rect.h; dlg.caption = ""; dlg.hIcon = 0; dlg.hMenu = 0; dlg.controlnr = 2; dlg.controls = ctrlData1; dlg.dwAddData = 0; return DialogBoxIndirectParam(&dlg, hParent, DialogProc, (LPARAM)info); }
int PlayBack::stopPlayback(bool bRestoreAlpha) { db_msg("stop playback\n"); if(IsTimerInstalled(mHwnd, PLAYBACK_TIMER) == TRUE) KillTimer(mHwnd, PLAYBACK_TIMER); stop(); reset(); if (bRestoreAlpha) { set_ui_alpha(255); } return 0; }
void CdrCamera::enableLicenseWaterMark(bool IsTimeWM ,bool IsLicenseWM ,const char* licenseWM) { char waterMark[100]= {0}; int licenseWM_x = mWMPos.x + 180; int licenseWM_y = mWMPos.y + 50; sprintf(waterMark ,"%d,%d,%d,%d,%d,%s",mWMPos.x , mWMPos.y , IsTimeWM , licenseWM_x , licenseWM_y ,licenseWM); if (mHC) { db_msg(" waterMark :%s", waterMark); mHC->setWaterMark(1, waterMark); } }
void CdrCamera::setPicQuality(int percent) { db_msg("setPicQuality percent:%d", percent); HerbCamera::Parameters params; if(mHC == NULL) { db_error("mHC is NULL\n"); return; } mHC->getParameters(¶ms); params.setJpegQuality(percent); mHC->setParameters(¶ms); }
int PlayBack::startPlayBack() { HWND hIcon; PlayBackPlayStatus(PlayStart); db_msg("xxxxxxxxxxxxxxx\n"); SetTimer(mHwnd, PLAYBACK_TIMER, PROGRESSBAR_REFRESH_TIME); initProgressBar(); mStopFlag = 0; start(); return 0; }
void CdrCamera::setPicResolution(PicResolution_t quality) { HerbCamera::Parameters params; unsigned int w = 0; unsigned int h = 0; if(mHC == NULL) { db_error("mHC is NULL\n"); return; } mHC->getParameters(¶ms); switch(quality) { case PicResolution2M: { w = 1600; h = 1200; } break; case PicResolution5M: { w = 3200; h = 1800; } break; case PicResolution8M: { w = 3840; h = 2160; } break; case PicResolution12M: { w = 4000; h = 3000; } break; default: { db_msg("not support PicResolution:%d\n", quality); return ; } break; } #ifdef BACK_PICTURE_SOURCE_MODE if (mId == CAM_UVC) { w = REAL_UVC_W; h = REAL_UVC_H; } #endif params.setPictureSize(w, h); mHC->setParameters(¶ms); }
static int sensor_get_class_path(char *class_path,char * sensor_name) { char *dirname = "/sys/class/input"; char buf[256]; int res; DIR *dir; struct dirent *de; int fd = -1; int found = 0; dir = opendir(dirname); if (dir == NULL) return -1; while((de = readdir(dir))) { if (strncmp(de->d_name, "input", strlen("input")) != 0) { continue; } sprintf(class_path, "%s/%s", dirname, de->d_name); snprintf(buf, sizeof(buf), "%s/name", class_path); fd = open(buf, O_RDONLY); if (fd < 0) { continue; } if ((res = read(fd, buf, sizeof(buf))) < 0) { close(fd); continue; } buf[res - 1] = '\0'; if (strcmp(buf, sensor_name) == 0) { found = 1; db_msg("sensor:find sensor %s\n",sensor_name); close(fd); break; } close(fd); fd = -1; } closedir(dir); if (found) { return 0; }else { class_path = '\0'; return -1; } }