Added two pin shapes:
* reverted clock ( --<| ) as it is commonly used for inverted clock in x-USSR * nonlogic ( ---X ) for non-logic pins of logic ICs (commonly used for power and timing RC pins).
This commit is contained in:
parent
6d5ee76668
commit
cd778c125e
|
@ -308,6 +308,8 @@ set(BITMAP_SRCS
|
||||||
pinshape_active_low_input.xpm
|
pinshape_active_low_input.xpm
|
||||||
pinshape_clock_active_low.xpm
|
pinshape_clock_active_low.xpm
|
||||||
pinshape_active_low_output.xpm
|
pinshape_active_low_output.xpm
|
||||||
|
pinshape_clock_fall.xpm
|
||||||
|
pinshape_nonlogic.xpm
|
||||||
pintype_input.xpm
|
pintype_input.xpm
|
||||||
pintype_output.xpm
|
pintype_output.xpm
|
||||||
pintype_bidi.xpm
|
pintype_bidi.xpm
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
/* XPM */
|
||||||
|
const char *pinshape_clock_fall_xpm[] = {
|
||||||
|
/* columns rows colors chars-per-pixel */
|
||||||
|
"15 15 2 1",
|
||||||
|
". c Black",
|
||||||
|
" c #FFFFFF",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" .. ",
|
||||||
|
" . . ",
|
||||||
|
" . ....... ",
|
||||||
|
" . . ",
|
||||||
|
" .. ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" ",
|
||||||
|
" "
|
||||||
|
};
|
|
@ -0,0 +1,23 @@
|
||||||
|
/* XPM */
|
||||||
|
const char *pinshape_nonlogic_xpm[] = {
|
||||||
|
/* columns rows colors chars-per-pixel */
|
||||||
|
"15 15 2 1",
|
||||||
|
". c Black",
|
||||||
|
" c #FFFFFF",
|
||||||
|
/* pixels */
|
||||||
|
" ",
|
||||||
|
" ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" ... ",
|
||||||
|
" .......... ",
|
||||||
|
" ... ",
|
||||||
|
" . . . ",
|
||||||
|
" . . . ",
|
||||||
|
" . ",
|
||||||
|
" . ",
|
||||||
|
" ",
|
||||||
|
" "
|
||||||
|
};
|
|
@ -63,7 +63,9 @@ static const wxString pin_style_names[] =
|
||||||
_( "Inverted clock" ),
|
_( "Inverted clock" ),
|
||||||
_( "Input low" ),
|
_( "Input low" ),
|
||||||
_( "Clock low" ),
|
_( "Clock low" ),
|
||||||
_( "Output low" )
|
_( "Output low" ),
|
||||||
|
_( "Falling edge clock" ),
|
||||||
|
_( "NonLogic" )
|
||||||
};
|
};
|
||||||
|
|
||||||
// bitmaps to show pins shapes in dialog editor
|
// bitmaps to show pins shapes in dialog editor
|
||||||
|
@ -77,6 +79,8 @@ static const char ** s_icons_Pins_Shapes[] =
|
||||||
pinshape_active_low_input_xpm,
|
pinshape_active_low_input_xpm,
|
||||||
pinshape_clock_active_low_xpm,
|
pinshape_clock_active_low_xpm,
|
||||||
pinshape_active_low_output_xpm,
|
pinshape_active_low_output_xpm,
|
||||||
|
pinshape_clock_fall_xpm,
|
||||||
|
pinshape_nonlogic_xpm
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -91,7 +95,9 @@ static const int pin_style_codes[] =
|
||||||
CLOCK | INVERT,
|
CLOCK | INVERT,
|
||||||
LOWLEVEL_IN,
|
LOWLEVEL_IN,
|
||||||
LOWLEVEL_IN | CLOCK,
|
LOWLEVEL_IN | CLOCK,
|
||||||
LOWLEVEL_OUT
|
LOWLEVEL_OUT,
|
||||||
|
CLOCK_FALL,
|
||||||
|
NONLOGIC
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -885,6 +891,26 @@ void LIB_PIN::DrawPinSymbol( WinEDA_DrawPanel* aPanel,
|
||||||
MapY1 * INVERT_PIN_RADIUS * 2 + y1 );
|
MapY1 * INVERT_PIN_RADIUS * 2 + y1 );
|
||||||
GRLineTo( &aPanel->m_ClipBox, aDC, posX, posY, width, color );
|
GRLineTo( &aPanel->m_ClipBox, aDC, posX, posY, width, color );
|
||||||
}
|
}
|
||||||
|
else if( m_PinShape & CLOCK_FALL ) /* an alternative for Inverted Clock */
|
||||||
|
{
|
||||||
|
GRMoveTo( x1 + MapY1 * CLOCK_PIN_DIM,
|
||||||
|
y1 - MapX1 * CLOCK_PIN_DIM );
|
||||||
|
GRLineTo( &aPanel->m_ClipBox,
|
||||||
|
aDC,
|
||||||
|
x1 + MapX1 * CLOCK_PIN_DIM,
|
||||||
|
y1 + MapY1 * CLOCK_PIN_DIM,
|
||||||
|
width,
|
||||||
|
color );
|
||||||
|
GRLineTo( &aPanel->m_ClipBox,
|
||||||
|
aDC,
|
||||||
|
x1 - MapY1 * CLOCK_PIN_DIM,
|
||||||
|
y1 + MapX1 * CLOCK_PIN_DIM,
|
||||||
|
width,
|
||||||
|
color );
|
||||||
|
GRMoveTo( MapX1 * CLOCK_PIN_DIM + x1,
|
||||||
|
MapY1 * CLOCK_PIN_DIM + y1 );
|
||||||
|
GRLineTo( &aPanel->m_ClipBox, aDC, posX, posY, width, color );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GRMoveTo( x1, y1 );
|
GRMoveTo( x1, y1 );
|
||||||
|
@ -974,6 +1000,26 @@ void LIB_PIN::DrawPinSymbol( WinEDA_DrawPanel* aPanel,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else if( m_PinShape & NONLOGIC ) /* NonLogic pin symbol */
|
||||||
|
{
|
||||||
|
GRMoveTo( x1 - (MapX1 + MapY1) * NONLOGIC_PIN_DIM,
|
||||||
|
y1 - (MapY1 - MapX1) * NONLOGIC_PIN_DIM );
|
||||||
|
GRLineTo( &aPanel->m_ClipBox,
|
||||||
|
aDC,
|
||||||
|
x1 + (MapX1 + MapY1) * NONLOGIC_PIN_DIM,
|
||||||
|
y1 + (MapY1 - MapX1) * NONLOGIC_PIN_DIM,
|
||||||
|
width,
|
||||||
|
color );
|
||||||
|
GRMoveTo( x1 - (MapX1 - MapY1) * NONLOGIC_PIN_DIM,
|
||||||
|
y1 - (MapY1 + MapX1) * NONLOGIC_PIN_DIM );
|
||||||
|
GRLineTo( &aPanel->m_ClipBox,
|
||||||
|
aDC,
|
||||||
|
x1 + (MapX1 - MapY1) * NONLOGIC_PIN_DIM,
|
||||||
|
y1 + (MapY1 + MapX1) * NONLOGIC_PIN_DIM,
|
||||||
|
width,
|
||||||
|
color );
|
||||||
|
}
|
||||||
|
|
||||||
/* Draw the pin end target (active end of the pin)
|
/* Draw the pin end target (active end of the pin)
|
||||||
* Draw but do not print the pin end target 1 pixel width
|
* Draw but do not print the pin end target 1 pixel width
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#define CLOCK_PIN_DIM 40 /* Dim of clock pin symbol. */
|
#define CLOCK_PIN_DIM 40 /* Dim of clock pin symbol. */
|
||||||
#define IEEE_SYMBOL_PIN_DIM 40 /* Dim of special pin symbol. */
|
#define IEEE_SYMBOL_PIN_DIM 40 /* Dim of special pin symbol. */
|
||||||
|
#define NONLOGIC_PIN_DIM 30 /* Dim of nonlogic pin symbol (X). */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The component library pin object electrical types used in ERC tests.
|
* The component library pin object electrical types used in ERC tests.
|
||||||
|
@ -60,7 +61,9 @@ enum DrawPinShape {
|
||||||
INVERT = 1,
|
INVERT = 1,
|
||||||
CLOCK = 2,
|
CLOCK = 2,
|
||||||
LOWLEVEL_IN = 4,
|
LOWLEVEL_IN = 4,
|
||||||
LOWLEVEL_OUT = 8
|
LOWLEVEL_OUT = 8,
|
||||||
|
CLOCK_FALL = 0x10, /* this is common form for inverted clock in Eastern Block */
|
||||||
|
NONLOGIC = 0x20,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -294,8 +294,10 @@ extern const char* pinorient_right_xpm[];
|
||||||
extern const char* pinorient_left_xpm[];
|
extern const char* pinorient_left_xpm[];
|
||||||
extern const char* pinorient_up_xpm[];
|
extern const char* pinorient_up_xpm[];
|
||||||
extern const char* pinorient_down_xpm[];
|
extern const char* pinorient_down_xpm[];
|
||||||
|
extern const char* pinshape_nonlogic_xpm[];
|
||||||
extern const char* pinshape_normal_xpm[];
|
extern const char* pinshape_normal_xpm[];
|
||||||
extern const char* pinshape_invert_xpm[];
|
extern const char* pinshape_invert_xpm[];
|
||||||
|
extern const char* pinshape_clock_fall_xpm[];
|
||||||
extern const char* pinshape_clock_normal_xpm[];
|
extern const char* pinshape_clock_normal_xpm[];
|
||||||
extern const char* pinshape_clock_invert_xpm[];
|
extern const char* pinshape_clock_invert_xpm[];
|
||||||
extern const char* pinshape_active_low_input_xpm[];
|
extern const char* pinshape_active_low_input_xpm[];
|
||||||
|
|
Loading…
Reference in New Issue