Archived
deploy webservice static-file routing for docsite folder URLs, per-instance step-cache db, and constant-height panel title bars.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class SpindleSpeedSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Consumes S (spindle speed) and M03/M04/M05 (spindle direction) from . Both are modal — persist across blocks via backward node lookback. Writes resolved state to a section. Direction is converted from ISO M-codes to the conventional enum at this layer.">
|
||||
<meta name="description" content="Consumes S (spindle speed) and spindle direction M-codes from . Both are modal — persist across blocks via backward node lookback. Writes resolved state to a section. Direction is converted from M-codes to the conventional enum at this layer. Direction M-codes: the ISO defaults M03 (CW) / M04 (CCW) / M05 (STOP) always apply; a machine that starts/stops its spindle with custom M-codes (e.g., ultrasonic M203/M205) declares them on an dependency (), which this syntax consults first — mapped flags are consumed like the ISO ones. Fallback: an S &gt; 0 with no direction ever issued is contradictory (physics would silently never run). The build assumes CW and emits a one-shot SpindleDirection--AssumedCw validation warning — once is structural, not stateful: the stamped CW propagates modally, so later blocks no longer lack a direction. An explicit M05 (STOP) is a real direction and never triggers the fallback.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -97,12 +97,28 @@ Class SpindleSpeedSyntax
|
||||
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
|
||||
</div>
|
||||
|
||||
<div class="markdown summary"><p>Consumes S (spindle speed) and M03/M04/M05 (spindle direction)
|
||||
<div class="markdown summary"><p>Consumes S (spindle speed) and spindle direction M-codes
|
||||
from <a class="xref" href="Hi.NcParsers.Keywords.IParsingDef.html#Hi_NcParsers_Keywords_IParsingDef_Parsing">Parsing</a>.
|
||||
Both are modal — persist across blocks via backward node lookback.
|
||||
Writes resolved state to a <a class="xref" href="Hi.NcParsers.Keywords.ISpindleSpeedDef.html">ISpindleSpeedDef</a> section.
|
||||
Direction is converted from ISO M-codes to the conventional
|
||||
Direction is converted from M-codes to the conventional
|
||||
<a class="xref" href="Hi.Numerical.SpindleDirection.html">SpindleDirection</a> enum at this layer.</p>
|
||||
<p>
|
||||
Direction M-codes: the ISO defaults M03 (CW) / M04 (CCW) / M05 (STOP)
|
||||
always apply; a machine that starts/stops its spindle with custom
|
||||
M-codes (e.g., ultrasonic <code>M203</code>/<code>M205</code>) declares them on an
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a> dependency
|
||||
(<a class="xref" href="Hi.NcParsers.Dependencys.ControllerParameterTableBase.html">ControllerParameterTableBase</a>), which this
|
||||
syntax consults first — mapped flags are consumed like the ISO ones.
|
||||
</p>
|
||||
<p>
|
||||
Fallback: an S > 0 with no direction ever issued is contradictory
|
||||
(physics would silently never run). The build assumes CW and emits a
|
||||
one-shot <code>SpindleDirection--AssumedCw</code> validation warning — once is
|
||||
structural, not stateful: the stamped CW propagates modally, so later
|
||||
blocks no longer lack a direction. An explicit M05 (STOP) is a real
|
||||
direction and never triggers the fallback.
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
@@ -208,6 +224,24 @@ bidirectional round-tripping; downstream consumers gate on
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M05"] } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "SpindleSpeed": { "SpindleSpeed_rpm": 1500, "Direction": "STOP" } }</code></pre>
|
||||
<p>Custom direction M-code (test hardcodes an
|
||||
<a class="xref" href="Hi.NcParsers.Dependencys.ISpindleControlConfig.html">ISpindleControlConfig</a> dependency mapping M203 → CW) —
|
||||
the mapped flag is consumed exactly like an ISO one:
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M203"], "S": 1670 } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "SpindleSpeed": { "SpindleSpeed_rpm": 1670, "Direction": "CW" } }</code></pre>
|
||||
<p>S with no direction ever issued — fallback assumes CW (and emits the
|
||||
one-shot <code>SpindleDirection–AssumedCw</code> validation warning):
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "S": 1670 } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "SpindleSpeed": { "SpindleSpeed_rpm": 1670, "Direction": "CW" } }</code></pre>
|
||||
<p>Explicit M05 alongside S — a real direction, fallback must not fire:
|
||||
#BeforeBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M05"], "S": 500 } }</code></pre>
|
||||
<p>#AfterBuild:</p>
|
||||
<pre><code class="lang-csharp">{ "SpindleSpeed": { "SpindleSpeed_rpm": 500, "Direction": "STOP" } }</code></pre>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user