Coder Social home page Coder Social logo

robotips / uconfig Goto Github PK

View Code? Open in Web Editor NEW
499.0 39.0 53.0 1.88 MB

Datasheet pinout extractor from PDF and library Stylizer for Kicad.

License: GNU General Public License v3.0

C++ 97.85% QMake 1.92% C 0.22% Makefile 0.01%
kicad kicad-libraries extract-pinout pdf-datasheet kicad-schematics third-party

uconfig's People

Contributors

almuhs avatar cactorium avatar dereulenspiegel avatar graviszro avatar martonmiklos avatar nopeppermint avatar sebcaux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

uconfig's Issues

does not compile under linux

I am getting a lot of warning/error


/usr/lib/qt5/bin/qmake -o Makefile ../../src/uconfig_gui/uconfig_gui.pro
WARNING: Failure to find: ../../contrib/QDarkStyleSheet/qdarkstyle/style.qrc
/usr/lib/qt5/bin/rcc: File does not exist '../../contrib/QDarkStyleSheet/qdarkstyle/style.qrc'
^Cmake: *** [Makefile:181: sub-uconfig_gui-make_first-ordered] 

download failure

Describe the bug
It's not possible to access the windows programs because they just open this website https://www.robotips.fr , its for vacuum cleaners... and the binary link is broken

Datasheet identification
Links to download the same version of the problematic datasheet:
Page:
none

Expected behavior
download starts

Screenshots
image

Desktop (gpd pocket3):

  • OS: [windows]
  • Version [11]
  • Qt Version: [-]

Additional context
none so far

Infineon datasheet extraction issue (100 pins from table)

Describe the bug
There is no graphic in the datasheet, just a table for different package sizes, uConfig can't find anything usable in the datasheet.

Datasheet identification
https://www.infineon.com/dgdl/Infineon-CY8C41xx_PSoC_4_MCU_PSoC_4100S_Max_Based_on_Arm_Cortex_-M0_CPU-DataSheet-v07_00-EN.pdf?fileId=8ac78c8c83cd30810183fc2ad1424e75

Screenshots
grafik

Desktop (please complete the following information):

  • OS: [Kubuntu]
  • Version [23.10]
  • Qt Version: [5 and 6]

OSX compiling fails after too many errors

I'm running OSX Catalina 10.15.4, Xcode 11.4 (11E146).

qt version 5.14.1
poppler 0.87.0

make -j4 gives the following errors/warnings, see below.

I would really like to use this program, can you please advise what to do to get it compiling on OSX?

Thank you very much for your help.

JK

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O3 -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.13 -Wall -Wextra -fPIC -DKICAD_EXPORT_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../kicad -I. -I/usr/local/Cellar/qt/5.14.1/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AGL.framework/Headers -I/usr/local/Cellar/qt/5.14.1/mkspecs/macx-clang -F/usr/local/Cellar/qt/5.14.1/lib -o drawpoly.o ../../../kicad/model/drawpoly.cpp
../../../kicad/model/pad.cpp:129:10: warning: comparison of two values with different enumeration types in switch statement
('Pad::Shape' and 'Pad::Type') [-Wenum-compare-switch]
case Pad::Hole:
^~~~~~~~~
../../../kicad/model/pad.cpp:127:10: warning: comparison of two values with different enumeration types in switch statement
('Pad::Shape' and 'Pad::Type') [-Wenum-compare-switch]
case Pad::Conn:
^~~~~~~~~
../../../kicad/model/pad.cpp:125:10: warning: comparison of two values with different enumeration types in switch statement
('Pad::Shape' and 'Pad::Type') [-Wenum-compare-switch]
case Pad::Smd:
^~~~~~~~
../../../kicad/model/pad.cpp:123:10: warning: comparison of two values with different enumeration types in switch statement
('Pad::Shape' and 'Pad::Type') [-Wenum-compare-switch]
case Pad::Std:
^~~~~~~~
[ --- snip ---]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O3 -std=gnu++11 -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.13 -Wall -Wextra -fPIC -DKICAD_EXPORT_LIB -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../kicad -I. -I/usr/local/Cellar/qt/5.14.1/lib/QtPrintSupport.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AGL.framework/Headers -I/usr/local/Cellar/qt/5.14.1/mkspecs/macx-clang -F/usr/local/Cellar/qt/5.14.1/lib -o rulesparser.o ../../../kicad/pinruler/rulesparser.cpp
../../../kicad/itemmodel/componentpinstableview.cpp:190:35: warning: 'toList' is deprecated: Use values() instead.
[-Wdeprecated-declarations]
emit pinSelected(selectedPins.toList());
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qset.h:250:5: note: 'toList' has been explicitly marked deprecated here
Q_DECL_DEPRECATED_X("Use values() instead.")
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qcompilerdetection.h:676:55: note: expanded from macro
'Q_DECL_DEPRECATED_X'

define Q_DECL_DEPRECATED_X(text) attribute ((deprecated(text)))

                                                  ^

1 warning generated.

[--- snip ---]
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:43:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qtguiglobal.h:52:13: warning: 'Q_GUI_EXPORT' macro redefined
[-Wmacro-redefined]

[--- snip ---]
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:43:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qtguiglobal.h# define Q_GUI_EXPORT Q_DECL_IMPORT:
52:13 ^:
/usr/local/include/QtCore/qglobal.h:1561:13:0;1;35m warning: note: previous definition 'Q_GUI_EXPORT'is macrohere redefined

  [-Wmacro-redefined]

define Q_GUI_EXPORT

        ^

define Q_GUI_EXPORT Q_DECL_IMPORT

        ^

/usr/local/include/QtCore/qglobal.h:1561:13: note: previous definition is here

define Q_GUI_EXPORT

[--- snip ---]
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/QRectF:1:
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:77:5: In file included from error../../../pdf_extract/datasheetbox.cpp: :19:
In file included from ../../../pdf_extract/datasheetbox.hunknown: 24type:
In file included from name/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/QRectF :'Q_DECL_RELAXED_CONSTEXPR'1:

/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:77:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setLeft(int pos) noexcept;
^
Q_DECL_RELAXED_CONSTEXPR inline void setLeft(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:78:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setTop(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:78:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setTop(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:79:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:79:5: error: unknown type Q_DECL_RELAXED_CONSTEXPR inline void setRight(int pos) noexcept;
name ^'Q_DECL_RELAXED_CONSTEXPR'

Q_DECL_RELAXED_CONSTEXPR inline void setRight(int pos) noexcept;
^

/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:80:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h
:80:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setBottom(int pos) noexcept;
^
Q_DECL_RELAXED_CONSTEXPR inline void setBottom(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:81:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setX(int x) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:81:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setX(int x) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:82:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setY(int y) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:82:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setY(int y) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h84::845::5 : error: error: unknown typeunknown nametype 'Q_DECL_RELAXED_CONSTEXPR'name
'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setTopLeft(const QPoint &p) noexcept; Q_DECL_RELAXED_CONSTEXPR inline void setTopLeft(const QPoint &p) noexcept;

^
^

/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:85:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setBottomRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:85:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setBottomRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:86:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setTopRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:86:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setTopRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:87:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setBottomLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:87:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void setBottomLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:95:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveLeft(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:95:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveLeft(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:96:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTop(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:96:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTop(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:97:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveRight(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:97:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveRight(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:98:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottom(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:98:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottom(int pos) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:99:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTopLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:99:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTopLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:100:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottomRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:100:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottomRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:101:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTopRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:101:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveTopRight(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:102:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottomLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:102:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveBottomLeft(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:103:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveCenter(const QPoint &p) noexcept;
^
/usr/local/Cellar/qt/5.14.1/lib/QtCore.framework/Headers/qrect.h:103:5: error: unknown type name 'Q_DECL_RELAXED_CONSTEXPR'
Q_DECL_RELAXED_CONSTEXPR inline void moveCenter(const QPoint &p) noexcept;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]

[--- snip ---]
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:47:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:26: error: expected ')'
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:25: note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
In file included from ../../../pdf_extract/datasheetpackage.cpp:19/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:
:In file included from 95../../../pdf_extract/datasheetpackage.h::5124::
In file included from ../../../pdf_extract/../kicad/model/component.h:error24: :
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/QImageexpected: 1')':
In file included from
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:47:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:26: error: Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
expected ^
')'/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h
:95:20: note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:25: note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:51: error: expected ')'
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:95:20: note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h::9595::55:: errorerror: : C++C++ requiresrequires aa typetype specifierspecifier forfor allall

        declarationsdeclarations

Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == uint(TotalFieldWidthByOffsets));    ^

^

/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:96:26: error: /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:expected96 :')'26:
error: expected ')'
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:96:25 Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));:
^
note: to /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.hmatch: 96this: 25'(':
note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
^
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h
:96 ^:
51: error: expected /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h')':96
:51: error: expected ')'
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:96:20: note: Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
to ^match
this /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h'(':96
:20: note: to match this '('
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:96: Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));5
: ^
error: C++ requires a/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h :type96 :specifier5 :for all
error : declarations
C++ requires a type specifier for all
declarations Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));

^
Q_STATIC_ASSERT(uint(TotalFieldWidthByWidths) == 8 * sizeof(quint64));
^

/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:225:12: error: unknown type name 'Q_DECL_CONST_FUNCTION'
friend Q_DECL_CONST_FUNCTION Q_DECL_CONSTEXPR inline bool operator==(QPixelFormat fmt1, QPixelFormat fmt2)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:225:12: error: unknown type name 'Q_DECL_CONST_FUNCTION'
friend Q_DECL_CONST_FUNCTION Q_DECL_CONSTEXPR inline bool operator==(QPixelFormat fmt1, QPixelFormat fmt2)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:228:12: error: unknown type name 'Q_DECL_CONST_FUNCTION'
friend Q_DECL_CONST_FUNCTION Q_DECL_CONSTEXPR inline bool operator!=(QPixelFormat fmt1, QPixelFormat fmt2)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h:228:12: error: unknown type name 'Q_DECL_CONST_FUNCTION'
friend Q_DECL_CONST_FUNCTION Q_DECL_CONSTEXPR inline bool operator!=(QPixelFormat fmt1, QPixelFormat fmt2)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qpixelformat.h::231231::11:: errorerror: : C++C++ requiresrequires aa typetype specifierspecifier forfor allall

        declarationsdeclarations

Q_STATIC_ASSERT(sizeof(QPixelFormat) == sizeof(quint64));Q_STATIC_ASSERT(sizeof(QPixelFormat) == sizeof(quint64));

^^

20 errors generated.
make[1]: *** [datasheetpin.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ../../../pdf_extract/datasheetpackage.cpp:19:
In file included from ../../../pdf_extract/datasheetpackage.h:24:
In file included from ../../../pdf_extract/../kicad/model/component.h:24:
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/QImage:1:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:53:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
In file included from ../../../pdf_extract/datasheet.cpp:19:
In file included from ../../../pdf_extract/datasheet.h:24:
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/QImage:1:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:53:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:58:1: error: unknown type name
'Q_FORWARD_DECLARE_MUTABLE_CG_TYPE'
Q_FORWARD_DECLARE_MUTABLE_CG_TYPE(CGImage);
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:76:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:58:1: error: unknown type name
'Q_FORWARD_DECLARE_MUTABLE_CG_TYPE'
Q_FORWARD_DECLARE_MUTABLE_CG_TYPE(CGImage);
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:76:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:139:5: error: unknown type name 'Q_ENUM'
Q_ENUM(Format)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:139:5: error: unknown type name 'Q_ENUM'
Q_ENUM(Format)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:139:/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h19::139 :19: error: error: expected expected';' ';'at at end of declaration list
end of declaration list
Q_ENUM(Format)
^
Q_ENUM(Format)
; ^
;

/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h220::2205::5 : errorerror: : function-likefunction-like macromacro 'QT_DEPRECATED_SINCE''QT_DEPRECATED_SINCE' is isnot
not
defined defined

#if QT_DEPRECATED_SINCE(5, 10)#if QT_DEPRECATED_SINCE(5, 10)

^    ^

/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:223:5: error: unknown type name 'qsizetype'; did you mean
'QPolygonF::size_type'?
qsizetype sizeInBytes() const;
^~~~~~~~~
QPolygonF::size_type
/usr/local/include/QtCore/qvector.h:280:17: note: 'QPolygonF::size_type' /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.hdeclared: 223here:5
: error: typedef int size_type;
^unknown
type name 'qsizetype'; did you mean
'QPolygonF::size_type'?
qsizetype sizeInBytes() const;
^~~~~~~~~
QPolygonF::size_type
/usr/local/include/QtCore/qvector.h:280:17: note: 'QPolygonF::size_type' declared here
typedef int size_type;
^
In file included from ../../../pdf_extract/datasheetpackage.cpp:19:
In file included from ../../../pdf_extract/datasheetpackage.h:24:
In file included from ../../../pdf_extract/../kicad/model/component.h:24:
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/QImage:1:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:322:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
In file included from ../../../pdf_extract/datasheet.cpp:19:
In file included from ../../../pdf_extract/datasheet.h:24:
In file included from /usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/QImage:1:
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:322:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:347:33: error: expected ';' at end of declaration list
CGImageRef toCGImage() const Q_DECL_CF_RETURNS_RETAINED;
^
;
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:350:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:
347:33: #if QT_DEPRECATED_SINCE(5, 0)error
: ^
expected ';' at end of declaration listfatal error:
too many errors emitted, stopping now [-ferror-limit=]
CGImageRef toCGImage() const Q_DECL_CF_RETURNS_RETAINED;
^
;
/usr/local/Cellar/qt/5.14.1/lib/QtGui.framework/Headers/qimage.h:350:5: error: function-like macro 'QT_DEPRECATED_SINCE' is not
defined
#if QT_DEPRECATED_SINCE(5, 0)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[1]: *** [datasheetpackage.o] Error 1
20 errors generated.
make[1]: *** [datasheetbox.o] Error 1
1 warning and 20 errors generated.
make[1]: *** [datasheet.o] Error 1
make: *** [sub-pdf_extract-make_first-ordered] Error 2

Expected In/Out put? feature request

I was looking for something like this plugin )which is already awesome) that also displays the expected inputs and outputs of a component in Kicad. So when you mouse over a pin a little pop up shows the purpose or function and expected in/output of the pin.

For instance the input voltage if you hold over the power in pin and the output voltage, slew rate, rise time, etc. when holding over the output pin of a op amp.

This feature would go great with the planned table detection feature.

Save result

Please can you add option that I can save the pinout result to text or Excel file?

Loading badly generated library crashes application

I've generated library with command:
uconfig 70005208d.pdf -o dsPIC.lib -r microchip.kss
Then i've tried to open this in uconfig_gui.
It crashed.
I've checked generated file. It contained doubled p.3_pack0 and p.4_pack0 sections.
This can be also another bug.

Datasheet:
http://ww1.microchip.com/downloads/en/DeviceDoc/70005208d.pdf
Expected:
There should be error message in gui.
Generated sections should be:
p.3_pack0, p.3_pack1, p.4_pack0, p.4_pack1

Linux 5.0.0-29-generic #31-Ubuntu SMP Thu Sep 12 13:05:32 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
uConfig: Build date: Sep 26 2019 time: 18:21:35
Installed by snap.

CH341a data sheet produces missing pins ..

The attached has 5 package variants but uconfig produces only one with missing and misnamed pins.
It manages pretty well on most datasheets as long as they have only one package per page.
The attached is a rather complex datasheet and not the clearest.
You can edit the pin names, but there seems to be no way to insert an extra pin or reorganise
the pins on the package. Yes, I realise that you can do that in the KiCad symbol editor - it would be nice
if you could tweak it in uconfig.
UConfig is a very usefull package especially for devices with lots of pins where it does most of the work for you.
Regards,
Dave
CH341A datasheet.pdf

Bar and Family name

First I need to thank you for your amazing tool, I have along time for searching on tool like that. Tank you again.
Second, For The image you upload to show the output https://github.com/Robotips/uConfig/blob/master/uConfig_gui.png
Some pins have Bar in its name and this image showing that you already extracted it. But It does not work for me, just extract pin name without the bar.
Also, your image show that you get the family name(Name) but for me it get "packx" where x refer to package name.
So, Please send me the last version from your tool.

Error found while trying to compile under Ubuntu 18.04

Hello,
I cloned uConfig, installed qt5 as indicated and tried to compile it. The result was a missing header file:

../../src/pdf_extract/datasheet.cpp:28:10: fatal error: poppler/qt5/poppler-qt5.h: File not found
#include <poppler/qt5/poppler-qt5.h>

However command: qmake -query QT_VERSION
reported
5.9.5

I tried to find that specific file without success. Do I need to install an additional qt package?

Four packages on one page: pins get mixed up

Describe the bug
Four packages on one page, package 3 and 4 seem to get combined

Datasheet identification
http://www.ti.com/lit/ds/symlink/drv8847.pdf
Page: 4
p.4_pack3 [DRV8847S, only device with SDA and SCL]
pin3 should be ISEN12 but is OUT4
pin4 should be OUT2 but is ISEN34
pin5 should be OUT4 but is OUT3
pin6 should be ISEN34 but is nFAULT
etc

pin 1,2, 10, 11, 13—16 are ok

Desktop (please complete the following information):

  • OSX 10.15.4
  • Qt Version: 5.14.1

Various datasheet issues

I tried to find some more datasheets from various manufacturers where there are issues. Dozens just worked out of the box and produced 100% correct results. I could only find a few which have some issues.

Issues with TI UCC27212-Q1 data sheet

Firstly, I'll say this right now, your tool is brilliant!

There are times when you just want a symbol to stick in the schematic and don't want to faff around with the symbol editor… your tool saves a lot of time. Many thanks for sharing it. Even if it gets something a little wrong, the bit of clean-up required is minimal for small parts.

I used it successfully with a couple of datasheets, e.g. the TI INA219 datasheet worked fine, but with the UCC27212-Q1, it missed the LI signal. I was about to raise it in issue #5, but I see you prefer separate issues for different data sheets, so I'll raise it here.

uconfig-ucc27212a-q1

It seems though it did recognise the LI text, it just didn't recognise it as a signal:

ucc27212a-q1-debug

I tried entering it manually into that centre-top table listing, but the moment I clicked on the next field, it rejected what I had entered. Maybe having a small override facility to say "there is a pin X named ABC", or "pin Y doesn't really exist" might be a way around this. I think it's mostly there, just a little edge case. (I'd imagine there's a lot of these, parsing PDFs is no fun.)

I looked for such a feature, but didn't spot it… if needed I can submit a pull request that adds it. (I might do that to tweak some of the text … maybe see if Qt Linguist can be used to make translation easier. But that is a separate issue. :-))

invalid brew option

I attempted to install uConfig following the instructions for macOS. The instructions say to install poppler using brew with the --with-qt command line option. Unfortunately, --with-qt is not a valid brew command line option. Is this a typo?

Error: invalid option: --with-qt

Pre-built Windows binaries not avilable

Hello,
thanks for providing such a great tool!
I was looking in downloading the pre-built binaries for my windows machine, on visiting https://ci.appveyor.com/api/projects/sebcaux/uconfig/artifacts/uconfig-win32-v0.zip I get the error "https://ci.appveyor.com/api/projects/sebcaux/uconfig/artifacts/uconfig-win32-v0.zip"
On second look I saw that the built was failing. https://ci.appveyor.com/project/sebcaux/uconfig gives the following error:
curl -fsSL -o include-poppler.tar.gz http://robotips.fr/data/include-poppler.tar.gz
curl: (7) Failed to connect to robotips.fr port 80: Timed out
On my machine robotips.fr resolves to: 5.39.93.30 but that server seems to be offline.
Any chance that dependency could be fixed?
Best regards!

Cannot read STM32 Datasheets

uConfig runs on the whole datasheet, however, does not detect any packages. The output it gives is:

+ possible components at page: 60
0 package deleted
0 package found
==============================
+ possible components at page: 61
0 package deleted
0 package found
==============================
+ possible components at page: 63
0 package deleted
0 package found
==============================
+ possible components at page: 65
0 package deleted
0 package found
==============================
+ possible components at page: 67
0 package deleted
0 package found
==============================
+ possible components at page: 87
0 package deleted
0 package found
==============================
+ possible components at page: 140
5 packages deleted
0 package found

When trying to scan en-DM00172872.pdf (the STM32L475 datasheet found here)

Component LDK120M extraction issue

Describe the bug
There exist 2 packages for this part in the datasheet, tool only finds one.
The pin extraction screws-up 3 pins: EN (pin 3), BYP/ADJ/NC (pin 4) and pin 6 (which is only for DFN package).

Datasheet identification
Links to download the same version of the problematic datasheet:
https://www.st.com/content/ccc/resource/technical/document/datasheet/9d/8f/91/5b/5d/0b/49/3d/DM00070790.pdf/files/DM00070790.pdf/jcr:content/translations/en.DM00070790.pdf
Page: 4
Pins, undetected or bad association:
EN (pin 3)
BYP/ADJ/NC (pin 4)
DFN only, pin 6 is exported as pin 8 with 4/24 name (see screenshot)

Expected behavior
Tool should export 2 different packages: SOT23 and DFN6
Pin 6 should exist only for DFN6 package and pin number and name should be correct.
Pin 3 and 4 naming is messed-up (see above), naming should be correct.

Screenshots
p4_pack1
Screenshot_2019-11-11_12-50-10

Desktop (please complete the following information):

  • OS: Ubuntu 18.04
  • Version latest (built Nov 11 2019)
  • Qt Version: 5.9.5

Missing pins with TI datasheets

I tried to generate libs from a few TI datasheets, but it misses some pins:

For e.g. the MSP430 MCU datasheets it works like a charm and detects all the pins, it might have to do with the departments using different styling on the datasheets.

Provide alternative to Snap

Snap's not a packaging format I want to use. Can we offer appimage and/or preferably flatpak so people have other options.

heap-use-after-free in Datasheet::pinSearch

uconfig crashes with heap-use-after-free error when running on LM393 datasheet from https://lcsc.com/product-detail/Analog-Comparators_ON-Semicon_LM393DR2G_ON-Semicon-ON-LM393DR2G_C7955.html

To reproduce:

  1. Checkout bfd75d0 commit (master at the time of writing this).
  2. Build uconfig with Address Sanitizer (https://en.wikipedia.org/wiki/AddressSanitizer) enabled:
cd uConfig
mkdir build
cd build
qmake ../src/uConfig.pro CONFIG+=sanitizer CONFIG+=sanitize_address CONFIG+=force_debug_info
make -j4
  1. Download the datasheet from lcsc:
curl https://datasheet.lcsc.com/szlcsc/ON-Semicon-ON-LM393DR2G_C7955.pdf > /tmp/C7955.pdf
  1. Run uconfig and observe the crash report. Note: tune ASAN_SYMBOLIZER_PATH, if llvm-symbolizer is installed into a different directory on your machine.
$ ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer ./uconfig /tmp/C7955.pdf -o /tmp/C7955.lib
=================================================================
==3852==ERROR: AddressSanitizer: heap-use-after-free on address 0x60b0001ad778 at pc 0x7faf4b6057bd bp 0x7fff1f3dd7d0 sp 0x7fff1f3dd7c0
READ of size 8 at 0x60b0001ad778 thread T0
    #0 0x7faf4b6057bc in Datasheet::pinSearch(int) ../../src/pdf_extract/datasheet.cpp:230
    #1 0x7faf4b6061a8 in Datasheet::analyse(int, int) ../../src/pdf_extract/datasheet.cpp:666
    #2 0x5642b126dc18 in processFilePdf(QString, Lib*, bool) ../../src/uconfig/uconfig.cpp:29
    #3 0x5642b126c987 in main ../../src/uconfig/uconfig.cpp:137
    #4 0x7faf4a62c1e2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x271e2)
    #5 0x5642b126d72d in _start (/home/krasin/src/github.com/Robotips/uConfig/bin/uconfig+0x772d)

0x60b0001ad778 is located 88 bytes inside of 104-byte region [0x60b0001ad720,0x60b0001ad788)
freed by thread T0 here:
    #0 0x7faf4b83d7ff in operator delete(void*) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x1107ff)
    #1 0x7faf4b60c648 in DatasheetPackage::~DatasheetPackage() ../../src/pdf_extract/datasheetpackage.cpp:28
    #2 0x7faf4b6000f9 in Datasheet::pinSearch(int) ../../src/pdf_extract/datasheet.cpp:234
    #3 0x7faf4b6061a8 in Datasheet::analyse(int, int) ../../src/pdf_extract/datasheet.cpp:666
    #4 0x5642b126dc18 in processFilePdf(QString, Lib*, bool) ../../src/uconfig/uconfig.cpp:29
    #5 0x5642b126c987 in main ../../src/uconfig/uconfig.cpp:137
    #6 0x7faf4a62c1e2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x271e2)

previously allocated by thread T0 here:
    #0 0x7faf4b83c867 in operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10f867)
    #1 0x7faf4b5fac1b in Datasheet::extractPins(int) ../../src/pdf_extract/datasheet.cpp:441
    #2 0x7faf4b5fd4a2 in Datasheet::pinSearch(int) ../../src/pdf_extract/datasheet.cpp:105
    #3 0x7faf4b6061a8 in Datasheet::analyse(int, int) ../../src/pdf_extract/datasheet.cpp:666
    #4 0x5642b126dc18 in processFilePdf(QString, Lib*, bool) ../../src/uconfig/uconfig.cpp:29
    #5 0x5642b126c987 in main ../../src/uconfig/uconfig.cpp:137
    #6 0x7faf4a62c1e2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x271e2)

SUMMARY: AddressSanitizer: heap-use-after-free ../../src/pdf_extract/datasheet.cpp:230 in Datasheet::pinSearch(int)

Note: the same error occurs if built without Address Sanitizer, but it obviously misses the nice report.

The code around the issue is:

foreach (DatasheetPackage *package, packages)
    {
        // package with less than 5 pin are deleted                                                                                 
        if (package->pins.count() < 5)
        {
            badcount++;
            delete package;
            continue;
        }
        // package pin 1 very far to pin 2 are deleted                                                                              
        QPointF p1center = package->pins[1]->numberBox->pos.center(); <==== USE-AFTER-FREE HERE
	if (package->pins[0]->numberBox->distanceToPoint(p1center) > 50)
        {
            badcount++;
            delete package; <==== DELETED HERE
            continue;
        }

What happens is that package (including its pins) is deleted on one iteration and then on the next iteration, a deleted pin is used again. I have not yet fully understood the problem, but I hope this report gives enough clues.

Unable to use KSS, missing info?

There's no clear explanation on how to use KSS on Windows.
I've tried placing a regex filter:

[P][A-L][0-9]+ {
    class: "gpio\1";
    elecType: bidir;
}

Into the textbox below the pin list and clicking "organize", but nothing happens. Selected different pins, and confirmed the regex actually works in the "pin name filter" search box at the very top.

Tried placing the .kss files in every directory, including next to the executable, as well as creating a "rules" directory. No results either.

Is it not supposed to work?

App crashes if microchip.kss isn't found

As new user of your great app I tried this directly and I got a segment violation:

$ ~/uConfig-master/bin/uconfig LPC84x.pdf -o lpc84x.lib -r microchip.kss
> LPC84x.pdf
4 packages extracted, saved in lpc84x.lib
Violación de segmento (`core' generado)

Although it says the library was created, it wasn't. However it did work without such option:

$ ~/uConfig-master/bin/uconfig LPC84x.pdf -o lpc84x.lib 
> LPC84x.pdf
4 packages extracted, saved in lpc84x.lib
Elapsed time: 1087ms
$

I haven't seen the results yet, I wanted you to know this little issue. My workstation is based upon Linux Mint 19, Cinnamon, 64B.

Out of context: Why this program isn't included by default with Kicad?

Wrong pin assignment due to same pin number

While using the tool, I found the below case
image

it seems the application logic will skip the already associated pins, noting it was mis-assigned.
like in the above case, wrong pin 10 was already assigned to a package so the correct pin which had the same value was skipped

I have modified the logic abit to get the nearest point in that case, please check it

datasheet.cpp
void Datasheet::pinSearch(int numPage)
please find the intended block as the function is too large
`foreach (DatasheetPackage *package, packages)
{
// get last inserted pin
DatasheetPin *lastpin = package->pins.last();

                if (lastpin->pin == pin->pin){
                    //modify logic to handle different pins with same number
                    //continue;

                    if(package-> pins.length() >2){

                    //out << " executing tech2 for pin nummber "<<pin->pin << " and size is "<< pins.length()<< endl;
                    DatasheetPin *beforeLastPin =  package-> pins.at( package-> pins.length()-2);


                    qreal newPinDistance = pin->distanceToPoint( beforeLastPin->numPos.center());

                    qreal lastPinDistance = lastpin->distanceToPoint(beforeLastPin->numPos.center());

                    if(newPinDistance < lastPinDistance){

                        //out <<"pin number is :"<<pin->pin<< " replacing pin  "<<lastpin->name << " with "<< pin->name<< endl;

                        package->pins.replace(package->pins.length()-1,pin);

                        continue;


                    }

                    }
                    continue;

                }
                if(  lastpin->pin + 4 < pin->pin)
                    continue;

                qreal newdist = lastpin->distanceToPoint(center);
                if (newdist < dist)
                {
                    dist = newdist;
                    nearPackage = package;
                }
            }`

problem while parsing LX2080 datasheet

hello.
i had some problems while using your program.
actualy it's simply don't see tables with pin-outs instead in debugger i seeing part of chessboard where marked all connectors

EAGLE export?

Hi @sebcaux

Many thanks for sharing this project, it is very promising and smart tool!

I have some Qt classes (generated from the XML descriptors) which can be used to parse/generate design/library files for the Autodesk EAGLE.

Would you accept a patch for the uConfig which would allow saving to EAGLE library files?

Component STC3115IQT extraction issue

Describe the bug
Tool extracts BGA numbering instead of "Pin name" column for pin naming, see pin table on page 5 of datasheet (below).

Datasheet identification
Links to download the same version of the problematic datasheet:
https://www.st.com/content/ccc/resource/technical/document/datasheet/24/05/c6/c7/0c/72/41/39/DM00066800.pdf/files/DM00066800.pdf/jcr:content/translations/en.DM00066800.pdf
Page: 5
Pins, undetected or bad association: All

Expected behavior
Tool should extract the "Pin name" column instead of "CSP bump" column.

Desktop (please complete the following information):

  • OS: Ubuntu 18.04
  • Version: latest (built Nov 11 2019)
  • Qt Version: 5.9.5

libraries installed in wrong directory

Currently uconfig always installs its libraries into /usr/lib/ on *nix OSs. This fails on some distributions that differ between /usr/lib, /usr/lib32 and /usr/lib64

I'm not too familiar with qmake hence I'm not sure how it gets the correct library install path so I can't send a PR that is sure to work cleanly. Or if it's possible at all (I suppose it is).

Desktop (please complete the following information):

  • OS: gentoo
  • Version 17.0/systemd
  • Qt Version: 5.12.5

How to link poppler-qt5 when building on windows

Am trying to build the project on windows and using Qt creator, currently am stuck @building pdf_extract, I download the DLLs and header files as you mentioned, I add DLLs files to "dll" directory and added poppler folder to project

and this is the pdf_extract.pro content

QT     += core gui widgets xml

TARGET = pdf_extract
TEMPLATE = lib
DEFINES += DATASHEET_EXTRACTOR_EXPORT_LIB
DESTDIR = "$$PWD/../../bin"

CONFIG(release, debug|release) {
    CONFIG += optimize_full
}

SOURCES += \
    $$PWD/datasheet.cpp \
    $$PWD/datasheetpackage.cpp \
    $$PWD/datasheetpin.cpp \
    $$PWD/datasheetbox.cpp \
    $$PWD/pdfdebugwidget/pdfdebugwidget.cpp \
    $$PWD/pdfdebugwidget/pdfdebugviewer.cpp \
    $$PWD/pdfdebugwidget/pdfdebugscene.cpp \
    $$PWD/pdfdebugwidget/pdfdebugitempage.cpp \
    $$PWD/pdfdebugwidget/pdfdebugitempin.cpp \
    $$PWD/pdfdebugwidget/pdfdebugitemtextbox.cpp \
    $$PWD/model/pdfdatasheet.cpp \
    $$PWD/model/pdfpage.cpp \
    $$PWD/model/pdftextbox.cpp \
    $$PWD/model/pdfpin.cpp \
    $$PWD/model/pdfcomponent.cpp \
    $$PWD/controller/pdfloader.cpp

HEADERS += \
    $$PWD/pdf_extract_common.h \
    $$PWD/datasheet.h \
    $$PWD/datasheetpackage.h \
    $$PWD/datasheetpin.h \
    $$PWD/datasheetbox.h \
    $$PWD/pdfdebugwidget/pdfdebugwidget.h \
    $$PWD/pdfdebugwidget/pdfdebugviewer.h \
    $$PWD/pdfdebugwidget/pdfdebugscene.h \
    $$PWD/pdfdebugwidget/pdfdebugitempage.h \
    $$PWD/pdfdebugwidget/pdfdebugitempin.h \
    $$PWD/pdfdebugwidget/pdfdebugitemtextbox.h \
    $$PWD/model/pdfdatasheet.h \
    $$PWD/model/pdfpage.h \
    $$PWD/model/pdftextbox.h \
    $$PWD/model/pdfpin.h \
    $$PWD/model/pdfcomponent.h \
    $$PWD/controller/pdfloader.h 

LIBS += -L"$$PWD/../../bin"
**LIBS += -L"$$PWD/dll/"**

INCLUDEPATH += $$PWD/../../
**INCLUDEPATH += $$PWD/dll/**

LIBS += -lkicad

macx {
    LIBS += -L /usr/local/lib
    INCLUDEPATH += /usr/local/include 
}

but it keeps throwing the below

image

can you share with me how to do it properly ?

C++11?

Hi @sebcaux

What is your standpoint regarding to using C++11 only features (nullptr, range based for, etc) in the code?

I would love to rely on these features, most modern compilers supporting it. Enforcing it is easy in the pro file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.