/******************************************************************** * 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; }
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"); }
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; }
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, ¶m->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, ¶m->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; }
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; }
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 } }