[{"data":1,"prerenderedAt":454},["ShallowReactive",2],{"navigation":3,"\u002Fstation-runtime\u002Fmultiple-lanes":99,"\u002Fstation-runtime\u002Fmultiple-lanes-surround":449},[4,16,28,55,82],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Get started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,11],{"title":5,"path":6,"stem":7,"icon":10},"i-lucide-rocket",{"title":12,"path":13,"stem":14,"icon":15},"Your first station run","\u002Fgetting-started\u002Ffirst-run","1.getting-started\u002F2.first-run","i-lucide-play",{"title":17,"path":18,"stem":19,"children":20,"icon":22},"Core concepts","\u002Fcore-concepts","2.core-concepts\u002F1.index",[21,23],{"title":17,"path":18,"stem":19,"icon":22},"i-lucide-boxes",{"title":24,"path":25,"stem":26,"icon":27},"Projects and access","\u002Fcore-concepts\u002Fprojects-and-access","2.core-concepts\u002F2.projects-and-access","i-lucide-users",{"title":29,"path":30,"stem":31,"children":32,"icon":34},"Station runtime","\u002Fstation-runtime","3.station-runtime\u002F1.index",[33,35,40,45,50],{"title":29,"path":30,"stem":31,"icon":34},"i-lucide-circuit-board",{"title":36,"path":37,"stem":38,"icon":39},"Configure a station","\u002Fstation-runtime\u002Fconfiguration","3.station-runtime\u002F2.configuration","i-lucide-file-code-2",{"title":41,"path":42,"stem":43,"icon":44},"Custom stages","\u002Fstation-runtime\u002Fcustom-stages","3.station-runtime\u002F3.custom-stages","i-lucide-puzzle",{"title":46,"path":47,"stem":48,"icon":49},"Credentials and secrets","\u002Fstation-runtime\u002Fcredentials-and-secrets","3.station-runtime\u002F4.credentials-and-secrets","i-lucide-key-round",{"title":51,"path":52,"stem":53,"icon":54},"Multiple lanes","\u002Fstation-runtime\u002Fmultiple-lanes","3.station-runtime\u002F5.multiple-lanes","i-lucide-git-branch",{"title":56,"path":57,"stem":58,"children":59,"icon":61},"Production workflows","\u002Fproduction-workflows","4.production-workflows\u002F1.index",[60,62,67,72,77],{"title":56,"path":57,"stem":58,"icon":61},"i-lucide-factory",{"title":63,"path":64,"stem":65,"icon":66},"Applications and firmware","\u002Fproduction-workflows\u002Ffirmware-images","4.production-workflows\u002F2.firmware-images","i-lucide-cpu",{"title":68,"path":69,"stem":70,"icon":71},"DUT records and IDs","\u002Fproduction-workflows\u002Fdut-records-and-ids","4.production-workflows\u002F3.dut-records-and-ids","i-lucide-scan-barcode",{"title":73,"path":74,"stem":75,"icon":76},"Results and logs","\u002Fproduction-workflows\u002Fresults-and-logs","4.production-workflows\u002F4.results-and-logs","i-lucide-chart-no-axes-combined",{"title":78,"path":79,"stem":80,"icon":81},"Operator kiosk","\u002Fproduction-workflows\u002Foperator-kiosk","4.production-workflows\u002F5.operator-kiosk","i-lucide-monitor",{"title":83,"path":84,"stem":85,"children":86,"icon":88},"Reference","\u002Freference","5.reference\u002F1.index",[87,89,94],{"title":83,"path":84,"stem":85,"icon":88},"i-lucide-book-open",{"title":90,"path":91,"stem":92,"icon":93},"API access","\u002Freference\u002Fapi-access","5.reference\u002F2.api-access","i-lucide-braces",{"title":95,"path":96,"stem":97,"icon":98},"Troubleshooting","\u002Freference\u002Ftroubleshooting","5.reference\u002F3.troubleshooting","i-lucide-life-buoy",{"id":100,"title":51,"body":101,"description":442,"extension":443,"links":444,"meta":445,"navigation":446,"path":52,"seo":447,"stem":53,"__hash__":448},"docs\u002F3.station-runtime\u002F5.multiple-lanes.md",{"type":102,"value":103,"toc":440},"minimark",[104,108,111,357,360,433,436],[105,106,107],"p",{},"A station can define multiple lanes when a jig has more than one programmer. Each lane has a named programmer and its own stage plan. HTF can show progress for each lane while keeping the work attached to the same DUT run.",[105,109,110],{},"The station repository's two simulated programmer sample uses this shape:",[112,113,118],"pre",{"className":114,"code":115,"language":116,"meta":117,"style":117},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","programmers:\n  - name: ble_programmer\n    kind: simulated\n  - name: cellular_programmer\n    kind: simulated\n\nlanes:\n  - name: ble\n    programmer: ble_programmer\n  - name: cellular\n    programmer: cellular_programmer\n\nplans:\n  - lane: ble\n    stages:\n      - name: Flash BLE application\n        kind: simulated_programmer\n        message: flashing BLE application\n  - lane: cellular\n    stages:\n      - name: Flash modem firmware\n        kind: simulated_programmer\n        message: flashing modem firmware\n","yaml","",[119,120,121,134,150,161,173,182,189,197,209,219,231,240,245,253,265,273,286,297,308,319,326,338,347],"code",{"__ignoreMap":117},[122,123,126,130],"span",{"class":124,"line":125},"line",1,[122,127,129],{"class":128},"swJcz","programmers",[122,131,133],{"class":132},"sMK4o",":\n",[122,135,137,140,143,146],{"class":124,"line":136},2,[122,138,139],{"class":132},"  -",[122,141,142],{"class":128}," name",[122,144,145],{"class":132},":",[122,147,149],{"class":148},"sfazB"," ble_programmer\n",[122,151,153,156,158],{"class":124,"line":152},3,[122,154,155],{"class":128},"    kind",[122,157,145],{"class":132},[122,159,160],{"class":148}," simulated\n",[122,162,164,166,168,170],{"class":124,"line":163},4,[122,165,139],{"class":132},[122,167,142],{"class":128},[122,169,145],{"class":132},[122,171,172],{"class":148}," cellular_programmer\n",[122,174,176,178,180],{"class":124,"line":175},5,[122,177,155],{"class":128},[122,179,145],{"class":132},[122,181,160],{"class":148},[122,183,185],{"class":124,"line":184},6,[122,186,188],{"emptyLinePlaceholder":187},true,"\n",[122,190,192,195],{"class":124,"line":191},7,[122,193,194],{"class":128},"lanes",[122,196,133],{"class":132},[122,198,200,202,204,206],{"class":124,"line":199},8,[122,201,139],{"class":132},[122,203,142],{"class":128},[122,205,145],{"class":132},[122,207,208],{"class":148}," ble\n",[122,210,212,215,217],{"class":124,"line":211},9,[122,213,214],{"class":128},"    programmer",[122,216,145],{"class":132},[122,218,149],{"class":148},[122,220,222,224,226,228],{"class":124,"line":221},10,[122,223,139],{"class":132},[122,225,142],{"class":128},[122,227,145],{"class":132},[122,229,230],{"class":148}," cellular\n",[122,232,234,236,238],{"class":124,"line":233},11,[122,235,214],{"class":128},[122,237,145],{"class":132},[122,239,172],{"class":148},[122,241,243],{"class":124,"line":242},12,[122,244,188],{"emptyLinePlaceholder":187},[122,246,248,251],{"class":124,"line":247},13,[122,249,250],{"class":128},"plans",[122,252,133],{"class":132},[122,254,256,258,261,263],{"class":124,"line":255},14,[122,257,139],{"class":132},[122,259,260],{"class":128}," lane",[122,262,145],{"class":132},[122,264,208],{"class":148},[122,266,268,271],{"class":124,"line":267},15,[122,269,270],{"class":128},"    stages",[122,272,133],{"class":132},[122,274,276,279,281,283],{"class":124,"line":275},16,[122,277,278],{"class":132},"      -",[122,280,142],{"class":128},[122,282,145],{"class":132},[122,284,285],{"class":148}," Flash BLE application\n",[122,287,289,292,294],{"class":124,"line":288},17,[122,290,291],{"class":128},"        kind",[122,293,145],{"class":132},[122,295,296],{"class":148}," simulated_programmer\n",[122,298,300,303,305],{"class":124,"line":299},18,[122,301,302],{"class":128},"        message",[122,304,145],{"class":132},[122,306,307],{"class":148}," flashing BLE application\n",[122,309,311,313,315,317],{"class":124,"line":310},19,[122,312,139],{"class":132},[122,314,260],{"class":128},[122,316,145],{"class":132},[122,318,230],{"class":148},[122,320,322,324],{"class":124,"line":321},20,[122,323,270],{"class":128},[122,325,133],{"class":132},[122,327,329,331,333,335],{"class":124,"line":328},21,[122,330,278],{"class":132},[122,332,142],{"class":128},[122,334,145],{"class":132},[122,336,337],{"class":148}," Flash modem firmware\n",[122,339,341,343,345],{"class":124,"line":340},22,[122,342,291],{"class":128},[122,344,145],{"class":132},[122,346,296],{"class":148},[122,348,350,352,354],{"class":124,"line":349},23,[122,351,302],{"class":128},[122,353,145],{"class":132},[122,355,356],{"class":148}," flashing modem firmware\n",[105,358,359],{},"Each lane must use a different programmer. Where one action depends on another lane, declare the prerequisite on the dependent stage:",[112,361,363],{"className":114,"code":362,"language":116,"meta":117,"style":117},"- name: Flash validation firmware\n  kind: simulated_programmer\n  message: flashing validation firmware\n  after:\n    - lane: ble\n      stage: Flash BLE application\n      outcome: passed\n",[119,364,365,377,386,396,403,414,423],{"__ignoreMap":117},[122,366,367,370,372,374],{"class":124,"line":125},[122,368,369],{"class":132},"-",[122,371,142],{"class":128},[122,373,145],{"class":132},[122,375,376],{"class":148}," Flash validation firmware\n",[122,378,379,382,384],{"class":124,"line":136},[122,380,381],{"class":128},"  kind",[122,383,145],{"class":132},[122,385,296],{"class":148},[122,387,388,391,393],{"class":124,"line":152},[122,389,390],{"class":128},"  message",[122,392,145],{"class":132},[122,394,395],{"class":148}," flashing validation firmware\n",[122,397,398,401],{"class":124,"line":163},[122,399,400],{"class":128},"  after",[122,402,133],{"class":132},[122,404,405,408,410,412],{"class":124,"line":175},[122,406,407],{"class":132},"    -",[122,409,260],{"class":128},[122,411,145],{"class":132},[122,413,208],{"class":148},[122,415,416,419,421],{"class":124,"line":184},[122,417,418],{"class":128},"      stage",[122,420,145],{"class":132},[122,422,285],{"class":148},[122,424,425,428,430],{"class":124,"line":191},[122,426,427],{"class":128},"      outcome",[122,429,145],{"class":132},[122,431,432],{"class":148}," passed\n",[105,434,435],{},"The dependent stage waits for the named BLE stage to pass. Test the complete plan with simulated programmers before connecting real hardware, especially where stages share power, serial ports, or a DUT state.",[437,438,439],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":117,"searchDepth":125,"depth":136,"links":441},[],"Run independent programmers on one jig and coordinate shared DUT steps.","md",null,{},{"icon":54},{"title":51,"description":442},"1PupfQzl-cb7mK1NcoLfuNj8BVyjuZ26Yqd9vtyem6M",[450,452],{"title":46,"path":47,"stem":48,"description":451,"icon":49,"children":-1},"Provision each station independently and handle sensitive values safely.",{"title":56,"path":57,"stem":58,"description":453,"icon":61,"children":-1},"Keep firmware, device IDs, operators, and results connected.",1790376318214]