Browse Source
CvPcb: Code cleanup. Rename WinEDA_CvpcbFrame to CVPCB_MAINFRAME, according to coding style policy.
CvPcb: Code cleanup. Rename WinEDA_CvpcbFrame to CVPCB_MAINFRAME, according to coding style policy.
Change in CvPcb: CvPcb now does not use .dcm files, only .mod files to read modules keywords and docpull/1/head
37 changed files with 1368 additions and 1081 deletions
-
10CHANGELOG.txt
-
1bitmaps/CMakeLists.txt
-
38bitmaps/Lang_Gr.xpm
-
5common/dialog_about/AboutDialog_main.cpp
-
13common/edaappl.cpp
-
3cvpcb/autosel.cpp
-
10cvpcb/cfg.cpp
-
6cvpcb/class_DisplayFootprintsFrame.cpp
-
2cvpcb/class_DisplayFootprintsFrame.h
-
3cvpcb/class_components_listbox.cpp
-
3cvpcb/class_footprints_listbox.cpp
-
111cvpcb/cvframe.cpp
-
10cvpcb/cvpcb.cpp
-
116cvpcb/cvpcb_mainframe.h
-
101cvpcb/cvstruct.h
-
7cvpcb/dialogs/dialog_cvpcb_config.cpp
-
4cvpcb/dialogs/dialog_cvpcb_config.h
-
4cvpcb/genequiv.cpp
-
9cvpcb/init.cpp
-
11cvpcb/listboxes.cpp
-
254cvpcb/listlib.cpp
-
4cvpcb/loadcmp.cpp
-
4cvpcb/menubar.cpp
-
2cvpcb/protos.h
-
6cvpcb/readschematicnetlist.cpp
-
4cvpcb/savecmp.cpp
-
3cvpcb/setvisu.cpp
-
4cvpcb/tool_cvpcb.cpp
-
2demos/interf_u/interf_u-cache.lib
-
183demos/interf_u/interf_u.brd
-
170demos/interf_u/interf_u.cmp
-
1283demos/interf_u/interf_u.net
-
58demos/interf_u/interf_u.pro
-
2demos/interf_u/interf_u.sch
-
1include/bitmaps.h
-
1include/id.h
-
1pcbnew/class_module.cpp
@ -0,0 +1,38 @@ |
|||
/* XPM */ |
|||
const char *lang_gr_xpm[] = { |
|||
/* columns rows colors chars-per-pixel */ |
|||
"16 16 16 1", |
|||
"= c none", |
|||
"& c #D6D8F8", |
|||
"O c #3939DC", |
|||
"+ c #0E12F2", |
|||
"# c #A8A6F7", |
|||
"o c #2826E4", |
|||
": c #B4B6FC", |
|||
"* c #8482F4", |
|||
"@ c #4745F8", |
|||
"- c #1C1EFC", |
|||
"; c #1D22FB", |
|||
"$ c #9C9AF4", |
|||
". c #CAC8FA", |
|||
" c #0402FC", |
|||
"% c #5456F4", |
|||
"X c #7A79F9", |
|||
/* pixels */ |
|||
"================", |
|||
" .XoOOOOOoo++++", |
|||
" .X @#########$", |
|||
"%%&#%*##########", |
|||
"&&=&&* ", |
|||
" .X %.&&&&&&&&&", |
|||
" .X -@@@@@@@@@@", |
|||
"@@&$@@@@@@@@@@@@", |
|||
" ", |
|||
";--;-----------;", |
|||
"*XXXXXXXXXXXXXXX", |
|||
"&&&&&&&&&&&&&&&&", |
|||
" ", |
|||
"::::::::::::::::", |
|||
"================", |
|||
"================" |
|||
}; |
@ -0,0 +1,116 @@ |
|||
/** |
|||
* @file cvpcb_mainframe.h |
|||
*/ |
|||
|
|||
#ifndef _CVPCB_MAINFRAME_H_ |
|||
#define _CVPCB_MAINFRAME_H_ |
|||
|
|||
#include "wx/listctrl.h" |
|||
#include <wx/filename.h> |
|||
#include "param_config.h" |
|||
#include "cvpcb.h" |
|||
|
|||
/* Forward declarations of all top-level window classes. */ |
|||
class FOOTPRINTS_LISTBOX; |
|||
class COMPONENTS_LISTBOX; |
|||
class DISPLAY_FOOTPRINTS_FRAME; |
|||
|
|||
|
|||
|
|||
/** |
|||
* The CVPcb application main window. |
|||
*/ |
|||
class CVPCB_MAINFRAME : public EDA_BASE_FRAME |
|||
{ |
|||
public: |
|||
|
|||
bool m_KeepCvpcbOpen; |
|||
FOOTPRINTS_LISTBOX* m_FootprintList; |
|||
COMPONENTS_LISTBOX* m_ListCmp; |
|||
DISPLAY_FOOTPRINTS_FRAME* DrawFrame; |
|||
WinEDA_Toolbar* m_HToolBar; |
|||
wxFileName m_NetlistFileName; |
|||
wxArrayString m_ModuleLibNames; |
|||
wxArrayString m_AliasLibNames; |
|||
wxString m_UserLibraryPath; |
|||
wxString m_NetlistFileExtension; |
|||
wxString m_DocModulesFileName; |
|||
FOOTPRINT_LIST m_footprints; |
|||
COMPONENT_LIST m_components; |
|||
|
|||
protected: |
|||
int m_undefinedComponentCnt; |
|||
bool m_modified; |
|||
bool m_rightJustify; |
|||
bool m_isEESchemaNetlist; |
|||
PARAM_CFG_ARRAY m_projectFileParams; |
|||
|
|||
public: |
|||
CVPCB_MAINFRAME( const wxString& title, |
|||
long style = KICAD_DEFAULT_DRAWFRAME_STYLE ); |
|||
~CVPCB_MAINFRAME(); |
|||
|
|||
void OnLeftClick( wxListEvent& event ); |
|||
void OnLeftDClick( wxListEvent& event ); |
|||
void OnSelectComponent( wxListEvent& event ); |
|||
|
|||
void Update_Config( wxCommandEvent& event ); |
|||
void OnQuit( wxCommandEvent& event ); |
|||
void OnCloseWindow( wxCloseEvent& Event ); |
|||
void OnSize( wxSizeEvent& SizeEvent ); |
|||
void OnChar( wxKeyEvent& event ); |
|||
void ReCreateHToolbar(); |
|||
virtual void ReCreateMenuBar(); |
|||
void SetLanguage( wxCommandEvent& event ); |
|||
|
|||
void ToFirstNA( wxCommandEvent& event ); |
|||
void ToPreviousNA( wxCommandEvent& event ); |
|||
void DelAssociations( wxCommandEvent& event ); |
|||
void SaveQuitCvpcb( wxCommandEvent& event ); |
|||
void LoadNetList( wxCommandEvent& event ); |
|||
void ConfigCvpcb( wxCommandEvent& event ); |
|||
void OnKeepOpenOnSave( wxCommandEvent& event ); |
|||
void DisplayModule( wxCommandEvent& event ); |
|||
void AssocieModule( wxCommandEvent& event ); |
|||
void WriteStuffList( wxCommandEvent& event ); |
|||
void DisplayDocFile( wxCommandEvent& event ); |
|||
void OnSelectFilteringFootprint( wxCommandEvent& event ); |
|||
|
|||
void OnUpdateKeepOpenOnSave( wxUpdateUIEvent& event ); |
|||
|
|||
void SetNewPkg( const wxString& package ); |
|||
void BuildCmpListBox(); |
|||
void BuildFOOTPRINTS_LISTBOX(); |
|||
void CreateScreenCmp(); |
|||
int SaveNetList( const wxString& FullFileName ); |
|||
int SaveComponentList( const wxString& FullFileName ); |
|||
bool ReadNetList(); |
|||
int ReadSchematicNetlist(); |
|||
void LoadProjectFile( const wxString& FileName ); |
|||
void SaveProjectFile( const wxString& fileName ); |
|||
virtual void LoadSettings(); |
|||
virtual void SaveSettings(); |
|||
/** DisplayStatus() |
|||
* Displays info to the status line at bottom of the main frame |
|||
*/ |
|||
void DisplayStatus(); |
|||
|
|||
/** |
|||
* Function LoadFootprintFiles |
|||
* Read the list of libraries (*.mod files) and generate the list of modules. |
|||
* for each module are stored |
|||
* the module name |
|||
* documentation string |
|||
* associated keywords |
|||
* m_ModuleLibNames is the list of library that must be read (loaded) |
|||
* fills m_footprints |
|||
* @return true if libraries are found, false otherwise. |
|||
*/ |
|||
bool LoadFootprintFiles( ); |
|||
|
|||
PARAM_CFG_ARRAY& GetProjectFileParameters( void ); |
|||
|
|||
DECLARE_EVENT_TABLE() |
|||
}; |
|||
|
|||
#endif //#ifndef _CVPCB_MAINFRAME_H_ |
@ -1,240 +1,174 @@ |
|||
/***************/ |
|||
/* listlib.cpp */ |
|||
/**(************/ |
|||
/**
|
|||
* @file listlib.cpp |
|||
*/ |
|||
|
|||
|
|||
/*
|
|||
* Functions to read footprint libraries and create the list of availlable footprints |
|||
* Functions to read footprint libraries and fill m_footprints by availlable footprints names |
|||
* and their documentation (comments and keywords) |
|||
*/ |
|||
#include "fctsys.h"
|
|||
#include "wxstruct.h"
|
|||
#include "common.h"
|
|||
#include "confirm.h"
|
|||
#include "kicad_string.h"
|
|||
#include "gestfich.h"
|
|||
#include "macros.h"
|
|||
#include "appl_wxstruct.h"
|
|||
|
|||
#include "cvpcb.h"
|
|||
#include "protos.h"
|
|||
#include "cvpcb_mainframe.h"
|
|||
#include "richio.h"
|
|||
#include "filter_reader.h"
|
|||
|
|||
#include "dialog_load_error.h"
|
|||
|
|||
/* MDC and MOD file strings */ |
|||
static wxString s_files_not_found; |
|||
static wxString s_files_invalid; |
|||
|
|||
|
|||
static void ReadDocLib( const wxString& ModLibName, FOOTPRINT_LIST& list ); |
|||
|
|||
|
|||
/**
|
|||
* Read the list of libraries and generate a list modules. |
|||
* |
|||
/*
|
|||
* Read the list of libraries (*.mod files) and generate a m_footprints of modules. |
|||
* for each module are stored |
|||
* the module name |
|||
* documentation string |
|||
* associated keywords |
|||
* Module description format: |
|||
* $MODULE c64acmd |
|||
* Li c64acmd DIN connector |
|||
* Cd Europe 96 Contact AC male right |
|||
* Kw PAD_CONN DIN |
|||
* $MODULE c64acmd First line of module description |
|||
* Li c64acmd DIN connector Library reference |
|||
* Cd Europe 96 AC male vertical documentation string |
|||
* Kw PAD_CONN DIN associated keywords |
|||
* ...... other data (pads, outlines ..) |
|||
* $Endmodule |
|||
* |
|||
*/ |
|||
bool LoadFootprintFiles( const wxArrayString& libNames, |
|||
FOOTPRINT_LIST& list ) |
|||
bool CVPCB_MAINFRAME::LoadFootprintFiles( ) |
|||
{ |
|||
FILE* file; |
|||
char buffer[1024]; |
|||
wxFileName filename; |
|||
int end; |
|||
FOOTPRINT* ItemLib; |
|||
unsigned i; |
|||
wxString tmp, msg; |
|||
char* result; |
|||
wxString libname; |
|||
wxString files_not_found; |
|||
wxString files_invalid; |
|||
|
|||
/* Check if footprint list is not empty */ |
|||
if( !list.empty() ) |
|||
list.clear(); |
|||
/* Check if footprint m_footprints is not empty */ |
|||
if( !m_footprints.empty() ) |
|||
m_footprints.clear(); |
|||
|
|||
/* Check if there are footprint libraries in project file */ |
|||
if( libNames.GetCount() == 0 ) |
|||
if( m_ModuleLibNames.GetCount() == 0 ) |
|||
{ |
|||
wxMessageBox( _( "No PCB foot print libraries are listed in the current project file." ), |
|||
wxMessageBox( _( "No PCB footprint libraries are listed in the current project file." ), |
|||
_( "Project File Error" ), wxOK | wxICON_ERROR ); |
|||
return false; |
|||
} |
|||
|
|||
/* Parse Libraries Listed */ |
|||
for( i = 0; i < libNames.GetCount(); i++ ) |
|||
for( unsigned ii = 0; ii < m_ModuleLibNames.GetCount(); ii++ ) |
|||
{ |
|||
filename = libNames[i]; |
|||
filename = m_ModuleLibNames[ii]; |
|||
filename.SetExt( ModuleFileExtension ); |
|||
|
|||
tmp = wxGetApp().FindLibraryPath( filename ); |
|||
libname = wxGetApp().FindLibraryPath( filename ); |
|||
|
|||
if( !tmp ) |
|||
if( libname.IsEmpty() ) |
|||
{ |
|||
s_files_not_found << filename.GetFullName() << wxT("\n"); |
|||
files_not_found << filename.GetFullName() << wxT("\n"); |
|||
continue; |
|||
} |
|||
|
|||
/* Open library file */ |
|||
file = wxFopen( tmp, wxT( "rt" ) ); |
|||
file = wxFopen( libname, wxT( "rt" ) ); |
|||
|
|||
if( file == NULL ) |
|||
{ |
|||
s_files_invalid << tmp << _(" (file cannot be opened)") << wxT("\n"); |
|||
files_invalid << libname << _(" (file cannot be opened)") << wxT("\n"); |
|||
continue; |
|||
} |
|||
|
|||
/* Check if library type is valid */ |
|||
result = fgets( buffer, 32, file ); |
|||
if( strncmp( buffer, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) |
|||
FILE_LINE_READER fileReader( file, libname ); |
|||
|
|||
FILTER_READER reader( fileReader ); |
|||
|
|||
/* Read header. */ |
|||
reader.ReadLine(); |
|||
char * Line = reader.Line(); |
|||
StrPurge( Line ); |
|||
|
|||
if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) |
|||
{ |
|||
s_files_invalid << tmp << _(" (Not a Kicad file)") << wxT("\n"); |
|||
wxString msg; |
|||
msg.Printf( _( "<%s> is not a valid Kicad PCB footprint library." ), |
|||
GetChars( libname ) ); |
|||
files_invalid << msg << wxT("\n"); |
|||
fclose( file ); |
|||
continue; |
|||
} |
|||
|
|||
/* TODO: Read the number of components. */ |
|||
fseek( file, 0, 0 ); |
|||
|
|||
end = 0; |
|||
while( !end && fgets( buffer, 255, file ) != NULL ) |
|||
// Read library
|
|||
bool end = false; |
|||
while( !end && reader.ReadLine() ) |
|||
{ |
|||
if( strnicmp( buffer, "$INDEX", 6 ) == 0 ) |
|||
Line = reader.Line(); |
|||
StrPurge( Line ); |
|||
if( strnicmp( Line, "$EndLIBRARY", 11 ) == 0 ) |
|||
{ |
|||
end = true; |
|||
break; |
|||
} |
|||
if( strnicmp( Line, "$MODULE", 7 ) == 0 ) |
|||
{ |
|||
while( fgets( buffer, 255, file ) != NULL ) |
|||
|
|||
Line += 7; |
|||
FOOTPRINT* ItemLib = new FOOTPRINT(); |
|||
ItemLib->m_Module = CONV_FROM_UTF8( StrPurge( Line ) ); |
|||
ItemLib->m_LibName = libname; |
|||
m_footprints.push_back( ItemLib ); |
|||
|
|||
while( reader.ReadLine() ) |
|||
{ |
|||
if( strnicmp( buffer, "$EndINDEX", 6 ) == 0 ) |
|||
{ |
|||
end = 1; |
|||
Line = reader.Line(); |
|||
StrPurge( Line ); |
|||
if( strnicmp( Line, "$EndMODULE", 10 ) == 0 ) |
|||
break; |
|||
} |
|||
|
|||
ItemLib = new FOOTPRINT(); |
|||
ItemLib->m_Module = CONV_FROM_UTF8( StrPurge( buffer ) ); |
|||
ItemLib->m_LibName = tmp; |
|||
list.push_back( ItemLib ); |
|||
} |
|||
int id = ((Line[0] & 0xFF) << 8) + (Line[1] & 0xFF); |
|||
switch( id ) |
|||
{ |
|||
/* KeyWords */ |
|||
case (('K'<<8) + 'w'): |
|||
ItemLib->m_KeyWord = CONV_FROM_UTF8( StrPurge( Line + 3 ) ); |
|||
break; |
|||
|
|||
if( !end ) |
|||
{ |
|||
s_files_invalid << tmp << _(" (Unexpected end of file)") << wxT("\n"); |
|||
/* Doc */ |
|||
case (('C'<<8) + 'd'): |
|||
ItemLib->m_Doc = CONV_FROM_UTF8( StrPurge( Line + 3 ) ); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
fclose( file ); |
|||
ReadDocLib( tmp, list ); |
|||
if( !end ) |
|||
{ |
|||
files_invalid << libname << _(" (Unexpected end of file)") << wxT("\n"); |
|||
} |
|||
} |
|||
m_footprints.sort(); |
|||
|
|||
/* Display if there are mdc files not found */ |
|||
if( !s_files_not_found.IsEmpty() || !s_files_invalid.IsEmpty() ) |
|||
/* Display error messages, if any */ |
|||
if( !files_not_found.IsEmpty() || !files_invalid.IsEmpty() ) |
|||
{ |
|||
DIALOG_LOAD_ERROR dialog(NULL); |
|||
if( !s_files_not_found.IsEmpty() ) |
|||
if( !files_not_found.IsEmpty() ) |
|||
{ |
|||
wxString message = _("Some files could not be found!"); |
|||
dialog.MessageSet(message); |
|||
dialog.ListSet(s_files_not_found); |
|||
s_files_not_found.Empty(); |
|||
dialog.ListSet(files_not_found); |
|||
} |
|||
|
|||
/* Display if there are mdc files invalid */ |
|||
if( !s_files_invalid.IsEmpty() ) |
|||
/* Display if there are invalid files */ |
|||
if( !files_invalid.IsEmpty() ) |
|||
{ |
|||
dialog.MessageSet( _("Some files are invalid!")); |
|||
dialog.ListSet(s_files_invalid); |
|||
s_files_invalid.Empty(); |
|||
dialog.ListSet(files_invalid); |
|||
} |
|||
dialog.ShowModal(); |
|||
} |
|||
|
|||
list.sort(); |
|||
|
|||
return true; |
|||
} |
|||
|
|||
|
|||
/**
|
|||
* Read the file Doc combines a library ModLibName. |
|||
* Create the list of doc strings pointed to by list |
|||
* ModLibName = full file name of the library modules |
|||
*/ |
|||
static void ReadDocLib( const wxString& ModLibName, FOOTPRINT_LIST& list ) |
|||
{ |
|||
FOOTPRINT* NewMod; |
|||
char Line[1024]; |
|||
wxString ModuleName; |
|||
FILE* mdc_file; |
|||
wxFileName mdc_filename = ModLibName; |
|||
|
|||
/* Set mdc filename extension */ |
|||
mdc_filename.SetExt( wxT( "mdc" ) ); |
|||
|
|||
/* Check if mdc file exists and can be opened */ |
|||
if( ( mdc_file = wxFopen( mdc_filename.GetFullPath(), wxT( "rt" ) ) ) == NULL ) |
|||
{ |
|||
s_files_not_found += mdc_filename.GetFullPath() + wxT("\n"); |
|||
return; |
|||
} |
|||
|
|||
/* Check if mdc file is valid */ |
|||
GetLine( mdc_file, Line, NULL, sizeof(Line) - 1 ); |
|||
if( strnicmp( Line, ENTETE_LIBDOC, L_ENTETE_LIB ) != 0 ) |
|||
{ |
|||
s_files_invalid += mdc_filename.GetFullPath() + wxT("\n"); |
|||
return; |
|||
} |
|||
|
|||
/* Read the mdc file */ |
|||
while( GetLine( mdc_file, Line, NULL, sizeof(Line) - 1 ) ) |
|||
{ |
|||
NewMod = NULL; |
|||
if( Line[0] != '$' ) |
|||
continue; |
|||
if( Line[1] == 'E' ) |
|||
break; |
|||
if( Line[1] == 'M' ) |
|||
{ |
|||
/* Parse file line by line */ |
|||
while( GetLine( mdc_file, Line, NULL, sizeof(Line) - 1 ) ) |
|||
{ |
|||
/* $EndMODULE */ |
|||
if( Line[0] == '$' ) |
|||
break; |
|||
|
|||
switch( Line[0] ) |
|||
{ |
|||
/* LibName */ |
|||
case 'L': /* LibName */ |
|||
ModuleName = CONV_FROM_UTF8( StrPurge( Line + 3 ) ); |
|||
BOOST_FOREACH( FOOTPRINT& footprint, list ) |
|||
{ |
|||
if( ModuleName == footprint.m_Module ) |
|||
{ |
|||
NewMod = &footprint; |
|||
break; |
|||
} |
|||
} |
|||
break; |
|||
|
|||
/* KeyWords */ |
|||
case 'K': |
|||
if( NewMod && (!NewMod->m_KeyWord) ) |
|||
NewMod->m_KeyWord = CONV_FROM_UTF8( StrPurge( Line + 3 ) ); |
|||
break; |
|||
|
|||
/* Doc */ |
|||
case 'C': |
|||
if( NewMod && ( !NewMod->m_Doc ) ) |
|||
NewMod->m_Doc = CONV_FROM_UTF8( StrPurge( Line + 3 ) ); |
|||
break; |
|||
} |
|||
} |
|||
} /* Parsed one module documentation */ |
|||
} /* Parsed complete library documentation */ |
|||
|
|||
fclose( mdc_file ); |
|||
} |
@ -1,171 +1,3 @@ |
|||
Cmp-Mod V01 Genere par PcbNew le 17/01/2011 13:55:19 |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D3011; |
|||
Reference = BUS1; |
|||
ValeurCmp = BUSPC; |
|||
IdModule = BUS_PC; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307DE2; |
|||
Reference = C1; |
|||
ValeurCmp = 47uF; |
|||
IdModule = CP6; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307ECF; |
|||
Reference = C2; |
|||
ValeurCmp = 47pF; |
|||
IdModule = C1; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307ED4; |
|||
Reference = C3; |
|||
ValeurCmp = 47pF; |
|||
IdModule = C1; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307DCF; |
|||
Reference = C4; |
|||
ValeurCmp = 47uF; |
|||
IdModule = CP6; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307DCA; |
|||
Reference = C5; |
|||
ValeurCmp = 47uF; |
|||
IdModule = CP6; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307DC0; |
|||
Reference = C6; |
|||
ValeurCmp = 47uF; |
|||
IdModule = CP6; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D32AC; |
|||
Reference = D1; |
|||
ValeurCmp = LED; |
|||
IdModule = LEDV; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D32BE; |
|||
Reference = D2; |
|||
ValeurCmp = LED; |
|||
IdModule = LEDV; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32568D1E; |
|||
Reference = JP1; |
|||
ValeurCmp = CONN_8X2; |
|||
IdModule = pin_array_8x2; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /3256759C; |
|||
Reference = P1; |
|||
ValeurCmp = DB25FEMELLE; |
|||
IdModule = DB25FC; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307EA1; |
|||
Reference = R1; |
|||
ValeurCmp = 100K; |
|||
IdModule = R3; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307EAA; |
|||
Reference = R2; |
|||
ValeurCmp = 1K; |
|||
IdModule = R3; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /324002E6; |
|||
Reference = R3; |
|||
ValeurCmp = 10K; |
|||
IdModule = R3; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D3295; |
|||
Reference = R4; |
|||
ValeurCmp = 330; |
|||
IdModule = R3; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D32A0; |
|||
Reference = R5; |
|||
ValeurCmp = 330; |
|||
IdModule = R3; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /325679C1; |
|||
Reference = RR1; |
|||
ValeurCmp = 9x1K; |
|||
IdModule = r_pack9; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D31F4; |
|||
Reference = U1; |
|||
ValeurCmp = 74LS245; |
|||
IdModule = 20dip300; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D35B4; |
|||
Reference = U2; |
|||
ValeurCmp = 74LS688; |
|||
IdModule = 20dip300; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /4A087146; |
|||
Reference = U3; |
|||
ValeurCmp = 74LS541; |
|||
IdModule = 20dip300; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /3240023F; |
|||
Reference = U5; |
|||
ValeurCmp = 628128; |
|||
IdModule = DIP-32__600; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D321C; |
|||
Reference = U8; |
|||
ValeurCmp = EP600; |
|||
IdModule = 24dip300; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /322D32FA; |
|||
Reference = U9; |
|||
ValeurCmp = 4003APG120; |
|||
IdModule = PGA120; |
|||
EndCmp |
|||
|
|||
BeginCmp |
|||
TimeStamp = /32307EC0; |
|||
Reference = X1; |
|||
ValeurCmp = 8MHz; |
|||
IdModule = HC-18UH; |
|||
EndCmp |
|||
Cmp-Mod V01 Created by CvPCB (2011-02-04 BZR 2793)-testing date = 05/02/2011 15:42:18 |
|||
|
|||
EndListe |
1283
demos/interf_u/interf_u.net
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue