Closed allesand closed 1 year ago
Concerning the colors: I suspected, that I messed up the reverse engineering. Obviously, I did not. So I need to add a color-mapping, as the same colors are encoded differently between devices.
Concerning the key functions: I did the same for those. (E.g., https://github.com/hmatuschek/qdmr/blob/5b6624632e012632a51a9889bb805efd58924bbb/lib/d878uv_codeplug.cc#L1545) However, there might be a mistake in there.
The colors should be fixed in fix-anytone-colors
branch. Will have a look at the key-functions now.
Some testing results:
Hm, I wrote in https://github.com/hmatuschek/qdmr/issues/295#issuecomment-1468855449 that mic gain setting is working. Currently, on my 868, the single mic gain is always set to "1" when writing the config. On the 878, with "enableFMMicGain" set, the FM mic gain is indeed set, but digital mic gain is set to "1", also, regardless of the setting in the GUI. That puzzles me.
But good news: key settings seem to be working on 868 and 878 and colors are almost working: "standbyTextColor" needs to be set to "Orange" to give white in the display - off by two in the other direction?
Channel colors are working almost now - white gives white. But: "channelNameColor" is not honored - main channel name is always white. Main channel zone and sub-channel name and zone seem to work.
This is the https://github.com/hmatuschek/qdmr/tree/fix-anytone-colors branch.
Concerning the mic gain: This was a stupid mistake min(1,min(10,gain))
will get you always 1.
Ok, those colors should be fixed now.
Mic gain: works as expected Color settings: work as expected Great, that's fixed!
Key function settings: in lib/d878uv_codeplug.hh, this diff makes "MaxVolume" and "Slot Set" work correctly for a D878UVII Plus:
$ diff -c1 d878uv_codeplug.hh~ d878uv_codeplug.hh
*** d878uv_codeplug.hh~ 2023-06-19 12:04:56.000000000 +0200
--- d878uv_codeplug.hh 2023-06-19 18:58:01.003541530 +0200
***************
*** 381,383 ****
PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
! ChannelType = 0x22, Roaming = 0x24, MaxVolume = 0x25, Slot = 0x26, Zone = 0x29,
RoamingSet = 0x2a, Mute=0x2c, CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30,
--- 381,383 ----
PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
! ChannelType = 0x22, Roaming = 0x24, MaxVolume = 0x26, Slot = 0x27, Zone = 0x29,
RoamingSet = 0x2a, Mute=0x2c, CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30,
Trying to find out the other missing ones, the order in the radio is not followed? That's why there are missing values in the header file? I tried
[...]
ChannelType = 0x22, Ranging = 0x23, Roaming = 0x24, ChannelRanging = 0x25, MaxVolume = 0x26,
Slot = 0x27, APRSTypeSwitch=0x28, Zone = 0x29, RoamingSet = 0x2a, APRSSet = 0x2b, Mute=0x2c,
CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30, ChannelName = 0x31, CDTScan = 0x32,
APRSSend = 0x33, APRSInfo = 0x34, GPSRoaming = 0x35
} KeyFunctionCode;
but that does not seem to work for all items. Key settings for the 868 are working.
Key functions should be fixed now.
878 FW 3.01: Setting "channelNameColor" does not seem to have any effect - it stays white as before. To get Channel B and the Zones in white, I have to set the color to "Turquoise". Setting it to "White" gives, hm, probably orange? Setting it to "Green" gives blue. Setting it to "Black" gives, yup, as expected, red. So the color is off by two positions?
Side note: key settings were not read from the radio, but are set correctly when set manually in qdmr. Just the naming of the buttons is something to get used to.. (as explained in https://github.com/hmatuschek/qdmr/issues/298#issuecomment-1568093684 )
Note to that note: on my 868 with FW 2.40, key settings indexes seem to be different - "Slot Set" is on position 36 on the 878, but on position 35 on the 868. That is because on the 878, there is "Roaming" on position 33, which is not present on the 868. Also the 878 has more possible settings, but besides the "Roaming" setting, they were added at the end. Is there an easy way to take that into account? I do not know how many (non-converted, FW 2.40) 868 are still around..
(As discussed in https://github.com/hmatuschek/qdmr/issues/298#issuecomment-1412379909 : changing item order between models or firmware releases)