bool WinEDA_App::OnInit(void) { wxString FFileName; EDA_Appl = this; InitEDA_Appl( wxT("gerbview") ); if(argc > 1) FFileName = MakeFileName(wxEmptyString, argv[1], g_PhotoFilenameExt); ScreenPcb = new PCB_SCREEN(NULL, m_GerberFrame, PCB_FRAME); ActiveScreen = ScreenPcb; GetSettings(); if ( m_Checker && m_Checker->IsAnotherRunning() ) { if ( ! IsOK(NULL, _("Gerbview is already running, Continue?") ) ) return false; } g_DrawBgColor = BLACK; m_GerberFrame = new WinEDA_GerberFrame(NULL, this, wxT("GerbView"), wxPoint(0,0), wxSize(600,400) ); m_GerberFrame->SetTitle(Main_Title); ScreenPcb->SetParentFrame(m_GerberFrame); m_GerberFrame->m_Pcb = new BOARD(NULL, m_GerberFrame); SetTopWindow(m_GerberFrame); m_GerberFrame->Show(TRUE); m_GerberFrame->m_Pcb = new BOARD(NULL, m_GerberFrame); m_GerberFrame->Zoom_Automatique(TRUE); /* Load file specified in the command line. */ if( ! FFileName.IsEmpty() ) { wxString path = wxPathOnly(FFileName); wxSetWorkingDirectory(path); Read_Config(); if ( wxFileExists(FFileName) ) { wxClientDC dc(m_GerberFrame->DrawPanel); m_GerberFrame->DrawPanel->PrepareGraphicContext(&dc); m_GerberFrame->LoadOneGerberFile(FFileName, &dc, FALSE); } } else Read_Config(); return TRUE; }
bool WinEDA_App::OnInit(void) { wxString msg; wxString currCWD = wxGetCwd(); EDA_Appl = this; InitEDA_Appl( wxT("cvpcb") ); if ( m_Checker && m_Checker->IsAnotherRunning() ) { if ( ! IsOK(NULL, _("Cvpcb is already running, Continue?") ) ) return false; } GetSettings(); // read current setup wxSetWorkingDirectory(currCWD); // mofifie par GetSetting SetRealLibraryPath( wxT("modules") ); if(argc > 1 ) { NetInNameBuffer = argv[1]; NetNameBuffer = argv[1]; } if ( ! NetInNameBuffer.IsEmpty() ) wxSetWorkingDirectory( wxPathOnly(NetInNameBuffer) ); g_DrawBgColor = BLACK; Read_Config(NetInNameBuffer); m_CvpcbFrame = new WinEDA_CvpcbFrame(this, Main_Title); msg.Printf( wxT("Modules: %d"), nblib); m_CvpcbFrame->SetStatusText(msg,2); // Show the frame SetTopWindow(m_CvpcbFrame); m_CvpcbFrame->Show(TRUE); listlib(); m_CvpcbFrame->BuildModListBox(); if( ! NetInNameBuffer.IsEmpty() ) /* nom de fichier passe a la commande */ { FFileName = MakeFileName(NetDirBuffer, NetInNameBuffer, NetInExtBuffer); m_CvpcbFrame->ReadNetListe(); } else /* Mise a jour du titre de la fenetre principale */ { msg.Printf( wxT("%s {%s%c} [no file]"), Main_Title.GetData(), wxGetCwd().GetData(), DIR_SEP); m_CvpcbFrame->SetTitle(msg); } return TRUE; }
int main(int argc, char* argv[]) { int ierr,i; if(argc!=2) { printf("need a config file \n"); return 0; } ierr=Read_Config(argv[1]); if(ierr==-1) { printf("No such config file\n"); return 0; } if(ierr==-2) { printf("Error in config file\n"); return 0; } i=Is_Needed("kit_number,kit_number2,kit_number3,buzzer_number,IR_sensor_rear_left,sensor_rear_left,IR_sensor_rear_right,sensor_rear_right,sensor_front_left,sensor_front_right,sensor_side_2,sensor_side_4,sensor_side_8,sensor_side_10,inhibit1_number,inhibit2_number,true_inhibit_number,port_24V,colonne_lumineuse,forceL,forceR,embrayage_number,ecartement_roue,encoder1_number,encoder2_number,LCD,contact_front_right,contact_front_left,light_port,joystick_port,amp_sensor,volt_sensor,accelero_X,accelero_Y,accelero_Z,ir_receiver1,ir_receiver2,ir_receiver3"); if(i<1)return 0; //running the Phidgets test_interfacekit(); return 0; }
/******************************************************************************* Function Name : main Description : *******************************************************************************/ void main(void){ u16 i, x, y; u16 pict_y; Display_Info("main", 0); /*--------------initialize the hardware-----------*/ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0xC000); NVIC_Configuration(); /*----------display APP version ----------*/ // (0,0) lower left __Display_Str(0, 112, TXT_COLOR, BKGND_COLOR, msg_app_ver); __Display_Str(0, 96, TXT_COLOR, BKGND_COLOR, msg_chans); __Display_Str(0, 80, RED, BKGND_COLOR, msg_free); __Display_Str(0, 64, RED, BKGND_COLOR, msg_warr); /*--------initialization --------*/ Read_Config(); if(confp->initialized != INIT_FLAG){ // check for first time run Reset_Config(); } // initialize based on saved parameters Set_Base(0); // fastest sample speed Set_Range(confp->sig_range); Set_Orientation(confp->orient); Delay_MS(4000); Clear_Screen( BKGND_COLOR ); confp->mode = confp->rtn_mode; switch(confp->mode){ case PHA: Init_Spectrum(); Display_Spectrum (); break; case RATE: Init_Rate(); Display_Rate(); break; case MENU: Display_Menu(confp->menu_index); break; } if (SD_Card_On() == 0){ if (FAT_Info()){ if (FAT_Info()){ __Display_Str(0, 0, RED, BKGND_COLOR, SD_Msgs[SDErr]); } } } Beep(BEEP_500Hz, 500); /*--------application main loop --------*/ ctr_key = KEY_SAMPLE; ctr_refresh = confp->refresh_time * 1000; // in mS Scan_Samples(); // never returns from this call }
bool WinEDA_App::OnInit(void) { wxString FFileName; EDA_Appl = this; g_DebugLevel = 0; // Debug level */ InitEDA_Appl( wxT("eeschema") ); if ( m_Checker && m_Checker->IsAnotherRunning() ) { if ( ! IsOK(NULL, _("Eeschema is already running, Continue?") ) ) return false; } if(argc > 1 ) FFileName = argv[1]; CreateScreens(); /* init EESCHEMA */ GetSettings(); // read current setup SeedLayers(); // Create main frame (schematic frame) : SchematicFrame = new WinEDA_SchematicFrame(NULL, this, wxT("EESchema"), wxPoint(0,0), wxSize(600,400) ); ScreenSch->SetParentFrame(SchematicFrame); SchematicFrame->Show(TRUE); SetTopWindow(SchematicFrame); SchematicFrame->Zoom_Automatique(TRUE); /* Load file specified in the command line. */ if( ! FFileName.IsEmpty() ) { ChangeFileNameExt(FFileName, g_SchExtBuffer); wxSetWorkingDirectory( wxPathOnly(FFileName) ); if ( SchematicFrame->LoadOneEEProject(FFileName, FALSE) <= 0 ) SchematicFrame->DrawPanel->Refresh(TRUE); // File not found or error } else { Read_Config(wxEmptyString, TRUE); // Read config file ici si pas de fichier a charger SchematicFrame->DrawPanel->Refresh(TRUE); } return TRUE; }
void iRead_main(const char* filename) { /* 阅读界面主函数 参数说明: filename: 打开的文件名 (从文件浏览器得到) */ int key,handle; char* buf=(char*)malloc(461); FONTCHARACTER fname[64]; char tip[64], tmp[64]; page=0;cached=0; memset(bytes,0,sizeof(bytes)); memset(bookmark,0,sizeof(bookmark));bookmark[3]=0; Read_Config(filename,&cached); // 读取书签及分页配置 // 如果分的页数不满 500 的整数倍,补分页满 if (cached==0) divide_page(filename,500-cached,1); else if (cached%500!=0) divide_page(filename,500-cached%500,1); // 补至 500 的整数倍 totbytes=0; /* 设置状态栏显示文字 0x0001:显示电量 0x0100:显示文字 */ DefineStatusAreaFlags(3, 0x01 | 0x02 | 0x100, 0, 0); beg: font16=open_font("\\\\fls0\\24PX.hzk"); select_font(font16); Bdisp_AllClr_VRAM(); draw_pic(0,192,124,22,0,Menu_Read); draw_pic(126,192,61,22,0,Menu_Sub_Jump); // 若翻下一页时超出已缓存页面范围 if (cached<=page) { // 如果分的页数不满 500 的整数倍,补分页满 if (!divide_page(filename,1,0)) page=cached-1; else if (cached%500!=0) divide_page(filename,500-cached%500,0); close_font(font16); goto beg; } totbytes=bytes[page]; // 修正读取字节指针位置 char_to_font(filename,fname); handle=Bfile_OpenFile_OS(fname,0); // 打开文件 Bfile_ReadFile_OS(handle,buf,400,totbytes); Bfile_CloseFile_OS(handle); print_chs_page(0,24,totbytes,(unsigned char*)buf); // 绘制一页 close_font(font16); // 准备显示浏览进度 char fn_ptr[64]; memset(fn_ptr, 0, sizeof(fn_ptr)); GetDisplayFileName(filename, fn_ptr); memset(tip, 0, sizeof(tip)); memset(tmp, 0, sizeof(tmp)); strcat(tip, fn_ptr); strcat(tip, " "); itoa(page + 1, tmp, 10); strcat(tip, tmp); strcat(tip, "/"); memset(tmp, 0, sizeof(tmp)); itoa(cached, tmp, 10);strcat(tip, tmp); // 状态栏显示文件名及进度 DefineStatusMessage(tip, 0, 0, 0); while (1) { GetKey(&key); switch (key) { case KEY_CTRL_UP: // 跳到上一页 if (page>0) { --page; goto beg; } break; case KEY_CTRL_DOWN: // 跳到下一页 ++page; goto beg; break; case KEY_CTRL_EXIT: // 离开,返回文件浏览器 Save_Config(filename,cached+1); DefineStatusAreaFlags(3, 0x01 | 0x02 | 0x100, 0, 0); return;break; case KEY_CTRL_F2: // 打开存储书签对话框 Save_Bookmark(filename,page,cached+1); goto beg;break; case KEY_CTRL_F1: // 打开读取书签对话框 Read_Bookmark(filename,&page,&cached); goto beg;break; case KEY_CTRL_F3: // 打开跳页对话框 Page_Jump(filename); goto beg;break; } } }
int WinEDA_SchematicFrame::LoadOneEEProject(const wxString & FileName, bool IsNew) /********************************************************************************/ /* Routine de chargement d'un projet ( schema principal "Root" et ses sous schemas ( hierarchie ) */ { BASE_SCREEN *screen, * NextScreen; EDA_BaseStruct *EEDrawList ; wxString FullFileName, msg; bool LibCacheExist = FALSE; screen = ScreenSch ; while( screen ) { if(screen->IsModify()) break; screen = screen->Next(); } if ( screen ) { if( ! IsOK(this, _("Clear Schematic Hierarchy (modified!)?")) ) return FALSE; if ( ScreenSch->m_FileName != g_DefaultSchematicFileName ) SetLastProject(ScreenSch->m_FileName); } screen = ScreenSch ; if( ClearProjectDrawList((SCH_SCREEN*) screen) == FALSE ) return(1); FullFileName = FileName; if( (FullFileName.IsEmpty() ) && !IsNew ) { wxString mask = wxT("*") + g_SchExtBuffer; FullFileName = EDA_FileSelector( _("Schematic files:"), wxEmptyString, /* Chemin par defaut */ wxEmptyString, /* nom fichier par defaut */ g_SchExtBuffer, /* extension par defaut */ mask, /* Masque d'affichage */ this, wxOPEN, TRUE ); if ( FullFileName.IsEmpty() ) return ( FALSE ); } m_CurrentScreen = screen = ActiveScreen = ScreenSch; screen->m_CurrentItem = NULL; wxSetWorkingDirectory(wxPathOnly(FullFileName) ); m_CurrentScreen->m_FileName = FullFileName; Affiche_Message(wxEmptyString); MsgPanel->EraseMsgBox(); memset( &g_EESchemaVar,0, sizeof(g_EESchemaVar) ); m_CurrentScreen->ClrModify(); m_CurrentScreen->Pnext = NextScreen = NULL; if( IsNew ) { screen->m_CurrentSheet = &g_Sheet_A4; screen->SetZoom(32); screen->m_SheetNumber = screen->m_NumberOfSheet = 1; screen->m_Title = wxT("noname.sch"); m_CurrentScreen->m_FileName = screen->m_Title; screen->m_Company.Empty(); screen->m_Commentaire1.Empty(); screen->m_Commentaire2.Empty(); screen->m_Commentaire3.Empty(); screen->m_Commentaire4.Empty(); Read_Config(wxEmptyString, TRUE); Zoom_Automatique(TRUE); ReDrawPanel(); return (1); } // Rechargement de la configuration: msg = _("Ready\nWorking dir: \n") + wxGetCwd(); PrintMsg(msg); Read_Config(wxEmptyString, FALSE); // Delete old caches. LibraryStruct *nextlib, *lib = g_LibraryList; for (; lib != NULL; lib = nextlib ) { nextlib = lib->m_Pnext; if ( lib->m_IsLibCache ) FreeCmpLibrary(this, lib->m_Name); } if( IsNew ) { ReDrawPanel(); return (1); } // Loading the project library cache wxString FullLibName; wxString shortfilename; wxSplitPath(ScreenSch->m_FileName, NULL, &shortfilename, NULL); FullLibName << wxT(".") << STRING_DIR_SEP << shortfilename << wxT(".cache") << g_LibExtBuffer; if ( wxFileExists(FullLibName) ) { wxString libname; libname = FullLibName; ChangeFileNameExt(libname,wxEmptyString); msg = wxT("Load ") + FullLibName; LibraryStruct *LibCache = LoadLibraryName(this, FullLibName, libname); if ( LibCache ) { LibCache->m_IsLibCache = TRUE; msg += wxT(" OK"); } else msg += wxT(" ->Error"); PrintMsg( msg ); LibCacheExist = TRUE; } if ( ! wxFileExists(screen->m_FileName) && !LibCacheExist) // Nouveau projet prpbablement { msg.Printf( _("File %s not found (new project ?)"), screen->m_FileName.GetData() ); DisplayInfo(this, msg, 20); return (-1); } if( LoadOneEEFile(screen, screen->m_FileName) == FALSE) return (0); /* Chargement des sous feuilles */ while(screen) { EEDrawList = screen->EEDrawList; while(EEDrawList) { if( EEDrawList->m_StructType == DRAW_SHEET_STRUCT_TYPE) { #undef STRUCT #define STRUCT ((DrawSheetStruct*)EEDrawList) int timestamp = STRUCT->m_TimeStamp; if(timestamp == 0 ) { timestamp = GetTimeStamp(); STRUCT->m_TimeStamp = timestamp; } if( screen->Pnext == NULL) /* 1ere Sheet */ { screen->Pnext = NextScreen = CreateNewScreen(this, (SCH_SCREEN*)screen,timestamp); } else { NextScreen->Pnext = CreateNewScreen(this, (SCH_SCREEN*)NextScreen, timestamp); NextScreen = (BASE_SCREEN*)NextScreen->Pnext; } STRUCT->m_Son = NextScreen; NextScreen->m_Parent = EEDrawList; if( ! STRUCT->m_Field[SHEET_FILENAME].m_Text.IsEmpty() ) { NextScreen->m_FileName = STRUCT->m_Field[SHEET_FILENAME].m_Text; if( LoadOneEEFile(NextScreen, NextScreen->m_FileName) == TRUE ) { ActiveScreen = (SCH_SCREEN*) NextScreen; } } else DisplayError(this, _("No FileName in SubSheet")); } EEDrawList = EEDrawList->Pnext; } screen = (BASE_SCREEN*)screen->Pnext; } /* Reaffichage ecran de base (ROOT) si necessaire */ screen = ActiveScreen = ScreenSch; Zoom_Automatique(FALSE); return (1); }
void WinEDA_PcbFrame::Process_Config(wxCommandEvent& event) /***********************************************************/ { int id = event.GetId(); wxPoint pos; wxClientDC dc(DrawPanel); DrawPanel->PrepareGraphicContext(&dc); pos = GetPosition(); pos.x += 20; pos.y += 20; switch( id ) { case ID_COLORS_SETUP : DisplayColorSetupFrame(this, pos); break; case ID_CONFIG_REQ : // Creation de la fenetre de configuration { InstallConfigFrame(pos); break; } case ID_PCB_TRACK_SIZE_SETUP: case ID_PCB_LOOK_SETUP: case ID_OPTIONS_SETUP: case ID_PCB_DRAWINGS_WIDTHS_SETUP: InstallPcbOptionsFrame(pos, &dc, id); break; case ID_PCB_PAD_SETUP: InstallPadOptionsFrame( NULL, NULL, pos); break; case ID_CONFIG_SAVE: Update_config(this); break; case ID_CONFIG_READ: { wxString FullFileName = GetScreen()->m_FileName.AfterLast('/'); ChangeFileNameExt(FullFileName, g_Prj_Config_Filename_ext); FullFileName = EDA_FileSelector(_("Read config file"), wxPathOnly(GetScreen()->m_FileName),/* Chemin par defaut */ FullFileName, /* nom fichier par defaut */ g_Prj_Config_Filename_ext, /* extension par defaut */ FullFileName, /* Masque d'affichage */ this, wxOPEN, TRUE /* ne change pas de repertoire courant */ ); if ( FullFileName == "") break; if ( ! wxFileExists(FullFileName) ) { wxString msg; msg.Printf(_("File %s not found"), FullFileName.GetData()); DisplayError(this, msg); break; } Read_Config(FullFileName ); } break; default: DisplayError(this, "WinEDA_PcbFrame::Process_Config internal error"); } }
bool WinEDA_App::OnInit(void) /****************************/ { wxString FFileName; EDA_Appl = this; InitEDA_Appl( wxT("pcbnew") ); if ( m_Checker && m_Checker->IsAnotherRunning() ) { if ( ! IsOK(NULL, _("Pcbnew is already running, Continue?") ) ) return false; } /* Add image handlers for screen hardcopy */ wxImage::AddHandler( new wxPNGHandler ); wxImage::AddHandler( new wxJPEGHandler ); ScreenPcb = new PCB_SCREEN(NULL, NULL, PCB_FRAME); GetSettings(); if(argc > 1) { FFileName = MakeFileName(wxEmptyString, argv[1], PcbExtBuffer); wxSetWorkingDirectory( wxPathOnly(FFileName) ); } Read_Config(FFileName); g_DrawBgColor = BLACK; /* allocation de la memoire pour le fichier et autres buffers: */ /* On reserve BUFMEMSIZE octets de ram pour calcul */ buf_work = adr_lowmem = (char*)MyZMalloc(BUFMEMSIZE) ; /* adresse de la zone de calcul */ adr_himem = adr_lowmem + BUFMEMSIZE; /* adr limite haute */ adr_max = adr_lowmem; if( adr_lowmem == NULL ) { printf( "No Memory, Fatal err Memory alloc\n" ); return(FALSE) ; } m_PcbFrame = new WinEDA_PcbFrame(NULL, this, wxT("PcbNew"), wxPoint(0,0), wxSize(600,400) ); m_PcbFrame->SetTitle(Main_Title); ScreenPcb->SetParentFrame(m_PcbFrame); ActiveScreen = ScreenPcb; m_PcbFrame->m_Pcb = new BOARD(NULL, m_PcbFrame); SetTopWindow(m_PcbFrame); m_PcbFrame->Show(TRUE); if( CreateServer(m_PcbFrame, KICAD_PCB_PORT_SERVICE_NUMBER) ) { SetupServerFunction(RemoteCommand); } m_PcbFrame->Zoom_Automatique(TRUE); /* Load file specified in the command line. */ if ( ! FFileName.IsEmpty() ) { wxClientDC dc(m_PcbFrame->DrawPanel); m_PcbFrame->DrawPanel->PrepareGraphicContext(&dc); m_PcbFrame->LoadOnePcbFile(FFileName, &dc, FALSE); } return TRUE; }
void CConnectionSetup::OnInitUI() { Read_Config(); CString StrTemp; m_combox_connection_type.ResetContent(); m_combox_connection_type.AddString(_T("Serial Port")); m_combox_connection_type.AddString(_T("Modbus TCP/IP")); m_combox_connection_type.SetCurSel(m_Commication_Type); //m_combox_comport.SetWindowText(m_comport); m_combox_bradrate.ResetContent(); m_combox_bradrate.AddString(_T("9600")); m_combox_bradrate.AddString(_T("19200")); m_combox_bradrate.AddString(_T("38400")); m_combox_bradrate.AddString(_T("57600")); m_combox_bradrate.AddString(_T("115200")); m_combox_bradrate.AddString(_T("76800")); if (m_bradrate==19200) { m_combox_bradrate.SetCurSel(1); } else if (m_bradrate==9600) { m_combox_bradrate.SetCurSel(0); } else if (m_bradrate==38400) { m_combox_bradrate.SetCurSel(2); } else if (m_bradrate==57600) { m_combox_bradrate.SetCurSel(3); } else if (m_bradrate==115200) { m_combox_bradrate.SetCurSel(4); } else if (m_bradrate==76800) { m_combox_bradrate.SetCurSel(5); } else { m_combox_bradrate.SetCurSel(1); } GetSerialComPortNumber1(m_szComm); m_combox_comport.ResetContent(); for (int i=0; i<(int)m_szComm.size(); i++) { m_combox_comport.AddString(m_szComm[i]); } m_combox_comport.SetWindowText(m_comport); m_combox_ipaddress.SetWindowText(m_ipaddress); StrTemp.Format(_T("%d"),m_ipport); m_edit_port.SetWindowText(StrTemp); StrTemp.Format(_T("%d"),m_connect_timeout); m_edit_connect_timeout.SetWindowText(StrTemp); StrTemp.Format(_T("%d"),m_between_time); m_edit_between_time.SetWindowText(StrTemp); StrTemp.Format(_T("%d"),m_response_timeout); m_edit_response_timeout.SetWindowText(StrTemp); Fresh_UI(); //从文件中填充配置 }
void WinEDA_CvpcbFrame::ReadNetListe(void) /*******************************************/ /* Lecture de la netliste selon format, ainsi que du fichier des composants */ { STORECMP * Composant; wxString msg; int ii; int error_level = -1; switch( g_NetType ) { case TYPE_NON_SPECIFIE: case TYPE_ORCADPCB2: error_level = rdorcad(); break; case TYPE_PCAD: error_level = rdpcad() ; break; case TYPE_VIEWLOGIC_WIR: error_level = ReadViewlogicWirList() ; break; case TYPE_VIEWLOGIC_NET: error_level = ReadViewlogicNetList() ; break; default: DisplayError(this, _("Unknown Netlist Format") ); break; } if ( error_level < 0 ) return; /* lecture des correspondances */ loadcmp(); if (m_ListCmp == NULL ) return; if ( ! NetInNameBuffer.IsEmpty() ) wxSetWorkingDirectory( wxPathOnly(NetInNameBuffer) ); Read_Config(NetInNameBuffer); // relecture de la config (elle peut etre modifiée) listlib(); BuildModListBox(); m_ListCmp->Clear(); Composant = BaseListeCmp; composants_non_affectes = 0; for ( ii = 1;Composant != NULL; Composant = Composant->Pnext, ii++ ) { msg.Printf(CMP_FORMAT ,ii, Composant->m_Reference.GetData(), Composant->m_Valeur.GetData(), Composant->m_Module.GetData()); m_ListCmp->AppendLine(msg); if( Composant->m_Module.IsEmpty() ) composants_non_affectes += 1; } if ( BaseListeCmp ) m_ListCmp->SetSelection(0, TRUE); msg.Printf(_("Componants: %d (free: %d)"), nbcomp, composants_non_affectes); SetStatusText(msg,1); /* Mise a jour du titre de la fenetre principale */ msg.Printf( wxT("%s [%s]"), Main_Title.GetData(), FFileName.GetData()); SetTitle(msg); }