1. 04 Oct, 2013 1 commit
  2. 06 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Closes bug 1176915 · 84305082
      Lorenzo Marcantonio authored
      Mass parameters in gerbers can't use scientific notation (altough some software 
      allow it), so the %g format was not correct.
      84305082
  3. 05 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Migrated the interfaces accepting angles to the double type · d00c83cd
      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.
      d00c83cd
  4. 02 May, 2013 1 commit
  5. 01 May, 2013 1 commit
    • Lorenzo Marcantonio's avatar
      Angle and distances cleanup (preparing for angles in doubles) · 0e903dba
      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
      0e903dba
  6. 13 Oct, 2012 1 commit
  7. 29 Aug, 2012 2 commits
  8. 18 Jul, 2012 1 commit
  9. 15 Jul, 2012 1 commit
  10. 03 May, 2012 1 commit
  11. 19 Apr, 2012 1 commit
    • 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
  12. 23 Jan, 2012 1 commit
  13. 03 Jan, 2012 1 commit
  14. 08 Nov, 2011 1 commit
    • Wayne Stambaugh's avatar
      Minor fixes, dead code removal, and coding policy fixes. · cd0b2316
      Wayne Stambaugh authored
      * Use version of DateAndTime that returns a wxString and delete the
        version that takes a char* as it is no longer required.
      * Merge StrNumICmp() and StrLenNumICmp() into StrLenNumCmp() to create a
        single function for comparing strings with integers and remove a lot
        of duplicate code.
      * Remove unused strupper from string.cpp.
      * Use wxArrayString for sorting the EDA_LIST_DIALOG contents.
      cd0b2316
  15. 20 Sep, 2011 1 commit
    • Wayne Stambaugh's avatar
      Remove sine and cosine look up tables and other minor fixes. · 4230ac4c
      Wayne Stambaugh authored
      * Remove sine and cosine look up tables from trigo.cpp and replace them with
        sin() and cos() math functions.
      * Large include file clean up to prevent header ordering dependency build
        failures.
      * Translate French code names and comments.
      * Lots of coding style policy and doxygen comment fixes.
      4230ac4c
  16. 31 Aug, 2011 1 commit
  17. 07 Jun, 2011 1 commit
    • Wayne Stambaugh's avatar
      EESchema bug fixes and other minor changes (fixes lp:793373). · baa0d792
      Wayne Stambaugh authored
      * Fix debug build warning (lp:793373).
      * Changed sheet edit restore and undo to use object copy and replace method.
      * Add minimum width and height constraints when resizing sheets that have
        hierarchical pins.
      * Fix drag sheet hot key bug.
      * Change Doxygen configuration to extract private methods and members
        when creating documentation.
      * Fix a bunch of Doxygen comment warnings.
      baa0d792
  18. 06 Jun, 2011 1 commit
  19. 20 Apr, 2011 1 commit
  20. 28 Feb, 2011 1 commit
  21. 29 Dec, 2010 1 commit
  22. 14 Dec, 2010 1 commit
  23. 11 Dec, 2010 1 commit
  24. 06 Dec, 2010 1 commit
    • Marco Mattila's avatar
      Board manufacturers typically do not print silkscreen on areas without · 9dc9cc1f
      Marco Mattila authored
      soldermask. Nevertheless, it would be nice to have proper gerbers to
      begin with, i.e., gerbers with no silkscreen in soldermaskless areas.
      Of course, most of the problem can be taken care of by drawing the
      footprints properly. However, sometimes the silkscreen of one
      footprint ends up on the pads of another one (think components under a
      so-dimm card, for example). The attached patch adds an option to
      subtract the soldermask from the silkscreen when doing gerber output.
      
      marco
      9dc9cc1f
  25. 12 Nov, 2010 1 commit
  26. 12 Oct, 2010 1 commit
  27. 13 Sep, 2010 1 commit
  28. 31 Mar, 2010 1 commit
    • charras's avatar
      ++Pcbnew · 5f5620a1
      charras authored
      Pcbnew: Fixed an issue in GERBER file creation, under Vista and W7 only for non administrator users
      Plot files were 0 byte length.
      This was due to use of function tmpfile() in a GERBER function to create a temporary file that seems not working using mingw.
      Replaced by more usual files functions.
      5f5620a1
  29. 05 Jan, 2010 1 commit
  30. 23 Nov, 2009 1 commit
  31. 26 Oct, 2009 1 commit
  32. 29 Aug, 2009 1 commit
  33. 28 Jun, 2009 2 commits
  34. 04 Feb, 2009 1 commit
  35. 23 Dec, 2008 1 commit