diff --git a/README.md b/README.md index 95b651a..26b1e56 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,144 @@ 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