Instance Status¶
instance-status and do-not-populate are statements used to modify the on-board and BOM statuses of components.
Signature¶
instance-status(<INST>):
bom-status = <ComponentBOMStatus>
board-status = <ComponentBoardStatus>
do-not-populate(<INST>)
A ComponentBOMStatus is an enum of:
* InBOM
* NotInBOM
* MarkedDNP
* InBOMVariant
A ComponentBoardStatus is an enum of:
* OnBoard
* NotOnBoard
* InBoardVariant
In this context <INST> is a ref to a instantiated component or module in this module's context.
Syntax¶
pcb-module my-module:
inst fuse : components/manu/broken-fuse
inst jumper-a : components/manu/normal-jumper
inst jumper-b : components/manu/normal-jumper
inst jumper-c : components/manu/normal-jumper
inst dnp-me : components/manu/normal-jumper
instance-status(fuse) :
bom-status = NotInBOM
instance-status(jumper-a) :
board-status = NotOnBoard
instance-status(jumper-b) :
bom-status = MarkedDNP
board-status = OnBoard
do-not-populate(dnp-me)
Description¶
instance-status(instance-name) : Tells which component inst is affected by the sub-statement(s) below.
Possible sub-statements:
* bom-status = InBOM|NotInBOM|MarkedDNP|InBOMVariant. InBOM is the default when bom-status is missing.
* board-status = OnBoard|NotOnBoard|InBoardVariant. OnBoardBOM is the default when board-status is missing.
do-not-populate(instance-name) Mark a component instance as a DNP component. This is equivalent to bom-status = MarkedDNP using instance-status(instance-name).
do-not-populate always supersedes instance-status no matter where they are in the code.
In this example,
fuse is [NotInBOM, OnBoard]
jumper-a is [InBOM NotOnBoard], jumper-b is [MarkedDNP OnBoard], and jumper-c is [InBOM OnBoard].
dnp-me is [MarkedDNP OnBoard]
Related JITx Commands¶
There are 2 commands to query the component status of a component instance.
do-not-populate?(instance-name) and instance-status?(instance-name)
do-not-populate?(instance-name) will return True|False.
instance-status?(instance-name) will return a Tuple of ComponentBOMStatus and ComponentBoardStatus.
for example, [InBOM NotOnBoard]