Specifications

Command Descriptions 79
Diagnostics ('D','d')
Function: Runs the controller's on-board diagnostic routines, or queries the
results of those diagnostics.
0 1 2 3 4 5 6 7
Query: 'd'
Set or 0 1 2 3 4 5 6 7
Response: 'D' DMask
The DMask byte has the following bit positions:
Bit Test Description
0 ID Test Checks to see that the firmware and hardware
are compatible.
1 CPU Test Exercises the CPU to verify that the instruction
set and registers are working.
2 ROM Test Verifies the checksum for the ROM.
3 RAM Test Performs an extensive read/write RAM test.
Checks for and tests optional external RAM.
Testing may take up to 45 seconds depending
on the memory configuration of the controller.
4 NVRAM Test Verifies the checksum of the nonvolatile RAM.
5 Drive Test Verifies the touchscreen drive hardware. With
1.2 or later firmware, a failure may indicate the
touchscreen is not connected.
6 CHOP Test If a controller expansion board is installed via
the controller's CHOP connector, this test allows
the expansion board to perform its diagnostics.
7 Reserved
When the set Diagnostic command is sent to the controller, the DMask bitmap
specifies the individual tests to run. A 1 bit will run the corresponding test while a
0 bit will skip the test. The results of the diagnostics are returned as a response
packet before the Acknowledge packet. DMask will have bits set where the
corresponding test failed and bits cleared where the tests passed or were not run.
The results of the previous diagnostics can be queried at any time. Since the
controller executes its on-board diagnostics at power-on, the results can be queried
without running them again.