Skip to main content

Module delay

Module delay 

Source
Expand description

Ejection delays: the time from burnout to the ejection charge, or none for a plugged motor.

Motor files and catalogs write a motor’s available delays as one string. The RASP spec gives “delays separated by dashes”, with 0 for an ejection charge with no delay and P for plugged (docs/format/eng.md). Real files also use commas, a trailing P, and 100 or 1000 as plugged markers; checked against ThrustCurve.org’s metadata, 100 and 1000 nearly always mean plugged, and so does 0 more often than not (counts in docs/format/eng.md and rse.md). So this reader:

  • splits on - and ,, dropping empty pieces with a warning;
  • reads P (either case), 100 and 1000 as Delay::Plugged;
  • reads 0 as Delay::ZeroOrPlugged, with a warning, so that it can’t become an ejection at burnout without a decision;
  • reads other numbers as Delay::Seconds.

The raw string stays in the file model so writers reproduce it exactly; physics should prefer the catalog’s delays.

Structs§

DelayList
A delay string read into settings.
DelayWarning
A problem found while reading a delay string.

Enums§

Delay
One available delay setting. Serialized with a kind tag and the seconds as value: {"kind":"seconds","value":6.0}, {"kind":"plugged"}.