Wayne Stambaugh
8d995f48de
Update Eagle plugin to use symbol library table.
2017-11-09 18:50:21 -05:00
Wayne Stambaugh
d5290bdfe0
Fix malformed symbol libraries when importing Eagle schematics.
...
KiCad library symbol text objects cannot contain carriage returns and/or
line feeds which isn't the case with Eagle symbol libraries. Otherwise,
the library file will be corrupt when it is saved. Fixing this in the
legacy plugin would break the current file format so just replace them
with underscores. Ideally these text objects should be broken into
multiple text objects but the current plugin design doesn't support
this.
2017-11-04 21:36:47 -04:00
Maciej Suminski
5eb56dd8b0
Coverity fixes
...
CIDs:
102571
168696
168701
168704
168706
168708
168710
168713
168716
168717
2017-11-01 10:24:26 +01:00
jean-pierre charras
772dc2f24a
Fix compil warnings
2017-10-20 13:48:36 +02:00
Maciej Suminski
59394fedbf
Eeschema Eagle Import: fixed global net label rotation
2017-10-20 09:34:33 +02:00
Maciej Suminski
0ed7483868
Eeschema Eagle Import: support UTF-8 for fields
2017-10-20 09:34:33 +02:00
Maciej Suminski
b77ba486ec
Eeschema Eagle Import: fixed name and reference fields placement
2017-10-20 09:34:33 +02:00
Maciej Suminski
62156b9b69
Eeschema Eagle Import: refactored common code for setting text attributes
2017-10-20 09:34:33 +02:00
Maciej Suminski
ee8012a5cc
Eagle import plugin: Code clean-up and formatting
2017-10-20 09:34:33 +02:00
Maciej Suminski
25b8111341
Modified Eagle import plugins to use nanometers as the internal unit
2017-10-20 09:34:33 +02:00
Maciej Suminski
7f697de432
Handle empty texts correctly
2017-10-20 09:34:33 +02:00
Maciej Suminski
87465002c3
Eeschema Eagle Import: changed fixNetName() to escapeName()
2017-10-20 09:34:33 +02:00
Russell Oliver
82b1e3c790
Eagle Import: Handle muli-pad pins. Adds overlapping pins in the symbol definition to ensure that electrical connections are made to each pad on the footprint.
2017-10-20 09:34:33 +02:00
Maciej Suminski
ce145373e4
Change the Eagle schematic import plugin license to GPLv3+
2017-10-20 09:34:33 +02:00
Maciej Suminski
e75d76d1a8
Enable LOCALE_IO in Eagle schematic import plugin
2017-10-20 09:34:32 +02:00
Maciej Suminski
ce11e9a264
Eeschema Eagle Import: Changed convertTextSize() to ETEXT::ConvertSize()
2017-10-20 09:34:32 +02:00
Russell Oliver
2a0a999350
Eeschema Eagle Import: Code clean-up and formatting
2017-10-20 09:34:32 +02:00
Maciej Suminski
630a883f80
Update Eagle schematic import plugin after long pin/pad name patch
2017-10-20 09:34:32 +02:00
Russell Oliver
3b0855d204
Eagle Project Import: Code cleanup and documentation.
...
- Also makes the project and file import functions filetype dependent.
- The change from IO_MGR::KICAD to IO_MGR::KICAD_SEXP removes a conflict from a compile definition for KICAD when compiling kicad/import_project.cpp
2017-10-20 08:58:40 +02:00
Russell Oliver
c3b0fca922
Eeschema Eagle Import: Fix graphics on multi-unit symbols -- sets correct gate for arcs and polylines from eagle symbol wires.
2017-10-20 08:58:40 +02:00
Russell Oliver
869743d573
Kicad Eagle Project Import Improvements. -- schematic and board files are both visible in file selection dialog. -- Allows for the selection of either the board or schematic file. -- silently fails on not detecting the corrosponding board or schematic file. -- all new kicad files are generated in new project directory -- Silently read netlist without generating annotation warnings which synchronises timestamps and paths based on given eagle references, otherwise renumbering schematic references will break links accross schematic and pcbnew.
2017-10-20 08:58:40 +02:00
Russell Oliver
a8fa64f158
Eeschema Eagle Import: Shift convertTextSize to common eagle parser.
2017-10-20 08:38:42 +02:00
Russell Oliver
433aa653fe
Kicad: Add Project import function. -- add menu entry -- add ImportFile kiway function -- expose functions for creating/reading netlist -- add example eagle boad file as well
2017-10-20 08:38:42 +02:00
Russell Oliver
d260609e69
Eeschema Eagle Import: Fix package assigment by combining eagle libraries of the same name.
2017-10-20 08:38:42 +02:00
Russell Oliver
e63e916279
Eeschema Eagle Import: Parse eagle symbol name prefix and fix reference values.
2017-10-20 08:38:42 +02:00
Russell Oliver
cdb5a01091
Eeschema Eagle Import: Set visibility of fields based on attribute display value.
2017-10-20 08:38:42 +02:00
Russell Oliver
d9396ac43b
Eeschema Eagle Import: Hide reference and values based component smashed status and attribute.
2017-10-20 08:38:42 +02:00
Russell Oliver
cec76c4de2
Eeschema Eagle: Created convertTextSize function.
2017-10-20 08:38:42 +02:00
Russell Oliver
857f9f3216
Eeschema Eagle Import: arc fix
2017-10-20 08:38:42 +02:00
Russell Oliver
afaa2499dc
Eeschema Eagle Import: Set Pinshape. - modifies lin_pin.cpp function InternalPinDecoSize to default back to number text size if pin name text is set to zero.
2017-10-20 08:38:42 +02:00
Maciej Suminski
08907d4fe8
Eeschema Eagle Import: generate unique timestamps for multiunit parts
2017-10-20 08:38:42 +02:00
Maciej Suminski
a8e800f571
Eeschema Eagle Import: Moved net name correction to a function
2017-10-20 08:38:42 +02:00
Russell Oliver
b11c876e48
Eeschema Eagle Import: Move any labels while inserting bus entry symbols.
2017-10-20 08:38:42 +02:00
Russell Oliver
fa6d777ee0
Eeschema Eagle Import: More rigorous file header check
2017-10-20 08:38:39 +02:00
Russell Oliver
41f1f2cc48
Eeschema Eagle Import: WIP Handle bus entry symbols for any direction.
2017-10-20 08:38:39 +02:00
Russell Oliver
3f738b661e
Eeschema Eagle Import: Set subsheet name based on original Eagle schematic file name.
2017-10-20 08:38:39 +02:00
Russell Oliver
4a4954dd82
Eeschema Eagle Import: Renable label generation for unlabeled nets.
2017-10-20 08:38:39 +02:00
Russell Oliver
aeb43b055c
Eeschema Eagle Import: Fix power symbol import. - Set pins to power in to match current power supply symbols. - Change IsPowerConnection() to match POWER_IN pins from power symbols as well.
2017-10-20 08:38:39 +02:00
Maciej Suminski
d4201ef51f
Eeschema Eagle Import: memory leak fixes
2017-10-20 08:38:39 +02:00
Maciej Suminski
37445042ed
Eeschema Eagle Import: corrected arc radius size
2017-10-20 08:38:39 +02:00
Russell Oliver
2a96f26b7e
Eeschema Eagle Import: Arc importation fix
2017-10-20 08:38:39 +02:00
Russell Oliver
956ef0fa61
Eeschema Eagle Import: WIP trying to fix indirect memory leaks
2017-10-20 08:38:39 +02:00
Russell Oliver
1fdb13daa6
Eeschema Eagle Import: Parse all pin directions
2017-10-20 08:38:39 +02:00
Maciej Suminski
8b8a9ea705
Eeschema Eagle Import: enumerate units starting with 1
2017-10-20 08:38:39 +02:00
Russell Oliver
9f4c7af6fb
Eeschema Eagle Import: Set symbol as a power symbol for single supply pin eagle symbols.
2017-10-20 08:38:39 +02:00
Maciej Suminski
ff86c8eeb1
Eeschema Eagle Import: check rotation property before accessing it
2017-10-20 08:38:39 +02:00
Russell Oliver
64f4eaddff
Eeschema Eagle Import: Improve arc parsing to replicate eagle filled arcs.
2017-10-20 08:38:39 +02:00
Russell Oliver
e379329ee6
Eeschema Eagle Import: Better conversion between ! and ~ in text and pin names
2017-10-20 08:38:39 +02:00
Russell Oliver
a6f7cdc949
Eeschema Eagle Import: Update text alignment parsing
2017-10-20 08:38:39 +02:00
Russell Oliver
8f66e73749
Eeschema Eagle Import: Fill rectangles in symbols
2017-10-20 08:38:39 +02:00
Russell Oliver
bc23c55cec
Eeschema Eagle Import: Update layer handling
2017-10-20 08:38:39 +02:00
Maciej Suminski
2adc3d48b4
Eeschema Eagle Import: Assign timestamps for modules
2017-10-20 08:38:39 +02:00
Russell Oliver
7af2a21891
Eeschema Eagle Import: Parse polyline symbol elements.
2017-10-20 08:38:39 +02:00
Russell Oliver
7f8ac1cf02
Eeschema Eagle Import: Parse plain wires as lines on the notes layer.
2017-10-20 08:38:39 +02:00
Russell Oliver
d41fe9d567
Eeschema Eagle Import: Disable label creation for unlabeled nets, may have to be renabled for edge cases where a multi segment net is unlabled in Eagle but which would not be connected in Kicad.
2017-10-20 08:38:38 +02:00
Russell Oliver
9932d18b77
Eeschema Eagle Import: Set value and reference component field visibilities based on presence of text in symbol definition.
2017-10-20 08:38:38 +02:00
Russell Oliver
05e9ec94f1
Eeschema Eagle Import: Set pin and pad name visibilities using text size.
2017-10-20 08:38:38 +02:00
Russell Oliver
bb754b33d0
Eeschema Eagle Import: Parse instance attributes for value and refererence positions and alignment.
2017-10-20 08:38:38 +02:00
Russell Oliver
ef880f57a2
Eeschema Eagle Import: Field checks and library insertion fix.
2017-10-20 08:38:38 +02:00
Russell Oliver
c0c75d4732
Eeschema Eagle Import: Convert overbar prefix on pins.
2017-10-20 08:38:38 +02:00
Russell Oliver
afa5ef0ca6
Eeschema Eagle Import: Load labels as global or local depending on if the net is shared accross multiple eagle sheets. Test created kicad labels to check if they are on a wire, otherwise movethem to the nearest wire start, midpoint or end.
2017-10-20 08:38:38 +02:00
Russell Oliver
dcdc66b79e
Eeschema Eagle Import: Add wire to bus entry symbols.
2017-10-20 08:38:38 +02:00
Russell Oliver
3919b79777
Eeschema Eagle Import: Use bounding box for sheet position and size.
2017-10-20 08:38:38 +02:00
Russell Oliver
13abec84ef
Eeschema Eagle Import: Symbol field positioning fixes.
2017-10-20 08:38:38 +02:00
Russell Oliver
23dc8fdf32
Eeschema Eagle Import: During recentering of items the sheet, round translation to 100 mils to keep items on the grid.
2017-10-20 08:38:38 +02:00
Russell Oliver
2db2319156
Eeschema Eagle Import: Fix label rotation.
2017-10-20 08:38:38 +02:00
Russell Oliver
03739a4d37
Eeschema Eagle Import: Import pins even if Eagle even if pin to pad mapping (connects) to found. Fixes missing pins in supply symbols.
2017-10-20 08:38:38 +02:00
Russell Oliver
246e1fcd9c
Eeschema Eagle Import: Save imported library to disk.
2017-10-20 08:38:38 +02:00
Russell Oliver
e7377c0a26
Eeschema Eagle Import: dynamically size sheet based on positions of wires and junctions within the sheet.
2017-10-20 08:38:38 +02:00
Russell Oliver
512b574132
Eeschema Eagle Import: Import Busses.
2017-10-20 08:38:38 +02:00
Russell Oliver
b8f98eaffe
Eeschema Eagle Plugin: Code Cleanup
2017-10-20 08:38:38 +02:00
Russell Oliver
3741793f77
Eeschema Eagle Plugin: Set Component Orientation
2017-10-20 08:38:38 +02:00
Russell Oliver
2523c6b5d7
Eeeschema Eagle Plugin: Set footprint field using Eagle device package value.
2017-10-20 08:38:38 +02:00
Russell Oliver
812cae5409
Eeschema: Eagle Import: Add schematic text. Parse eagle vector text ratio to determine if text is bold.
2017-10-20 08:38:38 +02:00
Maciej Suminski
0d76b2947f
Store imported Eagle symbols in a library
2017-10-20 08:38:38 +02:00
Maciej Suminski
3298387f7b
Assert for non-standard rotation during Eagle schematics import
2017-10-20 08:38:38 +02:00
Maciej Suminski
deaa1d1477
Fixed crashes when importing an Eagle schematic
...
If release() is called on a unique_ptr, one needs to be sure
that is not dereferenced anymore.
2017-10-20 08:38:38 +02:00
Russell Oliver
c274a21548
WIP: Symbols are imported and displayed, and save to cache file on schematic save.
2017-10-20 08:38:38 +02:00
Russell Oliver
b9edfe4fe4
WIP: Refactor symbol importation to account for multiple gates and device connect pin maps.
2017-10-20 08:38:38 +02:00
Russell Oliver
55d6f4e0fc
WIP: Eagle symbol importation
2017-10-20 08:38:38 +02:00
Russell Oliver
4e69acbb49
Eeschema: Add CheckHeader function to SCH_PLUGIN and cycle through plugins when loading files.
2017-10-20 08:38:38 +02:00
Maciej Suminski
e03bc32e49
Eagle plugin: Code formatting
2017-10-20 08:38:38 +02:00
Maciej Suminski
f049b01a59
Eagle plugin: Added 'static' and 'const T&' as applicable
2017-10-20 08:38:38 +02:00
Maciej Suminski
c72b2155a6
Eagle plugin: changed #define to constexpr
2017-10-20 08:38:38 +02:00
Maciej Suminski
7d2320b5ad
Eagle plugin: check before dereferencing optional attributes
2017-10-20 08:38:38 +02:00
Russell Oliver
75d9185e4a
Eeschema: Eagle Plugin: Add loadSymboltext, and position default symbol texts.
2017-10-20 08:38:38 +02:00
Russell Oliver
04c7fbebdc
Eeschema: Eagle Plugin: Handle pin rotation.
2017-10-20 08:38:38 +02:00
Russell Oliver
739754cfd6
Eeschema: Eagle plugin: Save symbols to schematic library cache file. Remove unneeded variable. Fix add extension to filename
2017-10-20 08:38:38 +02:00
Russell Oliver
ea8f7ed02d
Eeschema: Eagle plugin> work on schematic and symbol elements
2017-10-20 08:38:37 +02:00
Russell Oliver
e92c8c1d6c
Eeschema: Handle multiple sheets in Eagle plugin.
2017-10-20 08:38:37 +02:00
Maciej Suminski
c727423979
Work in progress
...
- !! Eeschema uses Eagle plugin for loading schematics (i.e. it does not
use KiCad format anymore)
- Fixed build errors
- Fixed a few crashes
- Code formatting
2017-10-20 08:38:37 +02:00
Maciej Suminski
f5b2a2ea57
Code formatting and cleanup
2017-10-20 08:38:37 +02:00
Alejandro García Montoro
404457f455
Eeschema Eagle plugin
2017-10-20 08:38:37 +02:00
Alejandro García Montoro
df708f8ada
Starts the loading layout
2017-10-20 08:38:37 +02:00
Alejandro García Montoro
75b0549f6f
Testing the structure
2017-10-20 08:38:37 +02:00
Alejandro García Montoro
2403f2b558
Adds necessary structure to implement and test Eagle schematich plugin
2017-10-20 08:38:37 +02:00