Create_RotationSpeedController
Drop-in replacement for Create's Create_RotationSpeedController
peripheral.
Preserved from Create (verbatim): setTargetSpeed and
getTargetSpeed. Existing scripts that drive a speed controller
keep working unchanged.
Added (Avionics): the full kinetic SCADA pack — getSelfId,
getSourceId, getSubnetworkAnchorId, getNetworkId,
getKind (returns "split_shaft"), getSpeed,
hasSource, isOverstressed, getStressImpact,
getStressContribution. The speed controller is a speed-zone boundary
(one of the few block kinds that returns "split_shaft"), so its
getSelfId is the natural anchor id every block downstream of it
reports for getSubnetworkAnchorId.
| setTargetSpeed(speed) | Set the controller's target output speed in RPM. |
|---|---|
| getTargetSpeed() | Get the controller's currently configured target output speed in RPM. |
| getSelfId() | Get this block's id. |
| getSourceId() | Get the id of the block immediately driving this one, or nil if this block has no source. |
| getSubnetworkAnchorId() | Get the id of this block's speed-zone anchor — the gearshift / clutch / speed controller / generator that defines the start of this speed zone. |
| getNetworkId() | Get the id of this block's kinetic network. |
| getKind() | Get this block's role on the kinetic graph: one of "generator", "split_shaft", "consumer", or "passthrough". |
| getSpeed() | Get the local rotational speed at this block. |
| hasSource() | Check whether this block is connected to a kinetic source. |
| isOverstressed() | Check whether the block's network is overstressed. |
| getStressImpact() | Get the stress impact of this block on its network — how much stress it draws while running. |
| getStressContribution() | Get this block's contribution to its network's stress capacity. |
- setTargetSpeed(speed)Source
Set the controller's target output speed in RPM. Sign sets direction; the controller scales its input shaft to match. Clamped to the in-game scroll-value range (-256..+256 RPM).
Parameters
- speed
numberThe target output speed in RPM.
- speed
- getTargetSpeed()Source
Get the controller's currently configured target output speed in RPM. Reflects the value last set via
setTargetSpeedor the in-game scroll wheel — not the live shaft speed (which depends on the input).Returns
numberThe configured target speed in RPM.
- getSelfId()Source
Get this block's id. Other peripherals'
getSourceIdorgetSubnetworkAnchorIdreturn this same id when they refer to this block.Returns
stringThe block's id.
- getSourceId()Source
Get the id of the block immediately driving this one, or nil if this block has no source.
Returns
stringThe parent's id, or nil.
- getSubnetworkAnchorId()Source
Get the id of this block's speed-zone anchor — the gearshift / clutch / speed controller / generator that defines the start of this speed zone. Two blocks share an anchor iff they're in the same speed zone. A generator or split-shaft returns its own
getSelfId.Returns
stringThe anchor block's id, or nil.
- getNetworkId()Source
Get the id of this block's kinetic network. Same value for every block on the same network regardless of how many speed zones lie between them. Nil if this block isn't on a network.
Returns
stringThe network id, or nil.
- getKind()Source
Get this block's role on the kinetic graph: one of
"generator","split_shaft","consumer", or"passthrough".Returns
stringThe role string.
- getSpeed()Source
Get the local rotational speed at this block. Signed; same value across a speed zone, changes across a split-shaft.
Returns
numberThe local speed.
- hasSource()Source
Check whether this block is connected to a kinetic source.
Returns
booleanTrue if a source is connected.
- isOverstressed()Source
Check whether the block's network is overstressed.
Returns
booleanTrue if overstressed.
- getStressImpact()Source
Get the stress impact of this block on its network — how much stress it draws while running. Speed-dependent; zero for sources and pure conduit blocks. Matches the "Stress Impact" value shown by goggles.
Returns
numberThe stress impact.
- getStressContribution()Source
Get this block's contribution to its network's stress capacity. Non-zero for sources only. Parallel to
getStressImpact(per-block draw) and distinct fromCreate_Stressometer#getStressCapacity, which reports the network total.Returns
numberThe per-block stress contribution.