- 25 Mar, 2015 1 commit
-
-
Maciej Suminski authored
-
- 28 Feb, 2015 1 commit
-
-
Wayne Stambaugh authored
-
- 22 Feb, 2015 1 commit
-
-
jean-pierre charras authored
Fix also very minor warnings detected by cppcheck.
-
- 10 Jan, 2015 1 commit
-
-
jean-pierre charras authored
Add hight contrast option in Modedit. In hight contrast mode, solder masks and solder paste are shown. this option was possible only by modifying the way display options are managed. before these changes, display options were a global DISPLAY_OPTIONS class instance. Now each EDA_DRAW_FRAME(and derivated classes) includes its own DISPLAY_OPTIONS class instance. As a consequence, some duplicate display option variables in these classes have been removed, because there were just duplicate variables of the DISPLAY_OPTIONS class instance.
-
- 24 Aug, 2014 1 commit
-
-
jean-pierre charras authored
Rework on env. variable KISYS3DMOD. Until now, was used in different files using different ways, so no consistency between files. code cleanup.
-
- 02 Aug, 2014 1 commit
-
-
jean-pierre charras authored
Add comments. Fix bug #1351507 (pad color does not reflect, whether the pad is on front or back layer) and bug #1351388 (Adding a keepout area appears on the opposite layer than selected)
-
- 24 Jun, 2014 1 commit
-
-
Dick Hollenbeck authored
2) Change from legacy Cu stack to counting down from top=(F_Cu or 0). The old Cu stack required knowing the count of Cu layers to make sense of the layer number when converting to many exported file types. The new Cu stack is more commonly used, although ours still gives B_Cu a fixed number. 3) Introduce class LSET and enum LAYER_ID. 4) Change *.kicad_pcb file format version to 4 from 3. 5) Change fixed names Inner1_Cu-Inner14_Cu to In1_Cu-In30_Cu and their meanings are typically flipped. 6) Moved the #define LAYER_N_* stuff into legacy_plugin.cpp where they can die a quiet death, and switch to enum LAYER_ID symbols throughout. 7) Removed the LEGACY_PLUGIN::Save() and FootprintSave() functions. You will need to convert to the format immediately, *.kicad_pcb and *.kicad_mod (=pretty) since legacy format was never going to know about 32 Cu layers and additional technical layers and the reversed Cu stack.
-
- 20 Jun, 2014 1 commit
-
-
jean-pierre charras authored
They are now member of EDA_DRAW_FRAME. This change could fix Bug #1330781 (Background color change in Eeschema affects background color in Pcbnew) Show page limits has meaning only for the schematic editor, the board editor and the page layout editor. Draw background color selection exists only in eeschema and page layout editor. In pcbnew, only a black background is allowed. A side effect is now the user should set the background color in schematic editor, and the library editor (2 different options). The default is still the white color.
-
- 17 May, 2014 1 commit
-
-
jean-pierre charras authored
-
- 24 Apr, 2014 1 commit
-
-
jean-pierre charras authored
(for instance, when a footprint from the currently edited board is loaded in the footprint editor, and when the board is cleared or reloaded) In footprint editor, the net names are no more shown od modifiable (becuase the footprint editor does not know anything about net names. This change should allow the changes planned in pcbnew.
-
- 20 Mar, 2014 1 commit
-
-
Dick Hollenbeck authored
! The initial testing of this commit should be done using a Debug build so that all the wxASSERT()s are enabled. Also, be sure and keep enabled the USE_KIWAY_DLLs option. The tree won't likely build without it. Turning it off is senseless anyways. If you want stable code, go back to a prior version, the one tagged with "stable". * Relocate all functionality out of the wxApp derivative into more finely targeted purposes: a) DLL/DSO specific b) PROJECT specific c) EXE or process specific d) configuration file specific data e) configuration file manipulations functions. All of this functionality was blended into an extremely large wxApp derivative and that was incompatible with the desire to support multiple concurrently loaded DLL/DSO's ("KIFACE")s and multiple concurrently open projects. An amazing amount of organization come from simply sorting each bit of functionality into the proper box. * Switch to wxConfigBase from wxConfig everywhere except instantiation. * Add classes KIWAY, KIFACE, KIFACE_I, SEARCH_STACK, PGM_BASE, PGM_KICAD, PGM_SINGLE_TOP, * Remove "Return" prefix on many function names. * Remove obvious comments from CMakeLists.txt files, and from else() and endif()s. * Fix building boost for use in a DSO on linux. * Remove some of the assumptions in the CMakeLists.txt files that windows had to be the host platform when building windows binaries. * Reduce the number of wxStrings being constructed at program load time via static construction. * Pass wxConfigBase* to all SaveSettings() and LoadSettings() functions so that these functions are useful even when the wxConfigBase comes from another source, as is the case in the KICAD_MANAGER_FRAME. * Move the setting of the KIPRJMOD environment variable into class PROJECT, so that it can be moved into a project variable soon, and out of FP_LIB_TABLE. * Add the KIWAY_PLAYER which is associated with a particular PROJECT, and all its child wxFrames and wxDialogs now have a Kiway() member function which returns a KIWAY& that that window tree branch is in support of. This is like wxWindows DNA in that child windows get this member with proper value at time of construction. * Anticipate some of the needs for milestones B) and C) and make code adjustments now in an effort to reduce work in those milestones. * No testing has been done for python scripting, since milestone C) has that being largely reworked and re-thought-out.
-
- 25 Feb, 2014 2 commits
-
-
Maciej Suminski authored
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode() Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item. Fixed module editor crash when launched to edit a module from a PCB. Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
-
Maciej Suminski authored
Renamed BOARD_CONNECTED_ITEM::SetNet() -> SetNetCode() Added BOARD_CONNECTED_ITEM::GetNet() for accessing NETINFO_ITEM* of a given item. Fixed module editor crash when launched to edit a module from a PCB. Replaced some BOARD::FindNet( item->GetNet() ) calls with BOARD_CONNECTED_ITEM::GetNet().
-
- 26 Jan, 2014 1 commit
-
-
jean-pierre charras authored
Pcbnew: fix bug #1272714 . Code cleanup: use 2 different enums for pad shapes and pad drill shapes. Remove never used pad shape.
-
- 14 Jan, 2014 1 commit
-
-
Maciej Suminski authored
D_PAD::GetNetname() and D_PAD::GetShortNetname() were moved to BOARD_CONNECTED_ITEM. Now they use the net name stored in NETINFO_ITEM. Moved some one-line functions from class_board_connected_item.cpp to class_board_connected_item.h. Added a copyright notice, moved Doxygen comments from class_board_connected_item.cpp to class_board_connected_item.h. I have some doubts if changes introduced pcbnew/dialogs/dialog_pad_properties.cpp do not break anything, but I could not find a test case that breaks the pcbnew. Performed tests: - changed pad's net name from empty to existent - ok, name was changed - changed pad's net name from empty to nonexistent - ok, error message is displayed, net name stays empty - changed pad's net name from existent to empty - ok, net name became empty - changed pad's net name from existent to nonexistent - ok, error message is displayed, net name is not changed - (re)reading netlists, including net changes - fine, changes are applied, but empty nets are still kept - loaded pcbnew/pcad2kicadpcb_plugin/examples/CK1202_V1.pcb to test P-CAD import plugin - ok, net names are correct - imported an Eagle 6.0 board (Arduino Uno; http://arduino.cc/en/uploads/Main/arduino_Uno_Rev3-02-TH.zip) then saved in .kicad_pcb format and reloaded - ok, net names are correct - saved demos/video/video.kicad_pcb in legacy format and then loaded it again - ok, net names are correct
-
- 20 Oct, 2013 1 commit
-
-
jean-pierre charras authored
-
- 29 Jun, 2013 1 commit
-
-
jean-pierre charras authored
Replace in EDA_TEXT::Draw the parameter EDA_DRAW_PANEL* aPanel by EDA_RECT* aClipBox, which is the actual parameter used by Draw. This change make more easy to use this function when a EDA_DRAW_PANEL canvas is not used to draw texts. Remove dead code in worksheet.cpp.
-
- 27 Jun, 2013 1 commit
-
-
jean-pierre charras authored
-
- 05 May, 2013 1 commit
-
-
Lorenzo Marcantonio authored
The plan goes like this: - eeschema still uses int in decidegrees - all the other things internally use double in decidegrees (or radians in temporaries) - in pcbnew UI the unit is *still* int in decidegrees The idea is to have better precision everywhere while keeping the user with int i angles. Hopefully, if a fractional angle doesn't come in from the outside, everything should *look* like an integer angle (unless I forgot something and it broke) When the time comes, simply updating the UI for allowing doubles from the user should be enough to get arbitrary angles in pcbnew.
-
- 02 May, 2013 1 commit
-
-
Lorenzo Marcantonio authored
New conversion routines and sin/cos implementation for angles in decidegrees
-
- 01 May, 2013 2 commits
-
-
jean-pierre charras authored
* All items shapes are converted to polygons. * Polygons are merged layer by layer (for calculation time reasons,zones are not merged) * for copper layers, vias and pads holes are substracted from polygons (but, for calculation time reasons, not inside zones areas). * the look is better, mainly when displaying the copper thickness * solder and paste layers are now shown in 3D viewer. * the code was seriously cleaned (but still needs to be enhanced). * Note this is a work in progress which needs refinements.
-
Lorenzo Marcantonio authored
- Removed spurious int casts (these are truncated anyway and will break doubles) - Applied the Distance, GetLineLength, EuclideanNorm, DEG2RAD, RAD2DEG ArcTangente and NORMALIZE* functions where possible - ArcTangente now returns double and handles the 0,0 case like atan2, so it's no longer necessary to check for it before calling - Small functions in trigo moved as inline
-
- 10 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
Slightly retuned for compensating the new position.
-
- 09 Apr, 2013 2 commits
-
-
Lorenzo Marcantonio authored
Dynamic contrast for netname and pin numbers ('halo' text) Handle netname drawing even on diagonal tracks
-
Lorenzo Marcantonio authored
More layer classification cleanup
-
- 07 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
(when disabled they are shown as standard holes, a lot less distracting than the previous fixed yellow color)
-
- 05 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
-
- 04 Apr, 2013 1 commit
-
-
Lorenzo Marcantonio authored
In particular the new mechanism for handling extended color palettes is in place, included renaming the ini keys and saving the color name instead of its index; this means better forward compatibility with palette changes. Since ini keys are changed, colors will be reset
-
- 31 Mar, 2013 1 commit
-
-
Lorenzo Marcantonio authored
Implemented the LAYER_NUM typedef (LAYER was already taken as a class name...) to represent a layer number.
-
- 30 Mar, 2013 1 commit
-
-
Lorenzo Marcantonio authored
- Renamed ReturnMaskLayer to GetLayerMask (since it's a plain getter)
-
- 22 Sep, 2012 1 commit
-
-
jean-pierre charras authored
All: remove macros MAX, MIN, ABS from macros.h and replace these macros by std::max, std::min and std::abs (mainly found in old code).
-
- 20 Sep, 2012 1 commit
-
-
jean-pierre charras authored
dcsvg (and therefore KicadSVGFileDC) is now unused. Use SVG plotter only to export a board SVG file. SVG export does not use no more wxWidgets wxDC. In pcbnew SVG files can be created by plot menu (in B&W) or export SVG menu (B&W or Color). Export SVG menu is more suitable to create a view of a board, and plot menu is better to create a B&W document of silkscreen layers. (In the future, the 2 menus could be merged, because they are not very different). Note: pcbnew plot code is cleaned, mainly in dialog files, but still needs more cleanup.
-
- 02 Sep, 2012 2 commits
-
-
Lorenzo Marcantonio authored
-
Lorenzo Marcantonio authored
-
- 01 Sep, 2012 1 commit
-
-
Lorenzo Marcantonio authored
-
- 03 Aug, 2012 1 commit
-
-
jean-pierre charras authored
-
- 08 Jun, 2012 1 commit
-
-
jean-pierre charras authored
Minor code cleaning in autoroute files.
-
- 19 Apr, 2012 1 commit
-
-
Dick Hollenbeck authored
// This provides better project control over rounding to int from double // than wxRound() did. This scheme provides better logging in Debug builds // and it provides for compile time calculation of constants. #include <stdio.h> #include <assert.h> #include <limits.h> //-----<KiROUND KIT>------------------------------------------------------------ /** * KiROUND * rounds a floating point number to an int using * "round halfway cases away from zero". * In Debug build an assert fires if will not fit into an int. */ #if defined( DEBUG ) // DEBUG: a macro to capture line and file, then calls this inline static inline int KiRound( double v, int line, const char* filename ) { v = v < 0 ? v - 0.5 : v + 0.5; if( v > INT_MAX + 0.5 ) { printf( "%s: in file %s on line %d, val: %.16g too ' > 0 ' for int\n", __FUNCTION__, filename, line, v ); } else if( v < INT_MIN - 0.5 ) { printf( "%s: in file %s on line %d, val: %.16g too ' < 0 ' for int\n", __FUNCTION__, filename, line, v ); } return int( v ); } #define KiROUND( v ) KiRound( v, __LINE__, __FILE__ ) #else // RELEASE: a macro so compile can pre-compute constants. #define KiROUND( v ) int( (v) < 0 ? (v) - 0.5 : (v) + 0.5 ) #endif //-----</KiROUND KIT>----------------------------------------------------------- // Only a macro is compile time calculated, an inline function causes a static constructor // in a situation like this. // Therefore the Release build is best done with a MACRO not an inline function. int Computed = KiROUND( 14.3 * 8 ); int main( int argc, char** argv ) { for( double d = double(INT_MAX)-1; d < double(INT_MAX)+8; d += 2.0 ) { int i = KiROUND( d ); printf( "t: %d %.16g\n", i, d ); } return 0; }
-
- 28 Feb, 2012 1 commit
-
-
jean-pierre charras authored
Pcbnew: Hight contrast mode: commit last patch from Miguel Angel Ajo Pelayo, which also fixes an old bug. All: prepare better compatibility with wxWidgets 2.9.4. Works fine with 2.8.x (I hope...)
-
- 19 Feb, 2012 1 commit
-
-
Dick Hollenbeck authored
-