Expand description
One motor found by name on ThrustCurve.org, with the curve file to fly it by: for a simulator that lacks the motor’s curve (M4.5b, motors on demand; ADR-154, the decision on fetching them).
find asks ThrustCurve’s search for the name as a designation
(F27R/L), then, if no motor has that designation, as a common name (F27), each time with
the manufacturer when one is given. Exactly one solid motor must answer: two or more are
FindError::Ambiguous, listed by maker and designation so the caller can say which, and a
hybrid is refused, as hpr flies commercial solid motors only. It then
downloads the motor’s RASP (.eng) files and takes the first
that reads as one motor, ranked by who measured it (rank): a certification test, then the
manufacturer, then a user, then a file that names no source, in the answer’s order within each.
With no RASP file that reads, it does the same with the RockSim (.rse) files. A file the
caller names (Wanted::prefer) goes ahead of that order when it reads, the RockSim files
read too when the RASP ones lack it (offline with no copy of them, the RASP files are taken
as if none were named). find_with
takes the caller’s own reading of a file instead, so the file taken is the first the caller
can use: a simulator that builds a motor from the file’s masses refuses more than
hpr_motor’s reader does.
Every answer goes through the Client, so it is cached (crate::thrustcurve::TTL_S, a
day) and, offline, read from the cache alone: a motor found once is found again with no
network. Nothing is bundled: ThrustCurve states no license for its records, and each file
carries its own (DataFile::license), which the caller shows.
How far to trust it: the curve is the file a contributor uploaded, as ThrustCurve serves it; which file is taken is the rule above, not a judgement of which is right. A name is matched as ThrustCurve’s search matches it (on 2026-10-04, a designation exactly but for case), so a name ThrustCurve spells differently is not found rather than wrongly matched.
Structs§
- Found
- A motor found, with the file to fly it by.
- Wanted
- The motor to find: a designation or common name, and its manufacturer if known.
Enums§
- Find
Error - Why no motor was found.
Functions§
- find
- Finds
wantedon ThrustCurve.org throughclient, and the file to fly it by, as the module says: the first file thatreads_as_one_motor. - find_
with - As
find, withbuildreading a file instead: the file taken is the first, infind’s order, thatbuildturns into anM, returned with it.build’s refusal of the last file tried isFindError::NoFile’s reason. - rank
- Where a data file’s source puts it in
find’s order:cert(a certification test) 0,mfr(the manufacturer) 1,user2, anything else or none 3. - reads_
as_ one_ motor - Whether a data file reads as exactly one motor’s curve with
hpr_motor’s reader:find’s test of a file.