Full Keypad Keycode Generation

Hi,

I would like to know if Factory Test Keycodes are universal for all nexus devices ?
What is difference between FACTORY ALLOW Test and Factory OQC Test ?

Are the below msgs correct way to generate keycode ?
protocol.FactoryFullMessage.allow_test().to_keycode()

protocol.FactoryFullMessage.oqc_test().to_keycode()

I would like to know if Factory Test Keycodes are universal for all nexus devices ?

Yes: Factory messages are universal among all units implementing keycodev1.

What is difference between FACTORY ALLOW Test and Factory OQC Test ?

FACTORY_ALLOW_TEST
FACTORY_ALLOW_TEST messages are used to briefly enable a unit, regardless of its PAYG regulation status, to allow field testing of a potentially faulty product. It contains no message body.

When the message is applied, the product must allow full operation for 2 minutes. This message can only be applied 255 times in total over the lifetime of the product.

FACTORY_OQC_TEST
The FACTORY_OQC_TEST message is used for outgoing QC (OQC) testing in the factory and warehouse before sale. Like other factory messages it is universal among all units implementing keycodev1 and applies 1 hour of credit each time, up to 10 hours. The codes are additive in case some tests are more time-intensive.

The only way to re-apply these messages to a particular device after they have been applied 10 times is to enter a WIPE_STATE (flags 1 or 2) message. This clears the device memory of received messages, including the OQC messages.

Are the below msgs correct way to generate keycode ?
protocol.FactoryFullMessage.allow_test().to_keycode()

protocol.FactoryFullMessage.oqc_test().to_keycode()

Yes, that will create full message keycodes. Compressed message keycodes use FactoryMessage instead of FactoryFullMessage.

Zach | Angaza Engineering