aboutsummaryrefslogtreecommitdiff
path: root/NOTES.md
diff options
context:
space:
mode:
Diffstat (limited to 'NOTES.md')
-rw-r--r--NOTES.md97
1 files changed, 97 insertions, 0 deletions
diff --git a/NOTES.md b/NOTES.md
new file mode 100644
index 0000000..b547d89
--- /dev/null
+++ b/NOTES.md
@@ -0,0 +1,97 @@
+# Definitions
+
+dataset:
+* set of objects
+*
+* Can be hand crafted or generated by a task
+* Can be either a CSV file or ini file
+
+delta: the change from one version of an object to another.
+the object needs a key
+
+database: collection of objects
+
+object: instance of a type. string key-values with a type
+
+# Tasks
+
+task: kicad-sch-to-dataset
+ input:
+ $sch
+ output:
+ data-set:
+ * name: kicad-sch
+ * types:
+ * kicad-schematic-component
+ * kicad-sheet
+ * kicad-design
+
+task: kicad-pcb-to-dataset
+ input:
+ $pcb
+ output:
+ data-set:
+ * name: kicad-pcb
+ * types:
+ * kicad-pcb-component
+ file:
+ gerber
+
+task: kicad-create-component-data-set
+ input:
+ * data-set:
+ * name: kicad-pcb
+ * data-set:
+ * name: kicad-sch
+ * uses types:
+ * kicad-schematic-component
+ * kicad-pcb-component
+ output:
+ data-set:
+ type: component
+
+task: validate-component
+ input:
+ type: component
+ output:
+ data-set:
+ type: component
+
+task: create-bom
+ input:
+ type: component
+ output:
+ data-set: (CSV)
+ type: bom-component
+
+## Customizations
+
+Case: your 'value' field is (usually) on the form 'Capacity/Max voltage/Tolerance' and you want to split this out into separate fields.
+
+Standard setup:
+
+ * task: create-kicad-sch-objects
+ * inputs: none
+ * outputs: dataset:create-kicad-sch-objects
+ * task: create-kicad-sch-objects
+ * inputs: none
+ * outputs: dataset:create-kicad-sch-objects
+
+# Hand crafted datasets
+
+CSV files unless specified.
+
+* kicad-footprint-mapping: mappings from a footprint
+* value-to-mpn: mapping from value to MPN, for components not found at
+ seller
+* digikey-footprint-mapping: mappings from digikey's footprint names
+ to normalized form
+
+# Directory structure
+
+ $dataset-base-dir/$data-set/
+ data-set.ini
+ $object-type/
+ $key.ini
+
+For tasks $data-set = $task-name.