示例#1
0
UINT32 DxUSB_UpdateConnectType(void)
{
    USB_CHARGER_STS RetUSB;
    UINT32  uiUSBCurrType;
    if(!DxUSB_GetIsUSBPlug())
    {
        uiUSBCurrType = USB_CONNECT_NONE;
    }
    else
    {
        RetUSB = usb_chkCharger(0);
        switch (RetUSB)
        {
            case USB_CHARGER_STS_NONE:
                DBG_DUMP("CONNECT to PC\r\n");
                uiUSBCurrType = USB_CONNECT_PC;
                break;
            case USB_CHARGER_STS_CHARGING_DOWNSTREAM_PORT:
                DBG_DUMP("CONNECT to Charging PC\r\n");
                uiUSBCurrType = USB_CONNECT_CHARGING_PC;
                break;
            case USB_CHARGER_STS_CHARGER:
                DBG_DUMP("CONNECT to CHARGER\r\n");
                uiUSBCurrType = USB_CONNECT_CHARGER;
                break;
            default:
                DBG_ERR("CONNECTION UNKNOWN!\r\n");
                uiUSBCurrType = USB_CONNECT_UNKNOWN;
                break;
        }
    }
    return uiUSBCurrType;
}
示例#2
0
void GPIOMap_DumpBacklight(void)
{
#if (LCD_BACKLIGHT_CTRL == LCD_BACKLIGHT_BY_PWM)
    DBG_DUMP("BACKLIGHT clk :\t\t%d MHz\r\n",48/(g_LCDBacklightPWMInfo.uiDiv+1));
    DBG_DUMP("BACKLIGHT Duty :\t%d %\r\n",(g_LCDBacklightPWMInfo.uiFall-g_LCDBacklightPWMInfo.uiRise)*100/g_LCDBacklightPWMInfo.uiPrd);
#endif
}
示例#3
0
void Power_StartUSBCharge(void)
{
    if (!gIsBattInsert)
    {
        DBG_DUMP("  NO Battery, Ignore START\r\n");
        return;
    }

    if (GxPower_GetControl(GXPWR_CTRL_BATTERY_CHARGE_EN))
    {
        DBG_DUMP("  Already UNDER Charge, Ignore START\r\n");
        return;
    }

    if((USB_GetSource() == USB_SRC_USB_ADAPTER))
    {
        GxPower_SetControl(GXPWR_CTRL_BATTERY_CHARGE_CURRENT,BATT_CHARGE_CURRENT_HIGH);
        DBG_MSG("  Charge Current = %d\r\n", BATT_CHARGE_CURRENT_HIGH);
    }
#if _MIPS_TODO
    //#NT#2010/12/10#Jeah Yen -begin
    if((USB_GetSource() == USB_SRC_USB_ADAPTER) && (Power_GetSource() != POWER_SRC_USB_ADAPTER))
    {
        //Do not charge, just stop check low-battery
        DBG_DUMP("GxPower: Stop low-battery check.\r\n");
        GxPower_SetControl(GXPWR_CTRL_BATTERY_DETECT_EN, FALSE);
        return;
    }
    //#NT#2010/12/10#Jeah Yen -end
#endif
    //#NT#2010/12/10#Jeah Yen -begin
    if((USB_GetSource() == USB_SRC_USB_PC))
    {
        GxPower_SetControl(GXPWR_CTRL_BATTERY_CHARGE_CURRENT,BATT_CHARGE_CURRENT_MEDIUM);
        DBG_MSG("  Charge Current = %d\r\n", BATT_CHARGE_CURRENT_MEDIUM);
    }
    //#NT#2010/12/10#Jeah Yen -end

    //#NT#2010/12/10#Jeah Yen -begin
    DBG_DUMP("GxPower: Stop low-battery check.\r\n");
    GxPower_SetControl(GXPWR_CTRL_BATTERY_DETECT_EN, FALSE);
    DBG_DUMP("GxPower: Start to Charge Battery\r\n");
#if (USB_CHARGE_VERIFY == ENABLE)
    GxLED_SetCtrl(KEYSCAN_LED_GREEN,TURNON_LED,TRUE);
#endif
    GxPower_SetControl(GXPWR_CTRL_BATTERY_CHARGE_EN,TRUE);
    //#NT#2010/12/10#Jeah Yen -end
#if (USB_CHARGE_VERIFY == ENABLE)
#else
    //GxLED_SetCtrl(KEYSCAN_LED_GREEN,TURNON_LED,FALSE);
#endif
    //GxLED_SetCtrl(KEYSCAN_LED_RED,SETLED_SPEED,GXLED_1SEC_LED_TOGGLE_CNT);
    //GxLED_SetCtrl(KEYSCAN_LED_RED,SET_TOGGLE_LED,TRUE);
    GxLED_SetCtrl(KEYSCAN_LED_GREEN,SETLED_SPEED,GXLED_1SEC_LED_TOGGLE_CNT);
    GxLED_SetCtrl(KEYSCAN_LED_GREEN,SET_TOGGLE_LED,TRUE);

    // disable flash re-charge
    SxTimer_SetFuncActive(SX_TIMER_DET_RECHARGE_ID,FALSE);
}
void SysDump_ver_drv(void)
{
    DBG_DUMP("\r\n=========================================================\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("    NT96650 Driver version info.\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("=========================================================\r\n");
    SwTimer_DelayMs(5);
    //dumpver(driver_ver);
}
void SysDump_ver_eCos(void)
{
    DBG_DUMP("\r\n=========================================================\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("    NT96650 eCos version info.\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("=========================================================\r\n");
    SwTimer_DelayMs(5);
    dumpver(eCos_Ver);
}
void SysDump_ver_app(void)
{
    DBG_DUMP("\r\n=========================================================\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("    NT96650 Application version info.\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("=========================================================\r\n");
    SwTimer_DelayMs(5);
    //dumpver(app_ver);
}
void SysDump_ver_lib(void)
{
    DBG_DUMP("\r\n=========================================================\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("    NT96650 Library version info.\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("=========================================================\r\n");
    SwTimer_DelayMs(5);
    //dumpver(lib_ver);
}
void SysDump_ver_common(void)
{
    DBG_DUMP("\r\n=========================================================\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("    NT96650 Common version info.\r\n");
    SwTimer_DelayMs(5);
    DBG_DUMP("=========================================================\r\n");
    SwTimer_DelayMs(5);
    //dumpver(common_ver);
}
示例#9
0
UINT32 DrvNANDCommand(CHAR *pcCmdStr) //General Command Console
{
    switch (*pcCmdStr)
    {
    case 'd':
        /*if (!strncmp(pcCmdStr, "Nand dump", 9))
        {
            return TRUE;
        }*/
        break;
    }
#if 0
#if _MIPS_TODO
    if((nand_info.ucDeviceCode == NAND_128M_2K)
    || (nand_info.ucDeviceCode == NAND_256M_2K))
    {
        DBG_DUMP("NAND type = 2K page\r\n");
    }
    else
    {
        DBG_DUMP("NAND type = 512B page\r\n");
    }
#endif
    //#NT#2010/02/22#Jeah Yen -end
    DBG_DUMP("Page Count/Block = %d\r\n", nand_info.uiPagePerBlock);
    DBG_DUMP("Data Size/Page = %d bytes\r\n", nand_info.uiBytesPerPageData);
    DBG_DUMP("Spare Size/Page = %d bytes\r\n", nand_info.uiSparePerPage);
    DBG_DUMP("Data Size/Block = %d bytes\r\n", nand_info.uiBlockSize);
    DBG_DUMP("Spare Size/Block = %d bytes\r\n", nand_info.uiPagePerBlock*nand_info.uiSparePerPage);

    DBG_DUMP("Physical Block Count = %d\r\n", nand_info.uiPhysicalBlockCount);
    DBG_DUMP("Total NAND data size = 0x%08x bytes\r\n",
        nand_info.uiPhysicalBlockCount*nand_info.uiBlockSize);
    DBG_DUMP("Total NAND spare size = 0x%08x bytes\r\n",
        nand_info.uiPhysicalBlockCount*nand_info.uiPagePerBlock*nand_info.uiSparePerPage);

/*
Ex:
ERR: Page Count/Block = 32
ERR: Data Size/Page = 512 bytes
ERR: Spare Size/Page = 16 bytes
ERR: Data Size/Block = 16384 bytes
ERR: Spare Size/Block = 512 bytes

ERR: Physical Block Count = 1728  //<------------ 注意! 不包含PST區的block
ERR: Total NAND data size = 0x01b00000 bytes  //<------------ 注意! 不包含PST區的block
ERR: Total NAND spare size = 0x000d8000 bytes  //<------------ 注意! 不包含PST區的block
*/
#endif
    return FALSE;
}
示例#10
0
//------------------------------------------------------------
// CNsmlObexClient::SendDataL( TDesC8& aStartPtr, TBool /*aFinalPacket*/, TRequestStatus &aStatus )
//------------------------------------------------------------
void CNsmlObexClient::SendDataL( TDesC8& aStartPtr, TBool /*aFinalPacket*/, TRequestStatus &aStatus )
    {
	iAgentStatus = &aStatus;
	// agent
	*iAgentStatus = KRequestPending;

	if ( iState == EWaitingToReceive )
		{
		iClient->Abort();
		iState = EWaitingToSend;
		}
    if ( iState != EWaitingToSend )
        {
        User::Leave( KErrDisconnected );
        }
    else if ( IsActive() ) 
        {
        User::Leave( KErrInUse );
        }

    iCurrObject->Reset();
	
	DBG_DUMP((void*)aStartPtr.Ptr(), aStartPtr.Length(), 
	        _S8("SendDataL (WBXML)") );
#ifdef __NSML_DEBUG__
	_DBG_FILE("CNsmlObexClient::SendDataL: CWbxml2XmlConverter::ConvertL() begin");
	CWbxml2XmlConverter* c = CWbxml2XmlConverter::NewLC();
	c->ConvertL(aStartPtr.Ptr(), aStartPtr.Length());
	DBG_DUMP((void*)c->Document().Ptr(), c->Document().Length(), 
	        _S8("SendDataL (XML)") );
	CleanupStack::PopAndDestroy(); // c
	_DBG_FILE("CNsmlObexClient::SendDataL: CWbxml2XmlConverter::ConvertL() end");
#endif // __NSML_DEBUG__
		        
	iDocumentLength = aStartPtr.Length();

	iDataBuf->Reset();
	iDataBuf->InsertL( 0, aStartPtr );
    TRAPD( err, iCurrObject->SetDataBufL( iDataBuf ) );

    if( KErrNone == err )
		{
        TBuf8<KNameLen> str;
		str.Copy( this->iMimeType->Des() );
        iCurrObject->SetTypeL( str );

        iClient->Put( *iCurrObject, iStatus );
		SetActive ();
		}
    }
示例#11
0
unsigned char RfcommPutData(const unsigned char *pData, unsigned short uLen)
{
    unsigned char bCtrl, bFCS, bMsgType, bMsgLen;
    unsigned char uOffset, uMsgOffset, bChNumber;
    unsigned short uFrameHdrLen, uFrameInfLen;
    unsigned char bRetVal= FALSE_, bHasCrField = FALSE_;
    RFCOMM_CHANNEL *psChannel = NULL;

    DBG_INFO ("->");
    DBG_DUMP(pData, uLen);

    /*
     * Parse the header
     */
    ASSERT(uLen >= RFCOMM_HDR_LEN_1B);

    /* Get the Channel number and Control field */
    bChNumber = pData[0] >> 3;
    bCtrl = pData[1];
    /* Check the channel */
    psChannel = _RFCOMM_getChannel(bChNumber);
    if(NULL == psChannel)
    {
        return FALSE_;
    }

    /* Check if the len field has 1 or 2 octets */
    if ((pData[2] & RFCOMM_MASK_LI_1B))
    {
        uFrameHdrLen = RFCOMM_HDR_LEN_1B;
        uFrameInfLen = pData[2] >> 1;
    }
示例#12
0
BOOL Cmd_dsc_shutdown(CHAR* strCmd)
{
    DBG_DUMP("Dsc Shutdown\r\n");
    //System_PowerOff(SYS_POWEROFF_NORMAL);
    Ux_SendEvent(0, NVTEVT_SYSTEM_SHUTDOWN, 1, 0); //shutdown start
    return TRUE;
}
示例#13
0
BOOL Cmd_time_lapse_test(CHAR* strCmd)
{
    UINT32 uiTmpLapseOption;

    sscanf(strCmd,"%d", &uiTmpLapseOption);

    DBG_DUMP("Test time-lapse option=%d\r\n", uiTmpLapseOption);

    switch(uiTmpLapseOption)
    {
      case 0:
      default:
        SysSetFlag(FL_MOVIE_TIMELAPSE_REC,  MOVIE_TIMELAPSEREC_OFF);
        break;
      case 1:
        SysSetFlag(FL_MOVIE_TIMELAPSE_REC,  MOVIE_TIMELAPSEREC_100MS);
        break;
      case 2:
        SysSetFlag(FL_MOVIE_TIMELAPSE_REC,  MOVIE_TIMELAPSEREC_200MS);
        break;
      case 3:
        SysSetFlag(FL_MOVIE_TIMELAPSE_REC,  MOVIE_TIMELAPSEREC_500MS);
        break;
    }
    return TRUE;
}
示例#14
0
BOOL Cmd_mode_sidc(CHAR* strCmd)
{
#if (UI_STYLE!=UI_STYLE_DRIVER)
    DBG_DUMP("USB SIDC Mode\r\n");
    Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, PRIMARY_MODE_USBSIDC);
#endif
    return TRUE;
}
示例#15
0
BOOL Cmd_dsc_boot(CHAR* strCmd)
{
    DBG_DUMP("Dsc Boot\r\n");
    //DscMain();
    // Start Dsc System
    //System_PowerOn(SYS_POWERON_NORMAL);
    GxSystem_PowerOn(); //boot start
    return TRUE;
}
示例#16
0
BOOL Cmd_key_i(CHAR* strCmd)
{
    DBG_DUMP("I Key\r\n");

    Ux_OpenWindow(&UIMenuWndWiFiWaitCtrl, 0);
    BKG_PostEvent(NVTEVT_BKW_WIFI_ON);
    return TRUE;

}
示例#17
0
BOOL Cmd_key_i(CHAR* strCmd)
{
    {
        DBG_DUMP("I Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_I, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_I, 0);
#endif
        return TRUE;
    }
}
void System_ModeClose(void)
{
    SYS_MODE* pCurrMode;

    if((g_iSysCurMode >= (INT32)g_SysModeCnt)
    || (g_iSysCurMode < 0) )
    {
        if(g_iSysCurMode != SYS_MODE_UNKNOWN)
        DBG_ERR("Current mode (id: 0x%02x) is not exist! ignored.\r\n", g_iSysCurMode);
        return;
    }
    pCurrMode = g_SysModeTable[g_iSysCurMode];
    DBG_DUMP("^MMode {%s} Close begin\r\n",pCurrMode->strName);
    if(pCurrMode->pfMode_OnClose)
        pCurrMode->pfMode_OnClose();
    DBG_DUMP("^MMode {%s} Close end\r\n", pCurrMode->strName);
    //prev = current
    g_iSysPrevMode = g_iSysCurMode; // Save mode
    //current = next
    g_iSysCurMode  = SYS_MODE_UNKNOWN;
}
void System_ModeSleepLeave(void)
{
    SYS_MODE* pCurrMode;
    if(g_iSysSleep == 0)
        return;

    if((g_iSysCurMode >= (INT32)g_SysModeCnt)
    || (g_iSysCurMode < 0) )
    {
        if(g_iSysCurMode != SYS_MODE_UNKNOWN)
        DBG_ERR("Current mode (id: 0x%02x) is not exist! ignored.\r\n", g_iSysCurMode);
        return;
    }
    pCurrMode = g_SysModeTable[g_iSysCurMode];
    DBG_DUMP("^MMode {%s} SleepLeave begin\r\n",pCurrMode->strName);
    if(pCurrMode->pfMode_OnSleepLeave)
        pCurrMode->pfMode_OnSleepLeave();
    DBG_DUMP("^MMode {%s} SleepLeave end\r\n", pCurrMode->strName);

    g_iSysSleep = 0;
}
示例#20
0
BOOL Cmd_key_shutter2rel(CHAR* strCmd)
{
    {
        DBG_DUMP("Shutter2 release Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_RELEASE);
#else
        Ux_PostEvent(NVTEVT_KEY_SHUTTER2_REL, 0);
#endif
        return TRUE;
    }
}
示例#21
0
BOOL Cmd_key_zoomrelease(CHAR* strCmd)
{
    {
        DBG_DUMP("zoom release Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_ZOOMRELEASE, 1, NVTEVT_KEY_ZOOMRELEASE);
#else
        Ux_PostEvent(NVTEVT_KEY_ZOOMRELEASE, 0);
#endif
        return TRUE;
    }
}
示例#22
0
BOOL Cmd_sensor_wakeup(CHAR* strCmd)
{
    IPL_SLEEP_INFO Info;

    Info.Id = 0;

    IPL_SetCmd(IPL_SET_WAKEUP, (void *)&Info);
    IPL_WaitCmdFinish();
    DBG_DUMP("IPL set wakeup %d\r\n", Info.Id);

    return TRUE;
}
示例#23
0
//should be call after rtc_open()
    void IO_GetPowerSrc(void)
    {
        UINT32 pwrlost, pwsrc;
        pwrlost = rtc_isPowerLost();
        if(pwrlost)
        {
            DBG_DUMP("^GPowerOn Pwr Lost!\r\n"); //"firs time power-on" or "lost power of Gold capacitor"

            //should notify user to configure current date-time!
        }

        pwsrc = rtc_getPWROnSource();
        if(pwsrc == RTC_PWRON_SRC_PWR_SW)
        {
            DBG_DUMP("^GPowerOn Src = PWR key\r\n");
        }
        else if(pwsrc == RTC_PWRON_SRC_PWR_SW2)
        {
            DBG_DUMP("^GPowerOn Src = PB Key\r\n");
        }
        else if(pwsrc == RTC_PWRON_SRC_PWR_SW3)
        {
            DBG_DUMP("^GPowerOn Src = USB plug\r\n");
        }
        else if(pwsrc == RTC_PWRON_SRC_PWR_SW4)
        {
            DBG_DUMP("^GPowerOn Src = DC plug\r\n");
        }
        else if(pwsrc == RTC_PWRON_SRC_PWR_ALM)
        {
            DBG_DUMP("^GPowerOn Src = PWR alarm\r\n");
        }
    }
示例#24
0
//------------------------------------------------------------
// CNsmlObexClient::ReceiveDataL( TDes8& aStartPtr, TRequestStatus &aStatus )
//------------------------------------------------------------
void CNsmlObexClient::ReceiveDataL( TPtr8& aStartPtr, TRequestStatus &aStatus )
    {
	iAgentStatus = &aStatus;
	// agent
	*iAgentStatus = KRequestPending;
	
	iDataPtr.Set( aStartPtr );

    if ( iState != EWaitingToReceive )
        {
        User::Leave( KErrDisconnected );
        }
    else if ( IsActive() ) 
        {
        User::Leave( KErrInUse );
        }
	iDataBuf->Reset();
	iCurrObject->Reset();

	TBuf8<KNameLen> str;
	str.Copy( this->iMimeType->Des() );
	iCurrObject->SetTypeL( str );

	iClient->Get( *iCurrObject, iStatus );
	
	DBG_DUMP((void*)aStartPtr.Ptr(), aStartPtr.Length(), 
	_S8("ReceiveDataL (WBXML)"));
#ifdef __NSML_DEBUG__
	_DBG_FILE("CNsmlObexClient::ReceiveDataL: CWbxml2XmlConverter::ConvertL()\
	 begin");
	CWbxml2XmlConverter* c = CWbxml2XmlConverter::NewLC();
	c->ConvertL(aStartPtr.Ptr(), aStartPtr.Length());
	DBG_DUMP((void*)c->Document().Ptr(), c->Document().Length(), 
	_S8("ReceiveDataL (XML)") );
	CleanupStack::PopAndDestroy(); // c
	_DBG_FILE("CNsmlObexClient::ReceiveDataL: CWbxml2XmlConverter::ConvertL() end");
#endif // __NSML_DEBUG__

	SetActive ();
    }
示例#25
0
BOOL Cmd_key_shutter2(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_SHUTTER2)
    {
        DBG_DUMP("Shutter2 Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_SHUTTER2, 0);
#endif
        return TRUE;
    }
}
示例#26
0
BOOL Cmd_key_zoomout_release(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_ZOOMOUT)
    {
        DBG_DUMP("Zoom Out Key release\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_ZOOMOUT, 1, NVTEVT_KEY_RELEASE);
#else
        Ux_PostEvent(NVTEVT_KEY_ZOOMOUT, 0);
#endif
        return TRUE;
    }
}
示例#27
0
BOOL Cmd_key_zoomin(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_ZOOMIN)
    {
        DBG_DUMP("Zoom In Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_ZOOMIN, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_ZOOMIN, 0);
#endif
        return TRUE;
    }
}
示例#28
0
BOOL Cmd_key_enter(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_ENTER)
    {
        DBG_DUMP("Enter Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_ENTER, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_ENTER, 0);
#endif
        return TRUE;
    }
}
示例#29
0
BOOL Cmd_key_left(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_LEFT)
    {
        DBG_DUMP("Left Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_LEFT, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_LEFT, 0);
#endif
        return TRUE;
    }
}
示例#30
0
BOOL Cmd_key_down(CHAR* strCmd)
{
    //if(uiKeyTmpMsk & FLGkey_DOWN)
    {
        DBG_DUMP("Down Key\r\n");
#if (UI_STYLE==UI_STYLE_DRIVER)
        Ux_PostEvent(NVTEVT_KEY_DOWN, 1, NVTEVT_KEY_PRESS);
#else
        Ux_PostEvent(NVTEVT_KEY_DOWN, 0);
#endif
        return TRUE;
    }
}