From d72247b46519609fb0b373d34bcc5d5939d7b9c3 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 17 Jul 2018 00:42:19 +0200 Subject: wip --- NOTES.md | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 NOTES.md (limited to 'NOTES.md') 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. -- cgit v1.2.3