Specific errors: invalid command (not first command of sequence)
If the patch set number or total length do not match the pending patch data, the pending patches are discarded.
Specific errors: invalid command (length or patch set number mismatch) general failure (uncorrected data error or EEPROM write error)
(specified sun heading - measured sun heading).The command is aborted if the current time is later than t (to make sure it runs no earlier than a desired time, precede this command with a WAIT command). This command generates a Sun Heading Calibration Results telemetry message.
Specific errors: general failure (unable to find sun position or too late)
Proper auto-exposure for the color camera requires changing the shift factor in converting the 12-bit A/D samples to 8-bit image data. The front black and white cameras should generally be 0 (= shift 2); the rear color camera should be 3 (= shift 1).
Valid image data is in rows 6 through 489 and columns 0 through 767; row 490 contains dark reference pixels. The ending region coordinates (r2 and c2) are one more than the last row/column sent (e.g. if r1=10 and r2=15, the five rows 10, 11, 12, 13, and 14 are sent). If compression is requested, the specified region should be an even multiple of four rows and 16 columns (it is automatically expanded if necessary, but compression results may suffer). The returned telemetry data is tagged with the specified APID.
If any lasers have been enabled with TURN ON DEVICE, they are turned
on during the exposure. Exposure time may be overridden to limit laser
"on" duration.
The RUN MOTOR command, together with an appropriate specification of
the {CONTACT_MASK} parameter, can be used instead to deploy or retract
the APXS to a specific position without monitoring the contact
sensors. Under most circumstances, the RUN MOTOR command should be
used instead of DEPLOY APXS for APXS retraction: before retraction,
the contact sensors will generally already be indicating contact,
which would result in a DEPLOY APXS command completing nominally
without having retracted the mechanism. Additionally, ADM contact
sensors must be enabled for the DEPLOY APXS command to execute.
This command is only available in Rover Lite.
An empty command sequence, containing only an "End of sequence"
command, can be used to keep the rover safely idle (without it timing
out communications and entering a contingency mode).
Level 0 is a basic check/report; normally all switchable devices are off. Telemetry volume is small. Reads the current state of analog sensors, checks for any sensed data outside operational limits, update device failure counts. Checks core RAM.
Level 1 also checks sensor limit data recorded during traverse operations (min/max since the last level 1-or-above check). Same telemetry as level 0. This is the default periodic and wakeup check.
Level 2 is the same checking as level 1, but reports additional data. A good choice after a traverse.
Level 3 actively tests non-actuator devices; sensor limit data recorded during traverse is used for actuators. Bulk RAM (read/write) and EEPROM (read) are also tested. This would be used to get a detailed picture of the rover's health.
Level 4 also tests reusable actuators for open/short-circuit condition by turning them on for a brief interval and monitoring current use. Levels 4 and 5 are more complete "physical exams".
Level 5 actively tests all reusable devices. Actuators are tested by monitoring associated sensors (which implies running them longer than for level 4):
wheel motors -> encoders steering/APXS motors -> pots lasers -> CCDs heaters -> temperature sensors
Patches can be applied to:
Specific errors: invalid command (CRC does not match old memory contents)
Pot sensor positions are relative to the calibration offset software
parameters.
A specific TURN OFF DEVICE rover command is required to turn off the APXS.
The following command codes are accepted:
CYCLE_START OPEN_SHUTTER CLOSE_SHUTTER MEAS_START MEAS_STOP TX_START RESETIf the TX_START command is given, the rover reads 2048 bytes of spectrum data from the APXS, and sends the data in an APXS Results telemetry message. (Any APXS command code other than TX_START will result in a Command Acknowledge telemetry message.) MEAS_STOP and RESET commands should be sent before a TX_START command so that the APXS will update its accumulation area before the data is read out.
When Rover Lite is active, a simplified version of this command is used. MEAS_STOP and TX_START are no longer available. MEAS_START causes the following sequence of events: begin data collection; integrate for a specified number of seconds, halt data collection, send data to rover, shutdown APXS. The {APXS_NIGHT} parameter is instead interpreted as the {APXS_TIME_RL} parameter; {APXS_TIME_RL} is the number of seconds of integration time to be used.
Specific errors: general failure (unable to communicate with APXS)
pre-launch cruise pre-release pre-deployment surface operations extended mission (If MS bit set, force to this phase until either shutdown or next Set Mission Phase command) Specific errors: general failure (request rejected due to other sensor information)
Steering rate - calibration factor indicating nominal change in steering/APXS deployment pot reading, in 1/256 A/D counts per centon. Used for fallback time-based control.
APXS position limit for driving - A/D reading of APXS deployment mechanism position sensor beyond which the rover disallows drive commands (to avoid dragging APXS).
APXS night mode - indicates whether to connect the APXS directly to the battery bus, if the APXS is active, when shutting down the CPU (for nighttime data collection). Note: When Rover Lite is active, DO NOT use this parameter. Use {APXS_TIME_RL} instead.
APXS integration time (Rover Lite ONLY) - indicates how long, in Earth seconds, to collect data using the APXS in Rover Lite mode. This parameter is actually the same as the {APXS_NIGHT} parameter, but is interpreted as {APXS_TIME_RL} by the simplified SEND APXS COMMAND command when Rover Lite is active.
Automatic imaging after failed traverse -
none left camera (default) right camera rear camera (camera bits may be combined; e.g. all cameras)
Turning rate (counts) - calibration factor indicating nominal turn-in-place rate, in 1/32 encoder counts per centon. Used for fallback encoder-based control.
Battery usage override - determines the functions for which the rover is allowed to use battery power (by bypassing the current limiter and/or allowing commands when insufficient solar power is available, unless all battery strings have failed). The value is the logical "or" of the following masks:
motors WEB heaters motor heaters modem heater other devices 12V I/O power
Bogey/differential sensor offsets, - A/D readings for bogey and differential pots at nominal positions.
Command acknowledge - if set, commands that otherwise wouldn't generate any telemetry data after normal completion generate a "command acknowledge" packet.
APID for command execution report - the APID value inserted into telemetry data for command execution report messages.
Command query interval - the rover asks the lander for new commands at this rate (in seconds) when there are no commands ready, and during wait commands.
Command timeout limit - if the rover doesn't receive a valid command sequence for this many minutes, it begins contingency operation.
Session retry limit - number of times to attempt lander communication sessions. (low-level frame retry limit is fixed).
Contact sensor enable mask - bitmask indicating which contact sensors are enabled (if bit set):
solar panel right front solar panel left front solar panel left rear solar panel right rear bumper right front bumper left front APXS 1 APXS 2 APXS 3
Wheel rate - calibration factor indicating nominal wheel rate, in 1/1024 encoder counts per centon. Used for fallback time-based control.
Default wakeup time-of-day - local time-of-day, in minutes after midnight, at which the rover sets its wakeup alarm before an automatic shutdown (a commanded shutdown includes an explicit wakeup time). 7:30 am.
MAE Dust cover open time - duration to keep dust cover open during material adherence experiment, in msec.
"End of day" time-of-day - local time-of-day, in Earth minutes after midnight, after which the rover will automatically shutdown when solar power drops. default = 6 pm.
Error reporting severity threshold - error reports at or above this threshold are logged and sent in a critical state telemetry packet. minor,major,critical.
CCD Defect correction - if set, rover applies defect correction information stored in EEPROM when reading CCD images. disable,enable.
Hazard avoidance enable - set of flags indicating which navigation hazards the rover is allowed to autonomously avoid during Go To Waypoint and Find Rock command traversal. If a hazard condition is detected for which avoidance is not enabled, the traverse command is aborted. The value is the logical "or" of the following masks:
sensor reading outside safety limits contact sensor triggered lost heartbeat communication with lander laser/CCD proximity hazard detection too close to (and heading toward) lander motor stalled(Regarding heartbeat loss: During extended mission phase, the rover ignores this hazard except for logging an error report; the HAZ_AVOID bit has no effect. During other phases, the rover always tries to recover communication; the HAZ_AVOID bit determines whether the traverse can be continued if communication is restored.)
Distance between heartbeats - minimum distance, in millimeters of forward travel, between lander communication heartbeats in waypoint and find rock driving modes (the actual heartbeat is performed at next traverse cycle stop).
Automatic health check level - the level of health check to be performed at wakeup/periodic checks(see health check command).
Automatic health check interval - time interval (in Earth seconds) between automatic health checks performed in between commands and during WAITs.
Hold Communication - if enabled, telemetry output is buffered (according to {TBUF_MODE}) and command abort checks are not performed. This limits use of the modem to command requests, clock syncs, and heartbeats, and can be used:
Laser image exposure time - milliseconds for capturing laser stripe images during proximity sensing.
Local midnight reference time - CCSDS time (in seconds) of a recent local midnight, used to convert mission time to local time-of-day.
Minimum core bus voltage - a core bus voltage reading below this level indicates a failure of the current limiter and/or batteries, and prevents turning on the WEB heater.
Encoder scale factor - used to convert wheel odometer counts into distance traveled. (1/256 of mm per encoder count)
Modem heating time - at wakeup, the modem is heated for this many seconds.
Modem reheating time - maximum time in seconds to heat the modem after a communication failure, if the modem temperature is below {MODEM_TEMP}.
Modem reheating temperature - the rover stops heating the modem after a communication failure when the modem temperature sensor reaches this value (sensor reading = (deg C + 17) * 21). default = value corresponding to -10C
Motor cooldown time - if the motors are shut off for overheating, the rover sits idle for this many seconds allowing them to cool.
Motor average current limit - the rover shuts down motors to prevent overheating if the energy monitoring for any one motor exceeds this average value of A/D motor current counts when averaged over 32 seconds.
Power-saving mode - a mask of bits enabling power-saving operation of selected devices (turning device on only when necessary, default = all off to reduce power cycling stress).
linear accelerometers (if set, only turn on when stopped during traverse) Other bits TBD
disable enable (default)
Risk level - determines thresholds for what is considered a hazard. Selects safety limits for sensors (pitch, roll, Z-tilt, differential, bogeys, temperature, voltage, current), proximity hazard thresholds. min risk (default), medium risk, max risk
"End of day" solar power threshold - when solar power available is below this level, and local time-of-day is past end-of-day time, the rover automatically shuts down for the night (range TBD). disable auto shutdown
Maximum squeeze mode navigation - maximum distance (in mm) rover can drive through a narrow region where it is unable to turn in place. If it goes this far without reaching a clear area, it backs out of the narrow region and looks for a different path.
Motor stall current - if a motor current exceeds this limit (in 0.185mA units) for 16 consecutive update samples (4 samples for steering and ADM motors), a motor stall hazard is declared. The ADM motor stall limit is set 18.5mA higher to account for the additional resistance.
Steering sensor offsets - A/D readings for each steering pot when centered, and APXS deployment mechanism position sensor at the fully stowed position.
Telemetry buffering mode - controls rover action when unable to send telemetry data to lander. disable, buffer in RAM (highest capacity), buffer in EEPROM (default, preserved across power-down).
Traversal telemetry (detail level) - number of captured samples of sensor data for telemetry (in all driving modes) per output sample. Data is collected at nominally 2-second intervals, and stored in a circular buffer. All data is sent in the event of a failure.
Thermal management update rate - the rover updates power/thermal management at this interval (in seconds) when idle or waiting.
Traverse cycle distance - millimeters of forward travel between stops, in waypoint and find rock driving modes (not direct move, turn in place, APXS positioning, or unstow). While stopped, the rover performs:
Turn sensor scale factor - calibration factor in 1/2048 BAMs per A/D count of the turn rate integrator sensor reading.
WEB set A limit - the rover stops heating the WEB when any sensor in set A is above this limit (or any sensor in set B is above B's limit, sensor reading = (deg C + 17) * 21). default = value corresponding to 40°C).
WEB set B limit - the rover stops heating the WEB when any sensor in set B is above this limit (or any sensor in set A is above A's limit, sensor reading = (deg C + 17) * 21). default = value corresponding to 50°C).
WEB overtemp - the rover refuses to turn on equipment other than the modem (i.e. start commands) if any temperature sensor in set A is above this value. (sensor reading = (deg C + 17) * 21); default = value corresponding to 55°C).
WEB temperature sensor set A - a 16-bit map of the temperature sensors making up the first monitoring set (default = 0xF00 (CPU/electronics board, power board, WEB wall, and modem)).
left front wheel right front wheel WEB modem left front CCD right front CCD rear CCD battery A battery B battery C CPU board power board MAE
WEB temperature sensor set B - a 16-bit map of the temperature sensors making up the second monitoring set (default = 0x0E0 (battery tray sensors)). Bit assignment is same as for {WEB_SET_A}.
If the wakeup time is zero, the rover performs a system reset, but stays awake. Otherwise, if the wakeup time is at or earlier than the current time, the command is ignored.
The rover also shuts down automatically when the local time-of-day is later than a threshold and the solar power falls below {SHUTDOWN_POWER}, setting the wakeup time to {DEFAULT_WAKEUP}. These parameters can be changed to alter the automatic shutdown behavior (including disabling it to allow night operation). Generates a Sequence Status Report, or Command Acknowledge if ignored.
Specific errors: general failure (unable to communicate with lander)
The specified physical memory segment is mapped into bank 2, which appears at logical addresses C000 to FFFF hex; the start address should be set accordingly. The maximum number of bytes which can be tested during a single command is 16,384.
Specific errors: general failure (memory errors found)
[BAM = binary angular measurement; 2^16 BAMs = 1 revolution]
WEB heater left wheel motor heaters (see note 1) right wheel motor heaters (see note 1) steering motor heaters (see note 1) APXS motor heater (see note 1) modem heater modem APXS (see note 2) far left laser (see note 3) near left laser (see note 3) center laser (see note 3) near right laser (see note 3) far right laser (see note 3) current limiter bypass (see note 7) MAE QCM MAE dust cover (see note 4) LEDs (APXS contact/wheel encoders) turn rate sensor linear accelerometers CCDs 3BSS batteries (see notes 5, 6) APXS failsafe (see note 5)Note 1: Turning off any motor heater turns off ALL motor heaters.
Note 2: Use {APXS_NIGHT} parameter to keep APXS on after shutdown
Note 3: "Left laser" means the laser mounted on the vehicle's left (whose beam extends to the right). Turning off any laser turns off ALL lasers. Actually, this just enables lasers to be turned on during CCD imaging.
Note 4: "On" opens dust cover, "off" closes it. Dust cover should not be kept open more than 20 seconds at a time.
Note 5: These requests are rejected if the mission phase is pre-launch or cruise. As a safety feature, they are also rejected unless the corresponding device bit is the only one set in the command.
Note 6: Ignored in a "TURN OFF DEVICES" command.
Note 7: Not really useful - the bypass is turned off after each command
X position (mm N of lander) Y position (mm E of lander)
max logical bogey pot position indicating standup min logical differential position indicating standup min wheel motor current increase indicating successful bogey latching min left wheel encoder counts indicating standup min right wheel encoder counts indicating standup
"Logical" position = physical pot reading - reference parameter.
For testing or recovery from a failed unstow, negative encoder counts values indicate relative counts from the starting odometer value.
The first part of standup proceeds until a hazard condition is detected or both sides indicate standup (bogey pot <= (p) or odometer >= (l/r)). If standup is successful, bogey latching is tested by backing off the rear wheels until motor currents increase by (c) or bogeys increase by 40 within 4 seconds. Finally, failure is also declared if the final differential value is less than (d).
If bogey pots have failed, (p) is ignored and the latch test is not performed. If the differential has failed, (d) is ignored.
The wait condition can be:
Sensor ID (decimal) | Sensor |
---|---|
0 | SEN_XACCEL |
1 | SEN_YACCEL |
2 | SEN_ZACCEL |
3 | SEN_LBOGEY |
4 | SEN_RBOGEY |
5 | SEN_DIFF |
6 | SEN_LF_TEMP |
7 | SEN_RF_TEMP |
8 | SEN_WEB_TEMP |
9 | SEN_MODEM_TEMP |
10 | SEN_LF_CCD_TEMP |
11 | SEN_RF_CCD_TEMP |
12 | SEN_REAR_CCD_TEMP |
13 | SEN_BATTA_TEMP |
14 | SEN_BATTB_TEMP |
15 | SEN_BATTC_TEMP |
16 | SEN_CPUBRD_TEMP |
17 | SEN_PWRBRD_TEMP |
18 | SEN_MAE_TEMP |
19 | SEN_LF_IDRIVE |
20 | SEN_RF_IDRIVE |
21 | SEN_LC_IDRIVE |
22 | SEN_RC_IDRIVE |
23 | SEN_LR_IDRIVE |
24 | SEN_RR_IDRIVE |
25 | SEN_LF_ISTEER |
26 | SEN_RF_ISTEER |
27 | SEN_LR_ISTEER |
28 | SEN_RR_ISTEER |
29 | SEN_IAPXS |
30 | SEN_IBATTA |
31 | SEN_IBATTB |
32 | SEN_IBATTC |
33 | SEN_ISOLAR |
34 | SEN_I12V |
35 | SEN_I9V |
36 | SEN_I5V_CONV |
37 | SEN_I5V_REG |
38 | SEN_I3V |
39 | SEN_LF_POT |
40 | SEN_RF_POT |
41 | SEN_LR_POT |
42 | SEN_RR_POT |
43 | SEN_APXS_POT |
44 | SEN_EMAE_OPEN |
45 | SEN_IMAE_SHORT |
46 | SEN_IWAE_SHORT |
47 | SEN_EMOT_HTR_BUS |
48 | SEN_ECORE_BUS |
49 | SEN_E12VP |
50 | SEN_E12VN |
51 | SEN_E9V |
52 | SEN_E5V_CONV |
53 | SEN_E5V_REG |
54 | SEN_E5V_INV |
55 | SEN_E3V |
56 | SEN_IWEBMTR_HTR |
57 | SEN_IMODEM_HTR |
58 | SEN_EANALOG_GND |
59 | SEN_E5VP_REF |
60 | SEN_E5VN_REF |
All information on this site, including text and images describing the Rover, is copyright © 1996, Jet Propulsion Laboratory, California Institute of Technology and the National Aeronautics and Space Administration.