XO 4 Touch Testing
This page describes the production test support provided with the touchscreen in XO-4.
Test routines are provided in Open Firmware for testing the various components of the touchscreen system, at various stages of manufacture. The touchscreen system consists of a microcontroller on the motherboard, an IR PCB which contains the IR transmitters and receivers, a flat flexible cable interconnecting the two, and a plastic lightguide which collimates the light to/from the LED sensors.
IR PCB SMT
This test is done to bare IR PCB boards, without a light guide. The code runs on XO-4 A2 or later motherboards.
The idea is to check for opens and shorts of the IR diodes and detectors, as well as proper mounting of the ASIC and connector on the IR PCB.
There should be no operator interaction with the IR PCB. They should simply be able to drop a board into the test fixture, press a button on the keyboard, and the screen says pass or fail with an appropriate background (red/green).
After testing is complete, the MSP430 should probably be placed into reset to allow for cable disconnect. It should be rebooted for each test.
Implementation Guidance
- requires an Open Firmware from svn 3276 or later,
- TS tag need not be set,
- activate the test with:
11 to test-station \ SMT test /touchscreen
- sample output (pass):
Connect IR PCB, press a key Disconnect IR PCB, press a key
- sample output (fail):
Connect IR PCB, press a key Open and Short X Axis ( bit 47 ) ( bit 51 ) ( bit 53 ) ( bit 57 ) ( bit 59 ) Y Axis ( bit 36 ) ( bit 40 ) ( bit 42 ) Disconnect IR PCB, press a key /touchscreen selftest failed. Return code = 8
IR PCB ASSY
This test is done to IR PCB assemblies, including a light guide and bezel. The code runs on XO-4 A2 or later motherboards in a production line situation, using a test fixture to connect to the bezel assembly.
The idea is to check for proper assembly of the lightguide and IR PCB, as well as proper lightguide and IR PCB operation.
They should simply be able to drop a bezel assembly into the test fixture, and press a button on the keyboard. They then need to pass a finger or stylus along two adjacent inside edges of the bezel to complete the test. Upon completion, the screen says pass or fail with an appropriate background (red/green). There should be an automatic abort of the test (w. fail) if the appropriate motion isn't detected within thirty seconds.
After testing is complete, the MSP430 should probably be placed into reset to allow for cable disconnect. It should be rebooted for each test.
Implementation Guidance
- requires an Open Firmware from svn 3277 or later,
- includes a Forced LED Levels test,
- 30-second timeout yet to be implemented, pressing a keyboard key cancels and fails the test,
- not yet tested with revision B IR PCB,
- TS tag need not be set,
- activate the test with:
12 to test-station \ ASSY test /touchscreen
MB SMT
This test is done to each bare laptop motherboards as part of SMT testing (TS code SMT). The code runs on XO-4 A2 or later motherboards.
The idea is to check for proper functioning of the touchscreen microcontroller and connector to the IR PCB.
There should be no operator interaction with the "known good" IR PCB. The operator should be able to drop a motherboard into the test fixture and power it on --starting the automatic test menu. When run the touchscreen test shall attempt to install firmware into the microcontroller, then attempt to communicate with the "known good" IR PCB. The test result should be indicated visually and the automated test stopped on failure.
Implementation Guidance
- requires an Open Firmware from svn 3276 or later,
- TS tag must be SMT,
- touchscreen microcontroller firmware must be flashed,
- using: " u:\zforce.hex" $flash-bsl
- progress will be displayed (svn 3239 or later),
- it takes about 58 seconds,
- the microcontroller is available for testing immediately without a power cycle,
- check for proper functioning of the touchscreen microcontroller and connector to the IR PCB with:
test /touchscreen
- possible failures are:
- no response to reset, the microcontroller did not make the data ready signal active within 250 ms of the reset signal being made inactive,
- no response on bus, the microcontroller did make the data ready signal active, but did not respond to I2C bus signalling,
- failed to configure, the microcontroller stopped responding during the configuration process,
MB ASSY
This test is done to each assembled laptop as part of assembly testing (TS code ASSY). The code runs on XO-4 A2 or later motherboards.
The idea is to check for proper functioning of the touchscreen microcontroller, IR PCB/lightguide assembly, and the connection between the two.
The operator will power the laptop on --starting the automatic test menu. When run, the touchscreen test shall establish communications with the microcontroller. Then it should wait for the operator to run their finger/stylus along two adjacent edges of the light guide. The test result should be indicated visually and the automated test stopped on failure. If no operator input is detected in a fixed amount of time (thirty seconds), the test should be stopped indicating failure.
Implementation Guidance
- requires an Open Firmware from svn 3277 or later,
- 30-second timeout yet to be implemented, pressing a keyboard key cancels and fails the test,
- tested with revision B IR PCB,
- TS tag must be ASSY,
- activate the test with:
test /touchscreen
Lightguide Tooling
This test is done to light guides, mainly during tooling development, but also for quality control once production has started. The code runs on XO-4 A2 or later motherboards in a production line situation.
The idea is to check for proper operation of the lightguide, using a known good IR PCB.
They should simply be able to attach a bezel assembly to the motherboard, and press a button on the keyboard. No interaction with the lightguide is required during the testing. Upon completion, the screen indicates pass or fail, but also provides numbers reporting the performance of the different optical paths.
"We need a GUI program to provide a straightforward visual indication of whether the IR PCBA is working or not. A simple and effective visual output would be just displaying: (1) Red screen with the word "FAIL" in the center when equal to or greater than one (1) error non-connection of transmission channel. (2) Green screen with the word "PASS" in the center when zero (0) error occurs."
Interim solution
- http://dev.laptop.org/~quozl/q7a11jb.rom
- test with:
select /touchscreen test-fll
Sampled QA
This test is done to assembled laptops for quality control once production has started. The code runs on XO-4 A2 or later motherboards .
The idea is to check for proper operation of the touchscreen, including specific light guide performance.
They will have to power the unit up to Open Firmware, then manually execute two or more tests:
- The lightguide quality test, printing out the perceived performance of the lightguide
- A linearity test, where they use a straight edge and a stylus, and the "max error" is computed
Field Repair
This test is done to units suspected of having a problem with their touchcreen:
test /touchscreen
If a problem is found which can be traced to a particular component (IR diode, IR LED, or connector), it should be clearly identified.