The reason why (some of) these signals decode as NEC-Shirriff-32 is since that protocol has just a very short leadout required (1*564 micros) (as opposed to NEC*-f16). Your signals have a (first) payload of 35 bits, so they (partially) decode if the 33rd bit is a 1. I have changed the leadout of these protocols to be the same as other NEC*-signals, ^108m. So now the signal do not decode, neither as Shirriff nor NEC*-f16. (The background is that Shirriff's software, IRremote, just as well as Lirc and Linux, does not really consider lead-outs.)mathdon wrote:I have left in my addition to NEC-Shirriff-32 as this ICT file still decodes as NEC-Shirriff-32 despite NEC-f16 including prefer-over NEC-Shirriff-32. To see this, open RMIR, select Advanced > Import Ict as Learned and load this file. The data values will display as hex because of the entry in rmProtocols.xml, which makes a lot more sense than decimal for a 32-bit value. I am happy for this not to be included in IrpProtocols.xml if you can ensure that nothing will ever decode as NEC-Shirriff, but that is not yet the case.
The changes are in Github. Let me also point out that there is a function IrpDatabase.remove(List<String> protocolNames) which can remove unwanted protocols from the data base.
I will address the other issues later.