Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
a97a2b4b
Commit
a97a2b4b
authored
Jul 10, 2009
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Eeschema: Connecting power pins of all parts is no more needed. see changelog
parent
baa278a3
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
68 additions
and
77 deletions
+68
-77
CHANGELOG.txt
CHANGELOG.txt
+12
-0
dialog_display_info_HTML_base.cpp
common/dialog_display_info_HTML_base.cpp
+5
-5
dialog_display_info_HTML_base.fbp
common/dialog_display_info_HTML_base.fbp
+6
-6
dialog_display_info_HTML_base.h
common/dialog_display_info_HTML_base.h
+1
-1
drawpanel.cpp
common/drawpanel.cpp
+2
-0
CMakeLists.txt
eeschema/CMakeLists.txt
+1
-0
class_marker_sch.cpp
eeschema/class_marker_sch.cpp
+3
-24
controle.cpp
eeschema/controle.cpp
+6
-1
erc.cpp
eeschema/erc.cpp
+31
-3
load_one_schematic_file.cpp
eeschema/load_one_schematic_file.cpp
+1
-37
No files found.
CHANGELOG.txt
View file @
a97a2b4b
...
@@ -4,6 +4,18 @@ KiCad ChangeLog 2009
...
@@ -4,6 +4,18 @@ KiCad ChangeLog 2009
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.
2009-july-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++Eeschema:
Enhanced netlist creation and ERC tests for component having multiple parts per package
Connecting power pins of all parts is no more needed.
Usually, these components have in schematic duplicated power pins.
Op amps having 4 parts have also 4 duplicated pins per power input,
and therefore the user must place 4 power symboles per physical power pin
Now Only one power is needed (now eeschema search for a connected pin
between duplicated power pins)
Note this is a work in progress because the ERC does not check if these duplicate
are connected to the *same* net.
2009-july-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
2009-july-06 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
================================================================================
...
...
common/dialog_display_info_HTML_base.cpp
View file @
a97a2b4b
...
@@ -11,17 +11,17 @@
...
@@ -11,17 +11,17 @@
DIALOG_DISPLAY_HTML_TEXT_BASE
::
DIALOG_DISPLAY_HTML_TEXT_BASE
(
wxWindow
*
parent
,
wxWindowID
id
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
wxDialog
(
parent
,
id
,
title
,
pos
,
size
,
style
)
DIALOG_DISPLAY_HTML_TEXT_BASE
::
DIALOG_DISPLAY_HTML_TEXT_BASE
(
wxWindow
*
parent
,
wxWindowID
id
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
wxDialog
(
parent
,
id
,
title
,
pos
,
size
,
style
)
{
{
this
->
SetSizeHints
(
wxSize
(
400
,
1
7
0
),
wxDefaultSize
);
this
->
SetSizeHints
(
wxSize
(
400
,
1
2
0
),
wxDefaultSize
);
wxBoxSizer
*
bMainSizer
;
wxBoxSizer
*
bMainSizer
;
bMainSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
bMainSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
m_htmlWindow
=
new
wxHtmlWindow
(
this
,
wxID_ANY
,
wxDefaultPosition
,
wxDefaultSize
,
wxHW_SCROLLBAR_AUTO
);
m_htmlWindow
=
new
wxHtmlWindow
(
this
,
wxID_ANY
,
wxDefaultPosition
,
wxDefaultSize
,
wxHW_SCROLLBAR_AUTO
|
wxSUNKEN_BORDER
);
bMainSizer
->
Add
(
m_htmlWindow
,
1
,
wx
ALL
|
wx
EXPAND
,
5
);
bMainSizer
->
Add
(
m_htmlWindow
,
1
,
wxEXPAND
,
5
);
m_buttonClose
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Close"
),
wxDefaultPosition
,
wxDefaultSize
,
0
);
m_buttonClose
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Close"
),
wxDefaultPosition
,
wxDefaultSize
,
wxBU_EXACTFIT
);
m_buttonClose
->
SetDefault
();
m_buttonClose
->
SetDefault
();
bMainSizer
->
Add
(
m_buttonClose
,
0
,
wxAL
L
|
wxALIGN_RIGH
T
,
5
);
bMainSizer
->
Add
(
m_buttonClose
,
0
,
wxAL
IGN_RIGHT
|
wxRIGHT
|
wxLEF
T
,
5
);
this
->
SetSizer
(
bMainSizer
);
this
->
SetSizer
(
bMainSizer
);
this
->
Layout
();
this
->
Layout
();
...
...
common/dialog_display_info_HTML_base.fbp
View file @
a97a2b4b
...
@@ -29,10 +29,10 @@
...
@@ -29,10 +29,10 @@
<property
name=
"hidden"
>
0
</property>
<property
name=
"hidden"
>
0
</property>
<property
name=
"id"
>
wxID_ANY
</property>
<property
name=
"id"
>
wxID_ANY
</property>
<property
name=
"maximum_size"
></property>
<property
name=
"maximum_size"
></property>
<property
name=
"minimum_size"
>
400,1
7
0
</property>
<property
name=
"minimum_size"
>
400,1
2
0
</property>
<property
name=
"name"
>
DIALOG_DISPLAY_HTML_TEXT_BASE
</property>
<property
name=
"name"
>
DIALOG_DISPLAY_HTML_TEXT_BASE
</property>
<property
name=
"pos"
></property>
<property
name=
"pos"
></property>
<property
name=
"size"
>
431,1
7
0
</property>
<property
name=
"size"
>
431,1
2
0
</property>
<property
name=
"style"
>
wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
</property>
<property
name=
"style"
>
wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER
</property>
<property
name=
"subclass"
></property>
<property
name=
"subclass"
></property>
<property
name=
"title"
></property>
<property
name=
"title"
></property>
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
<property
name=
"permission"
>
none
</property>
<property
name=
"permission"
>
none
</property>
<object
class=
"sizeritem"
expanded=
"1"
>
<object
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wx
ALL|wx
EXPAND
</property>
<property
name=
"flag"
>
wxEXPAND
</property>
<property
name=
"proportion"
>
1
</property>
<property
name=
"proportion"
>
1
</property>
<object
class=
"wxHtmlWindow"
expanded=
"1"
>
<object
class=
"wxHtmlWindow"
expanded=
"1"
>
<property
name=
"bg"
></property>
<property
name=
"bg"
></property>
...
@@ -98,7 +98,7 @@
...
@@ -98,7 +98,7 @@
<property
name=
"tooltip"
></property>
<property
name=
"tooltip"
></property>
<property
name=
"window_extra_style"
></property>
<property
name=
"window_extra_style"
></property>
<property
name=
"window_name"
></property>
<property
name=
"window_name"
></property>
<property
name=
"window_style"
></property>
<property
name=
"window_style"
>
wxSUNKEN_BORDER
</property>
<event
name=
"OnChar"
></event>
<event
name=
"OnChar"
></event>
<event
name=
"OnEnterWindow"
></event>
<event
name=
"OnEnterWindow"
></event>
<event
name=
"OnEraseBackground"
></event>
<event
name=
"OnEraseBackground"
></event>
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
</object>
</object>
<object
class=
"sizeritem"
expanded=
"1"
>
<object
class=
"sizeritem"
expanded=
"1"
>
<property
name=
"border"
>
5
</property>
<property
name=
"border"
>
5
</property>
<property
name=
"flag"
>
wxAL
L|wxALIGN_RIGH
T
</property>
<property
name=
"flag"
>
wxAL
IGN_RIGHT|wxRIGHT|wxLEF
T
</property>
<property
name=
"proportion"
>
0
</property>
<property
name=
"proportion"
>
0
</property>
<object
class=
"wxButton"
expanded=
"1"
>
<object
class=
"wxButton"
expanded=
"1"
>
<property
name=
"bg"
></property>
<property
name=
"bg"
></property>
...
@@ -147,7 +147,7 @@
...
@@ -147,7 +147,7 @@
<property
name=
"permission"
>
protected
</property>
<property
name=
"permission"
>
protected
</property>
<property
name=
"pos"
></property>
<property
name=
"pos"
></property>
<property
name=
"size"
></property>
<property
name=
"size"
></property>
<property
name=
"style"
></property>
<property
name=
"style"
>
wxBU_EXACTFIT
</property>
<property
name=
"subclass"
></property>
<property
name=
"subclass"
></property>
<property
name=
"tooltip"
></property>
<property
name=
"tooltip"
></property>
<property
name=
"window_extra_style"
></property>
<property
name=
"window_extra_style"
></property>
...
...
include
/dialog_display_info_HTML_base.h
→
common
/dialog_display_info_HTML_base.h
View file @
a97a2b4b
...
@@ -40,7 +40,7 @@ class DIALOG_DISPLAY_HTML_TEXT_BASE : public wxDialog
...
@@ -40,7 +40,7 @@ class DIALOG_DISPLAY_HTML_TEXT_BASE : public wxDialog
public
:
public
:
wxHtmlWindow
*
m_htmlWindow
;
wxHtmlWindow
*
m_htmlWindow
;
DIALOG_DISPLAY_HTML_TEXT_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_ANY
,
const
wxString
&
title
=
wxEmptyString
,
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
431
,
1
8
0
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
DIALOG_DISPLAY_HTML_TEXT_BASE
(
wxWindow
*
parent
,
wxWindowID
id
=
wxID_ANY
,
const
wxString
&
title
=
wxEmptyString
,
const
wxPoint
&
pos
=
wxDefaultPosition
,
const
wxSize
&
size
=
wxSize
(
431
,
1
2
0
),
long
style
=
wxDEFAULT_DIALOG_STYLE
|
wxRESIZE_BORDER
);
~
DIALOG_DISPLAY_HTML_TEXT_BASE
();
~
DIALOG_DISPLAY_HTML_TEXT_BASE
();
};
};
...
...
common/drawpanel.cpp
View file @
a97a2b4b
...
@@ -661,6 +661,8 @@ void WinEDA_DrawPanel::OnPaint( wxPaintEvent& event )
...
@@ -661,6 +661,8 @@ void WinEDA_DrawPanel::OnPaint( wxPaintEvent& event )
m_ClipBox
.
SetHeight
(
PaintClipBox
.
GetHeight
()
);
m_ClipBox
.
SetHeight
(
PaintClipBox
.
GetHeight
()
);
#endif
#endif
// Be sure the drawpanel clipbox is bigger than the region to repair:
m_ClipBox
.
Inflate
(
1
,
1
);
// Give it one pixel more in each direction
#if 0 && defined (DEBUG)
#if 0 && defined (DEBUG)
printf( "2) PaintClipBox=(%d, %d, %d, %d) org=(%d, %d) m_ClipBox=(%d, %d, %d, %d)\n",
printf( "2) PaintClipBox=(%d, %d, %d, %d) org=(%d, %d) m_ClipBox=(%d, %d, %d, %d)\n",
...
...
eeschema/CMakeLists.txt
View file @
a97a2b4b
add_definitions
(
-DEESCHEMA
)
add_definitions
(
-DEESCHEMA
)
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
include_directories
(
${
CMAKE_CURRENT_SOURCE_DIR
}
${
CMAKE_SOURCE_DIR
}
/common
${
Boost_INCLUDE_DIR
}
${
Boost_INCLUDE_DIR
}
)
)
...
...
eeschema/class_marker_sch.cpp
View file @
a97a2b4b
...
@@ -82,35 +82,14 @@ void MARKER_SCH::Show( int nestLevel, std::ostream& os )
...
@@ -82,35 +82,14 @@ void MARKER_SCH::Show( int nestLevel, std::ostream& os )
#endif
#endif
/**
/**
* Function Save
* Function Save
(do nothing : markers are no more saved in files )
* writes the data structures for this object out to a FILE in "*.brd" format.
* writes the data structures for this object out to a FILE in "*.brd" format.
* @param aFile The FILE to write to.
* @param aFile The FILE to write to.
* @return bool - true if success writing else false.
* @return bool - true if success writing else false.
* Currently: do nothing (markers are no more saved in files)
*/
*/
bool
MARKER_SCH
::
Save
(
FILE
*
aFile
)
const
bool
MARKER_SCH
::
Save
(
FILE
*
aFile
)
const
{
{
bool
success
=
true
;
return
true
;
#if 0
wxString msg = m_drc.GetMainText();
if( fprintf( aFile, "Kmarq %c %-4d %-4d \"%s\"",
GetMarkerType() + 'A', GetPos().x, GetPos().y,
CONV_TO_UTF8( msg ) ) == EOF )
success = false;
if ( m_drc.HasSecondItem() )
{
msg = GetReporter().GetAuxiliaryText();
if( fprintf( aFile, " \"%s\" %-4d %-4d",
GetMarkerType() + 'A', m_drc.GetPointB().x, m_drc.GetPointB().y,
CONV_TO_UTF8( msg ) ) == EOF )
success = false;
}
if( fprintf( aFile, " F=%X T=%X\n",
GetErrorLevel(), GetReporter().GetErrorCode() ) == EOF )
#endif
return
success
;
}
}
...
@@ -160,7 +139,7 @@ void MARKER_SCH::DisplayMarkerInfo( WinEDA_SchematicFrame* aFrame )
...
@@ -160,7 +139,7 @@ void MARKER_SCH::DisplayMarkerInfo( WinEDA_SchematicFrame* aFrame )
wxString
msg
=
GetReporter
().
ShowHtml
();
wxString
msg
=
GetReporter
().
ShowHtml
();
DIALOG_DISPLAY_HTML_TEXT_BASE
infodisplay
(
aFrame
,
-
1
,
wxEmptyString
,
DIALOG_DISPLAY_HTML_TEXT_BASE
infodisplay
(
aFrame
,
-
1
,
wxEmptyString
,
wxGetMousePosition
(),
wxSize
(
550
,
1
7
0
)
);
wxGetMousePosition
(),
wxSize
(
550
,
1
4
0
)
);
infodisplay
.
m_htmlWindow
->
SetPage
(
msg
);
infodisplay
.
m_htmlWindow
->
SetPage
(
msg
);
infodisplay
.
ShowModal
();
infodisplay
.
ShowModal
();
...
...
eeschema/controle.cpp
View file @
a97a2b4b
...
@@ -122,8 +122,13 @@ SCH_ITEM* WinEDA_SchematicFrame:: SchematicGeneralLocateAndDisplay( const wxPoin
...
@@ -122,8 +122,13 @@ SCH_ITEM* WinEDA_SchematicFrame:: SchematicGeneralLocateAndDisplay( const wxPoin
SCH_COMPONENT
*
LibItem
;
SCH_COMPONENT
*
LibItem
;
wxString
Text
;
wxString
Text
;
wxString
msg
;
wxString
msg
;
int
ii
;
DrawStruct
=
(
SCH_ITEM
*
)
PickStruct
(
refpoint
,
GetScreen
(),
MARKERITEM
);
if
(
DrawStruct
)
{
MsgPanel
->
EraseMsgBox
();
return
DrawStruct
;
}
DrawStruct
=
(
SCH_ITEM
*
)
PickStruct
(
refpoint
,
GetScreen
(),
NOCONNECTITEM
);
DrawStruct
=
(
SCH_ITEM
*
)
PickStruct
(
refpoint
,
GetScreen
(),
NOCONNECTITEM
);
if
(
DrawStruct
)
if
(
DrawStruct
)
{
{
...
...
eeschema/erc.cpp
View file @
a97a2b4b
...
@@ -549,10 +549,38 @@ static void TestOthersItems( WinEDA_DrawPanel* panel,
...
@@ -549,10 +549,38 @@ static void TestOthersItems( WinEDA_DrawPanel* panel,
||
(
NetItemRef
->
GetNet
()
!=
NetItemTst
->
GetNet
()
)
)
// End of net
||
(
NetItemRef
->
GetNet
()
!=
NetItemTst
->
GetNet
()
)
)
// End of net
{
{
/* Fin de netcode trouve: Tst connexion minimum */
/* Fin de netcode trouve: Tst connexion minimum */
if
(
(
*
MinConnexion
<
NET_NC
)
if
(
(
*
MinConnexion
<
NET_NC
)
&&
(
local_minconn
<
NET_NC
)
)
/* Not connected or not driven pin */
&&
(
local_minconn
<
NET_NC
)
)
/* Not connected or not driven pin */
{
{
Diagnose
(
panel
,
NetItemRef
,
NULL
,
local_minconn
,
WAR
);
bool
seterr
=
true
;
if
(
local_minconn
==
NOC
&&
NetItemRef
->
m_Type
==
NET_PIN
)
{
/* This pin is not connected: for multiple part per package, and duplicated pin,
* search for an other instance of this pin
* this will be flagged only is all instances of this pin are not connected
* TODO test also if instances connected are connected to the same net
*/
for
(
ObjetNetListStruct
*
duppin
=
g_TabObjNet
;
duppin
<
Lim
;
duppin
++
)
{
if
(
duppin
->
m_Type
!=
NET_PIN
)
continue
;
if
(
duppin
==
NetItemRef
)
continue
;
if
(
NetItemRef
->
m_PinNum
!=
duppin
->
m_PinNum
)
continue
;
if
(
(
(
SCH_COMPONENT
*
)
NetItemRef
->
m_Link
)
->
GetRef
(
&
NetItemRef
->
m_SheetList
)
!=
((
SCH_COMPONENT
*
)
duppin
->
m_Link
)
->
GetRef
(
&
duppin
->
m_SheetList
)
)
continue
;
// Same component and same pin. Do dot create error for this pin
// if the other pin is connected (i.e. if duppin net has an other item)
if
(
(
duppin
>
g_TabObjNet
)
&&
(
duppin
->
GetNet
()
==
(
duppin
-
1
)
->
GetNet
()))
seterr
=
false
;
if
(
(
duppin
<
Lim
-
1
)
&&
(
duppin
->
GetNet
()
==
(
duppin
+
1
)
->
GetNet
())
)
seterr
=
false
;
}
}
if
(
seterr
)
Diagnose
(
panel
,
NetItemRef
,
NULL
,
local_minconn
,
WAR
);
*
MinConnexion
=
DRV
;
// inhibition autres messages de ce type pour ce net
*
MinConnexion
=
DRV
;
// inhibition autres messages de ce type pour ce net
}
}
return
;
return
;
...
...
eeschema/load_one_schematic_file.cpp
View file @
a97a2b4b
...
@@ -324,43 +324,7 @@ at line %d, aborted" ),
...
@@ -324,43 +324,7 @@ at line %d, aborted" ),
break
;
break
;
case
'K'
:
/* It is a Marker item. */
case
'K'
:
/* It is a Marker item. */
#if 0 // Markers are no more read from file
// Markers are no more read from file. they are only created on demand in schematic
if( sscanf( SLine, "%s %d %d", Name1, &pos.x, &pos.y ) != 3 )
{
MsgDiag.Printf( wxT( "EESchema file marker struct error line %d, aborted" ),
LineCount );
MsgDiag << wxT( "\n" ) << CONV_FROM_UTF8( Line );
Failed = true;
}
else
{
char* text;
char BufLine[1024];
BufLine[0] = 0;
int errtype = 0;
MARKER_SCH* Marker = new MARKER_SCH( );
ii = ReadDelimitedText( BufLine, Line, 1024 );
int type = (TypeMarker) ( (Name1[0] & 255) - 'A' );
if( type < 0 || type >= MARK_NMAX)
type = MARK_UNSPEC;
Marker->SetMarkerType( type );
text = Line+ii;
text = strstr( text, " F=" );
if( text )
{
ii = 0;
sscanf( text + 3, "%X", &ii );
Marker->SetErrorLevel( ii );
text = strstr( text, " T=" );
if( text )
sscanf( text + 3, "%X", &errtype );
}
Marker->SetData(errtype, pos, CONV_FROM_UTF8( BufLine ) , pos);
Marker->SetNext( screen->EEDrawList );
screen->EEDrawList = Marker;
}
#endif
break
;
break
;
case
'T'
:
/* It is a text item. */
case
'T'
:
/* It is a text item. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment