In Python3, all division operators promote integers to floats. We need
to downcast back to integer for the polygon vertices.
There was also an unhandled overflow in the QR generation that allowed
more than 512 bits to be loaded. This overflows the type of QR we
generate, so this truncates the input string to 62 bytes ( leaving 12
bits for the checksum )
Fixes: lp:1850223
* https://bugs.launchpad.net/kicad/+bug/1850223
(cherry picked from commit 9bccbaf497)
This updates some of the footprint wizard values to use the default KLC
values for silkscreen, fab, courtyard and text.
Also updates the default QFN settings to create a valid footprint
Fedora packaging errors with ambiguous python shebang since current
rawhide (30).
So we should remove it as the footprint wizards are not to be executed
standalone.
The text height and thickness settings were never implemented so they
didn't get updated when the options were changed. Added the missing
code to update both parameters.
Added text width parameter so text height and width do not need to be
the same value. Currently both the value and reference fields are set
to the same height and width. Please feel free to change this if you
feel the need to have separate text settings for both the value and
reference fields.
Fixes lp:1751309
https://bugs.launchpad.net/kicad/+bug/1751309
Rename FPID to LIB_ID as is now used as a generic library identifier and
is no longer specific to footprints.
Remove all mention of footprint from the new LIB_ID doxygen comments and
code.
Rename files fpid.h and fpid.cpp to lib_id.h and lib_id.cpp.
Rename fp_lib_table.keywords file to lib_table.keywords and adjust CMake
build dependencies accordingly.
Update all source files effected by the code and file name changes.
Update .gitignore for file name changes.
*) Extend SWIG support deeper into the BOARD class.
*) Move swig *.i files into a directory identified for SWIG, in preparation
for a parallel universe involving Phoenix's SIP.
*) Move swig files which will be common to both eeschema and pcbnew into
common/swig.
*) Sketch out a "common" python module, and plan on dovetailing that into a
libkicad_shared.{dll,so}
*) Add common/swig/ki_exceptions.i and define a macro HANDLE_EXCEPTIONS()
which is to be applied to any function which needs C++ to python
exception translation.
*) Move the test for SWIG tool into top level CMakeLists.txt file for use
in all python modules beyond pcbnew, i.e. eeschema and common.
*) Add SWIG_MODULE_pcbnew_EXTRA_DEPS which generates a better Makefile, one
which rebuilds the swig generated *.cxx file when one of its dependencies
change.
*) Re-architect the board.i file so that it can be split into multiple *.i
files easily.
*) Make some KIWAY from python progress, in preparation for Modular KiCad
phase III.