The frames, readable before they are sent
The FCC profile is a JSON file in the app bundle. The whole burst has to land inside the service-mode window that the first frame opens and the last one closes: 30 ms per frame puts a two-round pass at about 1.5 seconds. Stretch it past a few seconds and the radio silently stays on CE.
Each apply sweeps several sender and framing combinations and counts the responses, so the log names the path your hardware answered on. A one-frame CE restore profile puts the radio back to its factory region.
The full walkthrough, protocol and frames, transport, the service-mode window, the sweep and every hardware finding, is in the technical documentation on GitHub, in English, with an Italian version alongside it.
// fcc.json, excerpt. s = sender, i = command id, d = destination, p = payload
{ "s": 16, "i": 88, "d": 18, "p": "030100", AUTOTEST enter service mode }
{ "s": 6, "i": 114, "d": 6, "p": "00000000000100", RADIO set region param, FCC }
{ "s": 3, "i": 249, "d": 3, "p": "8a237103f401", FLYC max_height = 500 (0x01F4) }
{ "s": 7, "i": 48, "d": 9, "p": "55530000555300000100", WIFI country code US, 2.4 GHz }
{ "s": 7, "i": 48, "d": 9, "p": "55530000555300000100", WIFI country code US, 5.8 GHz }
{ "s": 6, "i": 114, "d": 6, "p": "000000000001ff", RADIO commit region change }
{ "s": 16, "i": 88, "d": 18, "p": "030100", AUTOTEST exit service mode }
// 22 frames in total, 2 rounds, 30 ms between frames, re-applied every 4 s while holding