I cannot get the Pcbnew to update a footprint using the right click option “renew footpring”
I was using a SOT-23 footprint meant for reflow soldering and realized I needed the hand soldering footprint. I followed the below steps to show the issue and could repeat the issue
open schematic, run CvPCB
change the footprint to the hand soldered version
In CvPCB pressed “Apply, Save Schematic & Continue”
then closed CvPCB
in schematic I generated a new net list
Open Pcbnew
6) Selected the SOT device (in this case Q1)
7) Right click and applied “update footprint”
Result was no change in the footprint.
7a) I tried all 3 options in the update footprint menu except “update all Footprints”
8) I deleted the Q1 footprint
9) applied “Read Netlist”
10) the footprint was updated.
Do I misunderstand the update footprint function?
Thanks
John
The reports showed:
The Update footprint report:
Change footprint “Q1” (from “Package_TO_SOT_SMD:SOT-23”) to “Package_TO_SOT_SMD:SOT-23”: OK
I think yes. It’s meant for cases when you edit the original footprint from the library, save it and want to get those changes to the board. Each footprint, when put into a board, are actually copied into the board file and the changes in the library aren’t automatically reflected in the board.
To change the footprint in the schematic and the board you have to re-read the netlist in the board editor after you have re-created the netlist. Be sure to tick the “Exchange footprint -> Change” option when you re-read the netlist.
It opens a dialog anyways, maybe that could be more informative. I wouldn’t make menu items more verbose if there’s an alternative. The dialog could say e.g.
Update footprint(s) from their libraries:
O current footprint
O footprints with matching value
O footprints with identifier
(The word “update” in radio buttons is redundant and should be eliminated if possible.)
And it would be great if the output message would tell if any changes were actually made, i.e. if there were differences between the original and the current versions of the library footprint. Sometimes I have edited a wrong library footprint and wondered what went wrong even though I updated the footprint.
A minor thing which I now notice: it uses the “changed” message which isn’t very nice. Technically it may be the same thing as changing a footprint in implementation but it’s not nice for the end user.
These are the same, while you presumably wanted a footprint with the “_Handsoldering” suffix.
But also:
You also have "9) applied “Read Netlist”, as one of the last steps ???
Footprints are updated from the netlist info, so updating a footprint from the old netlist does not change much.
I now see the logic behind “update from library”. Literally it is correct. I believe an additional note in the pop-up menu would clear up any confusion. Or perhaps a “Help” button from the pop-up menu.
BTW you folks have done an awesome job! Many many kudos. I started with V4.0.7 about a month ago and after finding the OPENGL canvas which I liked much more than the legacy. But is seemed clunky so I moved to V5. Now I’m addicted to the nightly’s.
Like you, I don’t think it always worked this way. This way seems better though, but it can trip-up some users I think.
Version 5.0.0-rc2 also has “Update PCB From Schematic” under the “Tools” menu. It seemed to me to be a little bit smarter about changes than the old “Read Netlist” way of doing things (standard warning about using Nightlies applies).
Update Footprint in 5.0 is sort of new. The old Exchange Footprints feature was split into two: Change Footprint which assumes the new footprint is different from the old one, and Update Footprint from Library which pegs the new footprint to the old footprint ID.