edakit documentation

edakit rule catalog

Every rule edakit checks – engine, code, severity, rule, why, what to do and its sources –, the domains that switch rules on, the tables of numbers, the parts schema, the reference circuits with their seeded faults, published open designs with every finding judged, and what became of the maker-coverage candidates. Generated from edakit/catalog, edakit/domains, tests/reference.py and tests/open_designs/.

14Engines
129Codes
140Grades
32Hints
9Domains
300Sources cited
8Reference circuits
10Open designs

Engines

Each engine decides one kind of relation; a finding's code is ENGINE.relation. Severities are the catalog's defaults – a project's domains may set others; a grade is a sub-case with its own severity, a topic the part of a code a domain switches on.

On the circuit

On the board and the order

Codes

Folded by engine; the filter opens what it finds.

STRUCT – the graph is well-formed and names what exists · 12
STRUCT.namenames uniqueerror
STRUCT.pinevery pin in one net or ncerror
STRUCT.netnets well-formederror
STRUCT.boardevery part on a boarderror
STRUCT.refsettings name what existserror
STRUCT.purposepurpose statederror
STRUCT.lockpins where the firmware expects themerror
STRUCT.domainsuggested domains onnote
STRUCT.edakitthe edakit the project needsnote
STRUCT.entrygraph pins = parts entryerror
STRUCT.identitygraph and entry name the same parterror
STRUCT.prefixdesignator prefix fits the kindwarning
SYNC – every artifact equals the graph and the plan · 10
SYNC.schematicschematic = grapherror
SYNC.pcbPCB = grapherror
SYNC.footprintfootprint = its sourceerror
SYNC.planboard = placement planerror
SYNC.bomBOM = grapherror
SYNC.cplpick and place = PCBerror
SYNC.odbODB++ = the released fileserror
SYNC.sourceown part = its sourceerror
SYNC.scriptsproject scripts currenterror
SYNC.agentsproject agents completeerror
LIM – every quantity within its limit · 10
LIM.vvoltage within its limiterror
LIM.hazardoushazardous voltage recognised, not checkederror
LIM.icurrent within its limiterror
LIM.ppower within its limiterror
LIM.ttemperature within its limiterror
LIM.rangesupplied inside the operating rangeerror
LIM.declarednet inside its declared rangeerror
LIM.backfeedno supply fed backwardserror
LIM.eirpradio power within the band's limitnote
LIM.bandtransmitter in the EU bandserror
LVL – every input defined in every state, no two drivers fight · 5
LVL.undefinedinput defined while the firmware is not runningerror
LVL.contentionone driver per neterror
LVL.bootstrapping pins at their level at reseterror
LVL.thresholdlogic levels reach the thresholdserror
LVL.directionoutputs only on pins that driveerror
REQ – what a part requires on its pins is present and in range · 4
REQ.missingwhat a part requires is thereerror
REQ.valuewhat a part requires is in rangeerror
REQ.forbiddenwhat must stay apart is aparterror
REQ.functionpin functionserror
PATH – what a reversed, unfed or misplaced supply reaches · 3
PATH.reversereverse polarity blockederror
PATH.unfedevery supply pin reached by a supplyerror
PATH.groundground pins on grounderror
SIM – the scenarios run, are complete and reach the states they expect · 6
SIM.configsimulation config readableerror
SIM.convergeevery scenario convergeserror
SIM.statethe circuit does what the scenario expectserror
SIM.driverevery LED has a known drivererror
SIM.responsefrequency response as expectedwarning
SIM.coppercopper annotatednote
GEO – copper, holes, print, widths and distances on plan and Gerber files · 13
GEO.coppercopper from the Gerber fileserror
GEO.drcDRCerror
GEO.widthtrack widtherror
GEO.loopshort current loopserror
GEO.markpolarity markserror
GEO.formedformed leads fit one wayerror
GEO.pourcopper per sidewarning
GEO.spacingpads and holes keep their distanceerror
GEO.underno track between the pads of a small chip partnote
GEO.ringannular ringerror
GEO.keepoutkeep-out areas free of copperwarning
GEO.holehole fits the leaderror
GEO.silksilkscreen as printederror
PERF – the plan of a hand-wired board on a perfboard makes the graph's nets and can be built · 7
PERF.netperfboard plan = grapherror
PERF.placeevery part in its holeserror
PERF.gridleads on the griderror
PERF.bodybodies apart, spans long enougherror
PERF.mountmounting holes freeerror
PERF.wirebridges straight, wires into free holeserror
PERF.currentcopper carries the currenterror
FILES – manufacturing files and sheets complete and consistent · 4
FILES.sheetpolarity sheeterror
FILES.manifestfiles of one runerror
FILES.setGerber seterror
FILES.orderorder settings = boarderror
PARTS – parts entries complete, well-formed, verified, orderable · 7
PARTS.verifiedparts signedpending
PARTS.stockparts orderableerror
PARTS.suppliersupplier per partwarning
PARTS.factrequired facts givennote
PARTS.schemaparts entries well-formederror
PARTS.librarycopy of the parts library currentnote
PARTS.footprintfootprint data completeerror
ORDER – the order at the maker is the release: form, parts, quote, read, files, finish, review, confirm; the supplier's cart is the basket · 9
ORDER.formform = joberror
ORDER.partsparts = releaseerror
ORDER.quotequote against the estimatewarning
ORDER.readread, not made uperror
ORDER.filesthe same fileserror
ORDER.finishlead in the finisherror
ORDER.reviewregulatory review of this ordererror
ORDER.confirmthe maker's confirmations as released and as the sheeterror
ORDER.basketthe supplier's cart = the basketerror
DOCS – documents and requirements quote the design · 7
DOCS.quotedocuments quote the design dataerror
DOCS.filerequirements file namedpending
DOCS.refrequirement references resolveerror
DOCS.needaccepted need has a requirementerror
DOCS.evidencerequirement has evidenceerror
DOCS.draftdraft not approvedwarning
DOCS.derivedrequirement names who stated itwarning
HINT – patterns that need judgement, as notes · 32
HINT.datasheetnotes of the parts entriesnote
HINT.bulkbulk capacitor at the power inputnote
HINT.gateMOSFET gate resistornote
HINT.debouncedebounce buttons and switchesnote
HINT.inductiveinductive load off the boardnote
HINT.switcherswitching regulator layoutnote
HINT.lithiumlithium cells need protectionnote
HINT.esdESD at external connectorsnote
HINT.two_suppliestwo supplies on one netnote
HINT.readbackread-back of a serial outputnote
HINT.motor_supplymotor supply: bulk capacitor and returned energynote
HINT.heatera heater needs a second interruptionnote
HINT.audio_groundaudio: ground loops and shared returnsnote
HINT.class_dfilterless class-D output on a cablenote
HINT.audio_switchingswitching in the audio bandnote
HINT.signal_ceramicclass-2 ceramic in a signal pathnote
HINT.jack_batterybattery switched by the input jacknote
HINT.pedal_supplya pedal's supply among othersnote
HINT.string_groundthe player on the amplifier's groundnote
HINT.jack_supplya supply on a jack contactnote
HINT.relay_loadrelay contacts switching a load off the boardnote
HINT.flickerLED flicker from PWMnote
HINT.boost_enablea boost converter switched off by its enablenote
HINT.usb_budgetthe current a USB port givesnote
HINT.usb_inrushmore than 10 µF on USB VBUSnote
HINT.power_patha load on the charging cellnote
HINT.charge_terminationa charger's end of charge is not simulatednote
HINT.protection_timinga cell protection's release and delays are not simulatednote
HINT.pd_negotiationa USB PD sink's negotiation is not simulatednote
HINT.input_polaritya power input without a polarity checknote
HINT.thermal_copperthermal resistance needs its coppernote
HINT.cable_linea signal line on a cablenote

The rest of the catalog

Domains

Tables

Parts schema – what a parts entry of each kind may give.

Reference circuits

Published open designs

maker-coverage candidates – what became of them; check IDs of before – the codes that replace them.