Example #1
0
/********************************************************************
* DB에 연결한다.
* 기존 connection이 있으면 유지 한다.
*
* return : BOOL : TRUE | FALSE
*
* parameter :
* [in] CString Filename : MDB 파일명
********************************************************************/
BOOL CAdo::DB_Connection(CString Filename)
{

	if(Filename.IsEmpty() && m_strConnection.IsEmpty() )
		return FALSE;
	
	if(Filename.IsEmpty() == FALSE)
	{
       	DB_Init(Filename);
	}

	if(m_pCON == NULL)
		return FALSE;

	if(m_IsDBConn == TRUE  )
		return TRUE;

	try
	{	//connection.Open(ConnectionString, UserID, Password, Options)  데이타 베이스 연결하기.
	   	m_pCON->Open((_bstr_t)m_strConnection,"","", adConnectUnspecified);
		m_IsDBConn = TRUE;
	       	
		AfxMessageBox("트루야");
	}catch(_com_error &err)
	{
	 	m_IsDBConn = FALSE;
		AfxMessageBox("폴틀야 ");
        TRACE("Error : %s : DB CONNECTION FAIL\n", err.Description() );		 
	}
     	
	return m_IsDBConn;
}
Example #2
0
void sytemInit(void){
	
	// 【特别说明】要先初始化串口,再去用printf;
	usart_init(USART_BPS);	printf("...串口初始化:%dbps\r\n",USART_BPS); 
	delay_init(SYS_CLK);    printf("...延时函数初始化\r\n"); 
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); printf("...中断优先级设置,优先级为2\r\n");//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	LED_Init();	            printf("...LED初始化\r\n"); 
	KEY_Init();	            printf("...KEY初始化\r\n"); 
	TIMER3_Init();          printf("...TIM3初始化\r\n"); 
	CAN_ModeInit(bandrate, mode); 
	My_RTC_Init();		 	printf("...时钟初始化RTC\r\n"); 
	RTC_Set_WakeUp(RTC_WakeUpClock_CK_SPRE_16bits,0);		//配置WAKE UP中断,1秒钟中断一次
	DB_Init();              printf("...文件系统初始化\r\n");
    OBD_print_CmdList();
    WIFI_Init();
	printf("\r\n---help------------------\
          \r\n左键:查询数据\
          \r\n右键:上传数据\
          \r\n上键:切换CAN工作模式\
          \r\n下键:切换CAN波特率\
          \r\n-------------------------\r\n");   
}
Example #3
0
int main()
{


    // FILE *f; 
    // int fileID,i; ede
   //  FieldType *fieldType;
    // FileHeader *fh;
//float v=1.24;

  //   f=fopen("/home/yair/testfloat","w");  
// writefloat(v, f) ;
 //fclose(f); 

  //   f=fopen("/home/yair/testfloat","r");  
//	printf("%d\n",readfloat(f));
//	fclose(f);
//return;

	// initate Data Base
	//FileClass fileClass;
     DB_Init();
     Time time;	
     time.hour=12;
     time.minutes=45;
     time.seconds=23;
     time.month=11;
     time.year=2011;
     time.msSec=233;
     CreateMBTDataFile("/home/openrisc/junk.mbt");
     showFileInfo("/home/openrisc/junk.mbt");
	addData();



	
//	fileClass = FileClass_Open("/home/yair/junk.mbt");
//	FileClass_ShowFileInfo(fileClass);

	
	readData();


//	File_Open(&fileClass,"/home/yair/junk.mbt");
//	File_SetColum(&fileClass,"EUR_USD",0);
//	File_SetColum(&fileClass,"EUR_CAD",1);




	DB_Finalize();



   //  DB_Init();

     //fh = DBHeader_Create();
	
     //fieldType = DBField_Create("EUR_USD",DB_LEN16,4);
     //DBHeader_AddField(fh,fieldType);
     //fieldType = DBField_Create("EUR_CAD",DB_LEN16,4);
     //DBHeader_AddField(fh,fieldType);

// DBFile_SetHeader(FileHeader *fh)

     
  //   fileID = DBFile_Open("/home/yair/junk");
    // DBFile_SetHeader(FileHeader *fh)

     //DBFile_SetTime(fileID, time);
     //DBFile_SetPointer(fileID, 0);
     //for (i = 0; i<10; i++)
     //{
    // }
     //DBFile_Close(fileID);


   //  fwrite(&fh,sizeof(struct _FileHeader),1,f);    
    // fclose (f);
     
        //f=fopen("/mnt/win_c/yair/junk","r");    
       // fread(&fh1,sizeof(struct _FileHeader),1,f);      
      //  printf("%d:%d:%d\n",fh1.hour,fh1.minutes,fh1.seconds);
return 0;
}
Example #4
0
static rc_t Load( SParam* param )
{
    rc_t rc = 0, rc1 = 0;
    BSTree slides, evidence;
    

    param->map_dir = NULL;
    param->asm_dir = NULL;
    param->output_dir = ( KDirectory * )param->input_dir;
    BSTreeInit( &slides );
    BSTreeInit( &evidence );

    rc = open_dir_or_tar( param->input_dir, &param->map_dir, param->map_path );
    if ( rc == 0 )
    {
        DirVisit_Data dv;

        dv.param = param;
        dv.tree = &slides;
        dv.dir = param->map_dir;
        rc = KDirectoryVisit( param->map_dir, true, DirVisitor, &dv, NULL );
        if ( rc == 0 )
        {
            if ( param->asm_path != NULL )
            {
                rc_t rc2 = open_dir_or_tar( param->input_dir, &param->asm_dir, param->asm_path );
                if ( rc2 == 0 )
                {
                    dv.tree = &evidence;
                    dv.dir = param->asm_dir;
                    rc = KDirectoryVisit( param->asm_dir, true, DirVisitor, &dv, NULL );
                }
            }
            if ( rc == 0 )
            {
                /* SHOULD HAVE A BSTreeEmpty FUNCTION OR SOMETHING...
                   MAKE ONE HERE - WITH KNOWLEDGE THAT TREE IS NOT NULL: */
#ifndef BSTreeEmpty
#define BSTreeEmpty( bst ) \
    ( ( bst ) -> root == NULL )
#endif
                if ( BSTreeEmpty ( & slides ) && BSTreeEmpty ( & evidence ) )
                    rc = RC( rcExe, rcFile, rcReading, rcData, rcInsufficient );
                else
                {
                    /* CORRECTED SETTING OF "rc" IN "FGroupMAP_Validate" */
                    assert ( rc == 0 );
                    BSTreeForEach( &slides, false, FGroupMAP_Validate, &rc );
                    BSTreeForEach( &evidence, false, FGroupMAP_Validate, &rc );
                }

                if ( rc == 0 )
                {
                    FGroupMAP_LoadData data;

                    PLOGMSG( klogInfo, ( klogInfo, "file set validation complete", "severity=status" ) );
                    memset( &data, 0, sizeof( data ) );
                    data.rc = 0;
                    data.param = param;
                    data.reads = &slides;
                    rc = DB_Init( param, &data.db );
                    if ( rc == 0 )
                    {
                        BSTreeDoUntil( &slides, false, FGroupMAP_LoadReads, &data );
                        rc = data.rc;
                        if ( rc == 0 )
                        {
                            PLOGMSG( klogInfo, ( klogInfo, "MAP loaded", "severity=status" ) );
                            BSTreeDoUntil( &evidence, false, FGroupMAP_LoadEvidence, &data );
                            rc = data.rc;
                            if ( rc == 0 )
                                PLOGMSG( klogInfo, ( klogInfo, "ASM loaded", "severity=status" ) );
                        }
                    }
                    rc1 = DB_Fini( param, &data.db, rc != 0 );
                    if ( rc == 0 )
                        rc = rc1;
                }
            }
        }

        /* copy the extra library ( file or recursive directory ) */
        if ( rc == 0 && param->library != NULL )
        {
            const KDirectory *lib_src;
            rc = open_dir_or_tar( param->input_dir, &lib_src, param->library );
            if ( rc == 0 )
            {
                rc = copy_library( param->input_dir, param->output_dir,
                                   param->library, param->out );
                if ( rc == 0 )
                    STSMSG( 0, ( "extra lib copied" ) );
                else
                    LOGERR( klogErr, rc, "failed to copy extra library" );
                KDirectoryRelease( lib_src );
            }
/*
            else
            {
                rc = copy_library( param->input_dir, param->output_dir,
                                   ".", param->out );
                if ( rc == 0 )
                    STSMSG( 0, ( "extra lib copied" ) );
                else
                    LOGERR( klogErr, rc, "failed to copy extra library" );
            }
*/
        }
        KDirectoryRelease( param->map_dir );
        KDirectoryRelease( param->asm_dir );
    }
    BSTreeWhack( &slides, FGroupMAP_Whack, NULL );
    BSTreeWhack( &evidence, FGroupMAP_Whack, NULL );
    return rc;
}
Example #5
0
int main(int argc, char* argv[])
{
	const char* filename = NULL;
	const char* opt_meka_nam = "meka.nam";
	bool opt_copy_to_clipboard = false;

	for (int n = 1; n < argc; n++)
	{
		const char* arg = argv[n];
		if (arg[0] == '-' || arg[0] == '/')
		{
			if (strcmp(arg+1, "c") == 0)
			{
				opt_copy_to_clipboard = true;
			}
			else if (strcmp(arg+1, "db") == 0)
			{
				n++;
				if (n >= argc)
				{
					printf("Error: missing filename as argument to option '%s'\n", arg);
					return 1;
				}
				opt_meka_nam = argv[n];
			}
			else
			{
				printf("Error: unknown argument '%s'\n", arg);
				return 1;
			}
		}
		else
		{
			filename = arg;
		}
	}

	if (filename == NULL)
	{
		printf("smsid 1.0\n");
		printf("Syntax: smsid [/db <file>] [/c] <rom>\n");
		printf(" /db    path to meka.nam [meka.nam]\n");
		printf(" /c     copy text to OS clipboard [false]\n");
		return 0;
	}

	FILE* f = fopen(filename, "rb");
	if (!f)
	{
		printf("Error: unable to input file '%s', aborting.\n", filename);
		return 1;
	}

	fseek(f, 0, SEEK_END);
	const int rom_size = ftell(f);
	fseek(f, 0, SEEK_SET);

	unsigned char* rom_data = new unsigned char[rom_size];
	if (fread(rom_data, 1, rom_size, f) != rom_size)
	{
		printf("Error: unable to read file data, aborting.\n");
		return 1;
	}

	const u32 crc = crc32(0, rom_data, rom_size);
	//const u32 crc = 0xe5ff50d8;
	//const u32 crc = 0xaed9aac4;
	fclose(f);
	delete[] rom_data;

	if (!DB_Init(opt_meka_nam, false))
	{
		printf("Error: failed to open DB file '%s'\n", opt_meka_nam);
		return 1;
	}

	if (opt_copy_to_clipboard)
		printf("(copying following output to OS clipboard)\n");

	std::string s;

	t_db_entry* entry = DB_Entry_Find(crc, NULL);
	if (entry)
	{
		char buf[256];
		sprintf(buf, "%s %08x %08X%08X   %s", 
			DB_FindDriverNameById(entry->system),
			entry->crc_crc32, 
			entry->crc_mekacrc.v[0], entry->crc_mekacrc.v[1],
			entry->names[0]);
		s += buf;

		int countries = 0;
		for (int i = 0; i != DB_COUNTRY_COUNT_; i++)
		{
			if (entry->country & (1 << i))
			{
				if (countries == 0)
					s += " (";
				else
					s += ",";
				s += DB_FindCountryNameByFlag(1 << i);
				countries++;
			}
		}
		if (countries > 0)
			s += ")";
		s += "\n";
	}
	else
	{
		s = "Unknown.\n";
	}
	printf("%s", s.c_str());

	if (opt_copy_to_clipboard)
	{
		System_SetClipboardText(s.c_str());
	}

	return 0;
}
Example #6
0
void QSYS_Init(void)
{
    u8 *ptr1;
    u8 *ptr2;
//	FIL *ptr3;

    OS_CPU_SysTickInit();//Initialize the SysTick.
#if OS_USE_UCOS
    CPU_IntSrcPrioSet(CPU_INT_PENDSV,15);
    CPU_IntSrcPrioSet(CPU_INT_SYSTICK,15);
#endif
    SetupHardware();

    Debug("sizeof(INPUT_EVENT)=%d\n\r",sizeof(INPUT_EVENT));//for debug by karlno
    Debug("sizeof(PAGE_ATTRIBUTE)=%d\n\r",sizeof(PAGE_ATTRIBUTE));//for debug by karlno
    Debug("sizeof(IMG_BUTTON_OBJ)=%d\n\r",sizeof(IMG_BUTTON_OBJ));//for debug by karlno
    Debug("sizeof(CHAR_BUTTON_OBJ)=%d\n\r",sizeof(CHAR_BUTTON_OBJ));//for debug by karlno
    Debug("sizeof(MUSIC_EVENT)=%d\n\r",sizeof(MUSIC_EVENT));//for debug by karlno
    //Debug("sizeof(QSYS_MSG_BOX)=%d\n\r",sizeof(QSYS_MSG_BOX));//for debug by karlno

    if(SysEvt_MaxNum>32)
    {
        Debug("Error:SysEvt_MaxNum(%d) is too big!!!\n\r",SysEvt_MaxNum);
        Q_ErrorStopScreen("Error:SysEvt_MaxNum is too big!!!\n\r");
    }

    gLCD_Mutex=OS_MutexCreate();

    //创建触摸输入中断发生信号量
    gTouchHandler_Sem=OS_SemaphoreCreate(0);
    gAllowTchHandler_Sem=OS_SemaphoreCreate(0);
    gVsDreq_Sem=OS_SemaphoreCreate(0);
    gRfRecvHandler_Sem=OS_SemaphoreCreate(0);

    //创建事件传递数据
    gInputHandler_Queue=OS_MsgBoxCreate("Input Event",sizeof(INPUT_EVENT),16);
    gMusicHandler_Queue=OS_MsgBoxCreate("MusicKV Event",sizeof(MUSIC_EVENT),8);

#if 0//debug

    OS_TaskCreate((void (*) (void *)) T1_Task,(void *) 0,
                  (OS_STK *) &T1_TaskStack[OS_MINIMAL_STACK_SIZE - 1],T1_TASK_pRIORITY);

    //OS_TaskCreate(T2_Task , ( signed OS_CHAR * ) "T2 Handler", OS_MINI_STACK_SIZE, NULL, MUSIC_HANDLER_TASK_PRIORITY, NULL );
    OS_TaskDelete(SYSTEM_TASK_PRIORITY);
#endif

#if 1 //首次下载完成后可关闭此处代码,防止误下载
    Debug("\n\r-------------------SPI FLASH DOWNLOAD FROM SD------------------\n\r");
    ptr1=(u8 *)Q_Mallco(CfgFileSize);
    ptr2=(u8 *)Q_Mallco(SPI_FLASH_PAGE_SIZE);
    SpiFlashDownFromSD(FALSE,"System/Down.cfg",ptr1,ptr2);
    Q_Free(ptr2);
    Q_Free(ptr1);
    Debug("-------------------SPI FLASH DOWNLOAD FROM SD------------------\n\r\n\r");
#endif

    Debug("----------------DATABASE SETTING INITIALIZATION----------------\n\r");
    DB_Init();
    Debug("----------------DATABASE SETTING INITIALIZATION----------------\n\r\n\r");

    RTC_SetUp();

    Gui_Init();	//图像库初始化
    Gui_SetBgLight(Q_DB_GetValue(Setting_BgLightScale,NULL));//设置背光亮度

    OS_TaskCreate(MusicHandler_Task,"Music",OS_MINIMAL_STACK_SIZE*8,NULL,MUSIC_TASK_PRIORITY,&MusicHandler_Task_Handle);
    OS_TaskCreate(TouchHandler_Task,"Touch",OS_MINIMAL_STACK_SIZE*3,NULL,TOUCH_TASK_PRIORITY,&TouchHandler_Task_Handle);
    OS_TaskCreate(KeysHandler_Task,"Keys",OS_MINIMAL_STACK_SIZE*2,NULL,KEYS_TASK_PRIORITY,&KeysHandler_Task_Handle);
    OS_TaskCreate(QWebHandler_Task,"QWeb",OS_MINIMAL_STACK_SIZE*8,NULL,RF_DATA_TASK_PRIORITY,&QWebHandler_Task_Handle);

    OS_TaskDelay(100);
    OS_TaskStkCheck(FALSE);

    if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)==0) //如果没按下Key-PE2,就正常启动串口中断
    {
#if !QXW_RELEASE_VER//for debug
        USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//release版本请关掉此句,免得不懂的用户说板卡老死机。
        USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
#endif
    }
}