kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #35823
More default fields in schematic
Hello!
I will open this can of worms again, I feel that I have to. So from what
I gather we have proffessionals as the main aim in Kicad.
The reason I will open this issue again is that I feel we have a
collaboration issue, maybe not a mayor one. But one nonetheless.
We really need more default fields for our schematic symbols. Im not
proposing required fields, I am *ONLY* proposing that
there should be default fields added into the default fields settings
tab. I am not proposing they need to be filled in the
libraries, nor that people need to use them. only that they need to
exist with a fresh install of kicad so that easy problems
such as theese do not happen:
- Collaborators working on the same project will not create
duplicate fields in libs/projects describing the same thing by mistake
- Projects that aim to interact or add to Kicad can assume that the
Fields will exist, and will know what name/tag to look for
(bom exporters, price checkers, MacroFab, etc)
- Open source projects will be easier to collaborate, read and order
The reason I think it is better to have the fields by default than the
current solution to add them is that the majority will use
what exists, and tools can support it from the very beginning, people
with inhouse tools seems to dislike this, since they map their
parts with an inhouse number - and then handle the information about the
part there. From what I gather, this is not the majority, and
these persons still modify the default fields settings.
I spent maybe 30-40 mins checking the "made with kicad" projects, I
found that the most common addition to libs and schematics are:
- Manufacturers part number, these were named widely different in
projects, (BOM, MP, MPN, #mfg, or different syntaxes in the Value field )
I even saw a mix of these in the same project once, along with
some people having the vendor id only.
- Manufacturer ( found some different languages though )
more uncommon things was, Tolerance( 10%, 20pps), Ratings ( 1/4W, 85C,
16V ), Vendor information and different Descriptions. They were named
and abbreviated
very differently accross projects.
What I would like to see is these additional fields by default, but
hidden from the schematic unless changed by user.
Tolerance ( used for setting tolerances of resistors, capacitors,
oscillators, etc )
MaxRating ( field were one can specify max Voltage, Ampere,
Frequency, or whatever the component needs )
Manufacturer ( For inhouse numbers, they could either just remove
it, or use the company/group name )
MPN ( Maybe PartNumber could be used here, and people who use
inhouse numbers use it aswell, I dont really care what its called, as
long as its called something )
Vendor
Notes
I would be all up for extra additions/removals, but I would prefer if
the naming is not discussed, but rather just decided/agreed upon by
someone in the lead team.
The very least I think should be added in case the previous is to much are:
Tolerance
Manufacturer
MPN
I attach a patch for the minimal set, tested on linux by removing the
.config/kicad/eeschema file.
- Kristoffer
ps
Some github files i reviewed, not all:
https://github.com/AnaviTechnology/anavi-gardening/blob/master/MCP3002-I_SN.lib
https://github.com/jonpe960/blixten/blob/master/Blixten%20LED%20Device/Blixten.sch
https://github.com/paltatech/half-bridge/blob/master/pcb%20design/IGBT_board-cache.lib
https://github.com/pluggee/KiCADLibs/blob/master/sch/cap_smd.lib
https://github.com/jim17/memtype/blob/master/schematic_pcb/electronic_design_kicad/electronic_design_kicad.sch
>From f0af6575bfa46e70168c1d3cfcafdf19dbc7b125 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristoffer=20=C3=96dmark?= <kristoffer.odmark90@xxxxxxxxx>
Date: Sun, 20 May 2018 21:59:13 +0200
Subject: [PATCH] Added minimal set of default template fields
---
eeschema/eeschema_config.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/eeschema/eeschema_config.cpp b/eeschema/eeschema_config.cpp
index 205ab2674..53b510bac 100644
--- a/eeschema/eeschema_config.cpp
+++ b/eeschema/eeschema_config.cpp
@@ -588,7 +588,10 @@ void SCH_EDIT_FRAME::LoadSettings( wxConfigBase* aCfg )
m_replaceStringHistoryList.Add( tmpHistory );
}
- wxString templateFieldNames = aCfg->Read( FieldNamesEntry, wxEmptyString );
+ // Read the template field settings, use default if no found
+ const wxString defaultTemplateFieldNames =
+ "(templatefields (field (name Tolerance)(value ~)) (field (name Manufacturer)(value ~)) (field (name MPN)(value ~)))";
+ wxString templateFieldNames = aCfg->Read( FieldNamesEntry, defaultTemplateFieldNames );
if( !templateFieldNames.IsEmpty() )
{
--
2.17.0
Follow ups