From de18436cda8c367074e40745abaef2530da0676c Mon Sep 17 00:00:00 2001 From: bsongis Date: Sat, 18 Aug 2012 21:10:51 +0000 Subject: [PATCH] Issue 93 fixed Flash saving. --- src/drivers.cpp | 15 +++++---------- src/open9x.cpp | 13 ++++++++----- src/open9x.h | 11 ++++------- src/pulses_avr.cpp | 1 + src/stock/voice.cpp | 2 +- 5 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/drivers.cpp b/src/drivers.cpp index fd51f7f15..dd4bd30e8 100644 --- a/src/drivers.cpp +++ b/src/drivers.cpp @@ -82,10 +82,6 @@ void Key::input(bool val, EnumKeys enuk) if(m_state && m_vals==0){ //gerade eben sprung auf 0 if(m_state!=KSTATE_KILLED) { putEvent(EVT_KEY_BREAK(enuk)); - if(!( m_state == 16 && m_cnt<16)){ - m_dblcnt=0; - } - // } } m_cnt = 0; m_state = KSTATE_OFF; @@ -94,7 +90,6 @@ void Key::input(bool val, EnumKeys enuk) case KSTATE_OFF: if(m_vals==FFVAL){ //gerade eben sprung auf ff m_state = KSTATE_START; - if(m_cnt>16) m_dblcnt=0; //pause zu lang fuer double m_cnt = 0; } break; @@ -102,7 +97,6 @@ void Key::input(bool val, EnumKeys enuk) case KSTATE_START: putEvent(EVT_KEY_FIRST(enuk)); inacCounter = 0; - m_dblcnt++; m_state = KSTATE_RPTDELAY; m_cnt = 0; break; @@ -142,13 +136,14 @@ void Key::input(bool val, EnumKeys enuk) void pauseEvents(uint8_t event) { - event=event & EVT_KEY_MASK; - if(event < (int)DIM(keys)) keys[event].pauseEvents(); + event = event & EVT_KEY_MASK; + if (event < (int)DIM(keys)) keys[event].pauseEvents(); } + void killEvents(uint8_t event) { - event=event & EVT_KEY_MASK; - if(event < (int)DIM(keys)) keys[event].killEvents(); + event = event & EVT_KEY_MASK; + if (event < (int)DIM(keys)) keys[event].killEvents(); } volatile uint16_t g_tmr10ms; diff --git a/src/open9x.cpp b/src/open9x.cpp index be296c84c..c09a6abac 100644 --- a/src/open9x.cpp +++ b/src/open9x.cpp @@ -1250,11 +1250,14 @@ void checkTrims() #endif if (beepTrim) { - killEvents(event); - if (beepTrim == 1) + if (beepTrim == 1) { AUDIO_TRIM_MIDDLE(after); - else + pauseEvents(event); + } + else { AUDIO_TRIM_END(after); + killEvents(event); + } } else { AUDIO_TRIM(event, after); @@ -2759,14 +2762,14 @@ ISR(TIMER0_COMP_vect, ISR_NOBLOCK) //10ms timer { cli(); -#if defined (PCBV4) +#if defined(PCBV4) static uint8_t accuracyWarble = 4; // because 16M / 1024 / 100 = 156.25. So bump every 4. uint8_t bump = (!(accuracyWarble++ & 0x03)) ? 157 : 156; TIMSK2 &= ~(1<= 0xF0) { + if ((VoiceSerial & 0x01F0) == 0xF0) { // Looking for F0-F7 or FF if (VoiceSerial == 0xFF) { VoiceShift = 1; return;