150 lines
3 KiB
Markdown
150 lines
3 KiB
Markdown
A CHIRP driver which supports the HF firmware from KD8CEC.
|
|
|
|
http://www.hamskey.com/2024/04/introduction-to-uv-k5-hf-05-fullband.html#more
|
|
https://github.com/phdlee/uvk5cec
|
|
|
|
Starting with firmware version 0.5 HF.
|
|
|
|
The base of the chirp driver is based on https://www.universirius.com/preppers/quansheng-uv-k5-manuale-del-firmware-ijv_2-9r5/#Firmware-IJV
|
|
|
|
## EEPROM content for 0.5 HF:
|
|
|
|
Address: 0x0D60
|
|
Content:
|
|
for(uint16_t i = 0; i < sizeof(MR_ChannelAttributes); i++) { ChannelAttributes_t *att = &MR_ChannelAttributes[i]; if(att->__val == 0xff){ att->__val = 0; att->band = 0xf; } }
|
|
|
|
Address: 0x0E70
|
|
Content:
|
|
0: CHAN_1_CALL
|
|
1: SQUELCH_LEVEL
|
|
2: TX_TIMEOUT_TIMER
|
|
3: NOAA_AUTO_SCAN
|
|
4: KEY_LOCK
|
|
5: VOX_SWITCH
|
|
6: VOX_LEVEL
|
|
7: MIC_SENSITIVITY
|
|
|
|
Address: 0x0E78
|
|
Content:
|
|
0: BACKLIGHT_MAX (0x0f) & BACKLIGHT_MIN (0xf0 >> 4)
|
|
1: CHANNEL_DISPLAY_MODE
|
|
2: CROSS_BAND_RX_TX
|
|
3: BATTERY_SAVE
|
|
4: DUAL_WATCH
|
|
5: BACKLIGHT_TIME
|
|
6: TAIL_TONE_ELIMINATION
|
|
7: VFO_OPEN
|
|
|
|
Address: 0x0E80
|
|
Content:
|
|
0: ScreenChannel[0]
|
|
1: ScreenChannel[1]
|
|
2: MrChannel[0]
|
|
3: MrChannel[1]
|
|
4: FreqChannel[0]
|
|
5: FreqChannel[1]
|
|
6: NoaaChannel[0]
|
|
7: NoaaChannel[1]
|
|
|
|
Address: 0x0E90
|
|
Content:
|
|
0: BEEP_CONTROL (0x01) & KEY_M_LONG_PRESS_ACTION (>> 1)
|
|
1: KEY_1_SHORT_PRESS_ACTION
|
|
2: KEY_1_LONG_PRESS_ACTION
|
|
3: KEY_2_SHORT_PRESS_ACTION
|
|
4: KEY_2_LONG_PRESS_ACTION
|
|
5: SCAN_RESUME_MODE
|
|
6: AUTO_KEYPAD_LOCK
|
|
7: POWER_ON_DISPLAY_MODE
|
|
|
|
Address: 0x0E98
|
|
Content:
|
|
0: memcpy(&POWER_ON_PASSWORD, Data, 4)
|
|
|
|
Address: 0x0EA0
|
|
Content:
|
|
0: VOICE_PROMPT
|
|
1: S0_LEVEL
|
|
2: S9_LEVEL
|
|
|
|
Address: 0x0EA8
|
|
Content:
|
|
0: ALARM_MODE
|
|
1: ROGER
|
|
2: REPEATER_TAIL_TONE_ELIMINATION
|
|
3: TX_VFO
|
|
4: BATTERY_TYPE
|
|
|
|
Address: 0x0EB0
|
|
Content:
|
|
EEPROM_WELCOMESTRING1 (16 byte)
|
|
EEPROM_WELCOMESTRING2 (16 byte)
|
|
|
|
Address: 0x0ED0
|
|
Content:
|
|
0: DTMF_SIDE_TONE
|
|
1: DTMF_SEPARATE_CODE
|
|
2: DTMF_GROUP_CALL_CODE
|
|
3: DTMF_DECODE_RESPONSE
|
|
4: DTMF_auto_reset_time
|
|
5: DTMF_PRELOAD_TIME
|
|
6: DTMF_FIRST_CODE_PERSIST_TIME
|
|
7: DTMF_HASH_CODE_PERSIST_TIME
|
|
|
|
Address: 0x0ED8
|
|
Content:
|
|
0: DTMF_CODE_PERSIST_TIME
|
|
1: DTMF_CODE_INTERVAL_TIME
|
|
2: PERMIT_REMOTE_KILL
|
|
|
|
Address: 0x0EE0
|
|
Content:
|
|
0: memcpy(ANI_DTMF_ID, Data, sizeof(ANI_DTMF_ID))
|
|
|
|
Address: 0x0EE8
|
|
Content:
|
|
0: memcpy(KILL_CODE, Data, sizeof(KILL_CODE))
|
|
|
|
Address: 0x0EF0
|
|
Content:
|
|
0: memcpy(REVIVE_CODE, Data, sizeof(REVIVE_CODE))
|
|
|
|
Address: 0x0EF8
|
|
Content:
|
|
0: memcpy(DTMF_UP_CODE, Data, sizeof(DTMF_UP_CODE))
|
|
|
|
Address: 0x0F08
|
|
Content:
|
|
0: memcpy(DTMF_DOWN_CODE, Data, sizeof(DTMF_DOWN_CODE))
|
|
|
|
Address: 0x0F18
|
|
Content:
|
|
0: SCAN_LIST_DEFAULT
|
|
1: SCAN_LIST_ENABLED[0]
|
|
2: SCANLIST_PRIORITY_CH1[0]
|
|
3: SCANLIST_PRIORITY_CH2[0]
|
|
4: SCAN_LIST_ENABLED[1]
|
|
5: SCANLIST_PRIORITY_CH1[1]
|
|
6: SCANLIST_PRIORITY_CH2[1]
|
|
|
|
Address: 0x0F30
|
|
Content:
|
|
bHasCustomAesKey: true/false
|
|
|
|
Address: 0x0F40
|
|
Content:
|
|
0: F_LOCK
|
|
1: 350TX
|
|
2: KILLED
|
|
3: 200TX
|
|
4: 500TX
|
|
5: 350EN
|
|
6: ScrambleEnable
|
|
7: live_DTMF_decoder
|
|
|
|
Address: CEC_EEPROM_START1 = 0x1D50
|
|
Content:
|
|
LiveSeekMode
|
|
CW_KEYTYPE
|
|
CW_SPEED
|
|
CW_TONE
|