There are 11 possible combinations recognized by CHIRP: all nine combinations of (none, tone, dtcs) for transmit, and (none, tone, dtcs) for receive, and for the Tone->Tone and DTCS->DTCS cases, the tx and rx are either equal or not equal. The FT-4 radio can support nine of these eleven cases, all except Tone->DTCS and DTCS->Tone.
I need my code to do three things: 1) work correctly with the UI for all cases 2) pass the BruteForce unit test 3) pass the CopyAll unit test.
I can write code that does any two of these three things, but not all three. This one fails BruteForce: TONE_MODES = ["", "Tone", "TSQL", "DTCS", "DTCS-R", "TSQL-R", "Cross"] CROSS_MODES = ["Tone->Tone", "DTCS->", "DTCS->DTCS", "->DTCS"]
BruteForce wants to always get back what it gives you.
This one causes the UI to inhibit certain inputs: TONE_MODES = ["", "Tone", "TSQL", "DTCS", "DTCS-R", "TSQL-R", "Cross"] CROSS_MODES = [, "DTCS->DTCS", "->DTCS"] This is interesting because if you get the inputs into the columns by loading a spreadsheet as in the CopyAll test, (e.g., TSQL, 100.0 88.5) CHIRP happily sends it to the driver, but yyou cannot enter it.