Skip to content

Update handling of footprint types and extend/adjust F6.1 and F7.1 tests

This changed in the KiCad formats:

  • Previously neither 'THT' or 'SMD' attribute meant 'THT', now it means 'Unspecified'.
  • Previously 'Virtual' was an attribute, but now it's decomposed into exclude_from_pos_files and exclude_from_bom.

Store the fooptrint type in a field named a little more sensibly, and provide an 'is_virtual' accessor.

Also the Fail__F7.1__Virtual-with-THT-Pins test file was wrong, as it didn't have the exclude_from_pos_files or exclude_from_bom attributes set, so it wasn't virtual, just 'unspecified'. Due to the old defaulting in the parser, this was overlooked.


Then update F6.1 and F7.1 to find other mistakes and be more selective on warnings (especially - the presence of the paste layer is a better heuristic than just surface pads, as some surface pads are not for soldered components).

This resolves some false positives raised by footprints like kicad-footprints!3337 that aren't soldered down.


Suggest not to squash as the commits are separate and have more detailed messages.

Merge request reports