1. 10 May, 2012 1 commit
  2. 09 May, 2012 1 commit
    • Dick Hollenbeck's avatar
      Fix some comments. Enhance LEGACY_PLUGIN such that it can tolerate, then fix... · 2e0941a1
      Dick Hollenbeck authored
      Fix some comments.  Enhance LEGACY_PLUGIN such that it can tolerate, then fix bad legacy footprint libraries containing duplicate footprint names.
      This may have been an undocumented bug from more than a year ago, which manifested itself in *.mod files containing duplicate names.
      LEGACY_PLUGIN loads those now quietly, but appends "_v2", "_v3", etc. to each succeeding duplicate sharing the same name.
      
      2e0941a1
  3. 08 May, 2012 1 commit
  4. 07 May, 2012 1 commit
  5. 06 May, 2012 6 commits
  6. 05 May, 2012 4 commits
  7. 04 May, 2012 3 commits
  8. 03 May, 2012 3 commits
  9. 02 May, 2012 1 commit
    • Frank Bennett's avatar
      This import directory contains tools for importing · ebcb6d3b
      Frank Bennett authored
      to Kicad from other EDA tools.
      
        edif2kicad        / EDIF to EEschema schematic import
          Tools with EDIF out writer:
             o OrCad
             o DataXpress
             o Viewlogic
             o IntuSoft ICAP
             o Protel nVisage
             o PADS ?
             o P-CAD ?
             o EDIF viewer (www.cimmetry.com)
             o EDIF translator (www.elgris.com/content/edif_overview.html)
      
        pcb123net2kicad   / converts a pcb123 netlist to Kicad default format
      ebcb6d3b
  10. 01 May, 2012 1 commit
  11. 30 Apr, 2012 1 commit
  12. 27 Apr, 2012 3 commits
  13. 26 Apr, 2012 4 commits
  14. 25 Apr, 2012 3 commits
  15. 24 Apr, 2012 2 commits
  16. 23 Apr, 2012 1 commit
  17. 22 Apr, 2012 1 commit
  18. 19 Apr, 2012 3 commits
    • Dick Hollenbeck's avatar
      todo · a9d1f478
      Dick Hollenbeck authored
      a9d1f478
    • Dick Hollenbeck's avatar
      missing include · e5947326
      Dick Hollenbeck authored
      e5947326
    • Dick Hollenbeck's avatar
      // Dick Hollenbeck's KiROUND R&D · c24863c0
      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;
      }
      c24863c0