1. 10 Jan, 2014 2 commits
    • Maciej Suminski's avatar
      Changed the way of looking up NETINFO_ITEM using net names (using... · bf80cc77
      Maciej Suminski authored
      Changed the way of looking up NETINFO_ITEM using net names (using boost::unordered_map). Added a hash function (wxString) for that. Introduced NETINFO_ITEM::GetNetItem( wxString ). BOARD::FindNet() uses the map.
      Net codes are updated upon net list update. (BOARD::ReplaceNetlist())
      Added in some places (mostly class_board.cpp) pad->SetNet() calls to synchronize net codes.
      On creation of NETINFO_LIST, the first NETINFO_ITEM is added (the unconnected items net).
      Removed COMPONENT_NET::m_netNumber, as it was not used anywhere.
      Added an assert to D_PAD::GetNetname(), checking if net code and net name is consistent for unconnected pads. Added an assert for NETINFO_LIST::AppendNet() to assure that appended nets are unique.
      
      It seems that at this point:
      - Updating net lists works fine. The only difference between the file ouput is that after changes it contains empty nets as well.
      - Nets are not saved in the lexical order. Still, net names and net codes are properly assigned to all items in the .kicad_pcb file. It is going to be addressed in the next commit. I believe it should not create any problems, as pads are sorted by their net names anyway (NETINFO_LIST::buildPadsFullList())
      
      Performed tests:
      - Created a blank PCB, saved as pic_programmer.kicad_pcb (from demos folder). Updated net lists. .kicad_pcb file (comparing to the results from master branch) differ with net order (as mentioned before), net codes and timestamps.
      - Removed some of components from the above .kicad_pcb file and updated net lists. Modules reappeared. .kicad_pcb file differs in the same way as described above.
      - Trying to change a pad net name (via properties dialog) results in assert being fired. It is done on purpose (as there is a call to GetNetname() and net name and net code do not match). This will not happen after the next commit.
      - Prepared a simple project (starting with schematics). Imported net list, changed schematic, reimported net list - changes are applied.
      - Eagle & KiCad legacy boards seem to load without any problem.
      
      bf80cc77
    • Maciej Suminski's avatar
      386d1fc2
  2. 09 Jan, 2014 1 commit
    • Maciej Suminski's avatar
      Removed NETINFO_ITEM::SetNet() and NETINFO_ITEM::SetNetname() methods. · 487b609e
      Maciej Suminski authored
      NETINFO_ITEM::m_Net and NETINFO_ITEM::m_Netname are const.
      
      Changes to be verified:
      - pcbnew/minimun_spanning_tree.cpp: It segfaults is m_Size == 0
      - pcbnew/exporters/export_gencad.cpp: I removed the SetNetname() call, as it changes only the unconnected net and in the next line it returns if the net is unconnected. Still, I wonder if name for the unconnected net matters. What about tests that check if a net name is empty to decide if it is unconnected net or not.
      487b609e
  3. 08 Jan, 2014 7 commits
  4. 07 Jan, 2014 3 commits
  5. 06 Jan, 2014 2 commits
  6. 04 Jan, 2014 4 commits
  7. 03 Jan, 2014 5 commits
  8. 02 Jan, 2014 3 commits
  9. 31 Dec, 2013 9 commits
  10. 30 Dec, 2013 4 commits