Changeset 26 in svn


Ignore:
Timestamp:
Mar 25, 2015 5:12:16 PM (11 years ago)
Author:
megakiss
Message:

금강방송 Except 채널 구현

Location:
trunk/zasc/app_c
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/zasc/app_c/DST_BaseWin.c

    r22 r26  
    183183                                                bPSIPTimeOut = true; 
    184184                                                if (nScanCount > 0 && CT_ScanFindChannel() == false) JST_DB_Del(event.data32[1]); 
    185                                                 if (nScanCount > DST_MaxRF() - DST_MinRF()+1) 
     185                                                if (nScanCount > DST_MaxRF() - DST_MinRF()+1 - DST_DB_GetExceptRFCount()) 
    186186                                                { 
    187187                                                        DST_SendWindowEventWithOnlyCmd(WM_POWER_DOWN_ENTER); 
    188188                                                        return; 
    189189                                                } 
    190                                                 nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     190                                                //nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     191                                                nRF = DST_DB_GetNextUnexceptRF(nRF); 
    191192                                                JST_Scan(nRF); 
    192193                                                nScanCount++; 
     
    215216                                                bLockTimeOut = true; 
    216217                                                if (nScanCount > 0 && CT_ScanFindChannel() == false) JST_DB_Del(event.data32[1]); 
    217                                                 if (nScanCount > DST_MaxRF() - DST_MinRF()+1) 
     218                                                if (nScanCount > DST_MaxRF() - DST_MinRF()+1- DST_DB_GetExceptRFCount()) 
    218219                                                { 
    219220                                                        DST_SendWindowEventWithOnlyCmd(WM_POWER_DOWN_ENTER); 
    220221                                                        return; 
    221222                                                } 
    222                                                 nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     223                                                //nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     224                                                nRF = DST_DB_GetNextUnexceptRF(nRF); 
    223225                                                JST_Scan(nRF); 
    224226                                                nScanCount++; 
     
    229231                                                if (bPSIPTimeOut || bLockTimeOut || bReceiveTVCT) break; 
    230232                                                bReceiveTVCT = true; 
    231                                                 if (nScanCount > DST_MaxRF() - DST_MinRF()+1) 
     233                                                if (nScanCount > DST_MaxRF() - DST_MinRF()+1- DST_DB_GetExceptRFCount()) 
    232234                                                { 
    233235                                                        DST_SendWindowEventWithOnlyCmd(WM_POWER_DOWN_ENTER); 
    234236                                                        return; 
    235237                                                } 
    236                                                 nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     238                                                //nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     239                                                nRF = DST_DB_GetNextUnexceptRF(nRF); 
    237240                                                JST_Scan(nRF); 
    238241                                                nScanCount++; 
     
    262265                                this->KillTimer(this, 1); // Background ScanÀ» ÁßÁöÇÑ´Ù. 
    263266                                if (DST_g_PowerOn == true) break; 
    264                                 nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     267                                //nRF = (nRF >= DST_MaxRF()) ? DST_MinRF() : nRF+1; 
     268                                nRF = DST_DB_GetNextUnexceptRF(nRF); 
    265269                                JST_Scan(nRF); 
    266270                                nScanCount++; 
  • trunk/zasc/app_c/DST_DB.c

    r22 r26  
    650650// Á֯ļö ¼³Á¤¿¡¼­ Á¦¿ÜµÈ ä³ÎÀÎÁö? 
    651651// ÀԷ°ªÀº rfÀÇ index °ªÀÌ´Ù 
    652 bool DST_DB_IsExceptRF(int rf) 
    653 { 
    654         if (DST_EEPROM_GetFrequencySetting() == 0) return false; 
    655         if (rf < DST_EEPROM_GetMinRF()) return false; 
    656         if (rf > DST_EEPROM_GetMaxRF()) return false; 
    657         return true; 
     652int DST_DB_IsExceptRF(int rf) 
     653{ 
     654        if (DST_EEPROM_GetFrequencySetting() == 0) return 0; 
     655        if (rf < DST_EEPROM_GetMinRF()) return 0; 
     656        if (rf > DST_EEPROM_GetMaxRF()) return 0; 
     657        return 1; 
    658658} 
    659659 
     
    665665} 
    666666 
     667static int GetNextRF(int rf) 
     668{ 
     669        if (rf >= DST_MaxRF()) return 0; 
     670        return rf+1; 
     671} 
    667672// Á¦¿ÜµÇÁö ¾ÊÀº ´ÙÀ½ RFÀÇ index°ªÀ» °¡Á®¿Â´Ù 
     673// ÀÔ·ÂµÈ °ªÀº ÇöÀç indexed rf ´Ù 
    668674int DST_DB_GetNextUnexceptRF(int rf) 
    669675{ 
    670         if (DST_EEPROM_GetFrequencySetting() == 0) return 0; 
    671         return DST_EEPROM_GetMaxRF() - DST_EEPROM_GetMinRF() + 1; 
    672 } 
     676        int i=0; 
     677        if (DST_EEPROM_GetFrequencySetting() == 0) 
     678        { 
     679                return GetNextRF(rf); 
     680        } 
     681        int curRF = rf; 
     682        for (i = DST_MinRF(); i <= DST_MaxRF(); i++) 
     683        { 
     684                curRF = GetNextRF(curRF);  
     685                if (DST_DB_IsExceptRF(curRF) == 0) return curRF; 
     686        }        
     687        return 0; 
     688} 
     689 
     690static int GetPrevRF(int rf) 
     691{ 
     692        if (rf <= DST_MinRF()) return DST_MaxRF(); 
     693        return rf-1; 
     694} 
     695// Á¦¿ÜµÇÁö ¾ÊÀº ´ÙÀ½ RFÀÇ index°ªÀ» °¡Á®¿Â´Ù 
     696// ÀÔ·ÂµÈ °ªÀº ÇöÀç indexed rf ´Ù 
     697int DST_DB_GetPrevUnexceptRF(int rf) 
     698{ 
     699        int i=0; 
     700        if (DST_EEPROM_GetFrequencySetting() == 0) 
     701        { 
     702                return GetPrevRF(rf); 
     703        } 
     704        int curRF = rf; 
     705        for (i = DST_MinRF(); i <= DST_MaxRF(); i++) 
     706        { 
     707                curRF = GetPrevRF(curRF);  
     708                if (DST_DB_IsExceptRF(curRF) == 0) return curRF; 
     709        }        
     710        return 0; 
     711} 
     712 
     713int DST_DB_GetUnexceptedFirstRF() 
     714{ 
     715        int i=0; 
     716        for (i = DST_MinRF(); i <= DST_MaxRF(); i++) 
     717        { 
     718                if (DST_DB_IsExceptRF(i) == 0) return i; 
     719        } 
     720        return DST_MinRF();      
     721} 
     722 
     723int DST_DB_GetUnexceptedLastRF() 
     724{ 
     725        int i=0; 
     726        for (i = DST_MaxRF(); i >= DST_MinRF(); i--) 
     727        { 
     728                if (DST_DB_IsExceptRF(i) == 0) return i; 
     729        } 
     730        return DST_MaxRF();      
     731} 
  • trunk/zasc/app_c/DST_DB.h

    r2 r26  
    6767DS_U32 DST_CRC32(DS_U8 *data, int len); 
    6868 
     69 
     70// Á֯ļö ¼³Á¤¿¡¼­ Á¦¿ÜµÈ ä³ÎÀÎÁö? 
     71// ÀԷ°ªÀº rfÀÇ index °ªÀÌ´Ù 
     72int DST_DB_IsExceptRF(int rf); 
     73 
     74// ¸î°³ÀÇ Ã¤³ÎÀÌ Á¦¿ÜµÇ¾ú´ÂÁö? 
     75int DST_DB_GetExceptRFCount(); 
     76 
     77// Á¦¿ÜµÇÁö ¾ÊÀº ´ÙÀ½ RFÀÇ index°ªÀ» °¡Á®¿Â´Ù 
     78// ÀÔ·ÂµÈ °ªÀº ÇöÀç indexed rf ´Ù 
     79int DST_DB_GetNextUnexceptRF(int rf); 
     80int DST_DB_GetPrevUnexceptRF(int rf); 
     81int DST_DB_GetUnexceptedFirstRF(); 
     82int DST_DB_GetUnexceptedLastRF(); 
     83 
    6984#endif 
    70  
  • trunk/zasc/app_c/DST_WinAutoSearch.c

    r8 r26  
    6060                this->SetTimeOut(this, 0); 
    6161                CAutoSearchWin_m_nState = 0; // ½ºÄµ Àü 
    62                 CAutoSearchWin_m_nRF = DST_MinRF(); 
     62                CAutoSearchWin_m_nRF = DST_DB_GetUnexceptedFirstRF(); 
    6363                memset(CAutoSearchWin_ch, 0, sizeof(CAutoSearchWin_ch)); 
    6464                memset(CAutoSearchWin_nChCount, 0, sizeof(CAutoSearchWin_nChCount)); 
     
    196196                { 
    197197                        case 0: nProg = 0; break; 
    198                         case 1: nProg = nRF - DST_MinRF() + 1; break; 
    199                         case 2: nProg = DST_MaxRF() - DST_MinRF()+1; break; 
     198                        case 1: nProg = nRF - DST_MinRF() + 1 - DST_DB_GetExceptRFCount(); break; 
     199                        case 2: nProg = DST_MaxRF() - DST_MinRF()+1 - DST_DB_GetExceptRFCount(); break; 
    200200                        default: break; 
    201201                } 
    202202                // DST_Printf("nProg = %d\n", nProg); 
    203203                 
    204                 CAutoSearchWin_DrawProgressBar(this, 34, 210, 346,  DST_MaxRF() - DST_MinRF() +1, nProg); 
     204                CAutoSearchWin_DrawProgressBar(this, 34, 210, 346,  DST_MaxRF() - DST_MinRF() +1-DST_DB_GetExceptRFCount(), nProg); 
    205205                                 
    206206                // ÁøÇà»óȲ ¹®±¸ 
     
    326326                                                        CAutoSearchWin_SearchChDB(event.data32[1]); 
    327327                                                } 
    328                                                 if (event.data32[1] >= DST_MaxRF()) 
     328                                                if (event.data32[1] >= DST_DB_GetUnexceptedLastRF()) 
    329329                                                { 
    330330                                                        CAutoSearchWin_ScanComplete(this); 
     
    332332                                                else 
    333333                                                { 
    334                                                         CAutoSearchWin_Scan(event.data32[1]+1); 
     334                                                        //CAutoSearchWin_Scan(event.data32[1]+1); 
     335                                                        CAutoSearchWin_Scan(DST_DB_GetNextUnexceptRF(event.data32[1])); 
    335336                                                }  
    336337                                                break; 
     
    376377                                                        CAutoSearchWin_SearchChDB(event.data32[1]); 
    377378                                                } 
    378                                                 if (event.data32[1] >= DST_MaxRF()) 
     379                                                if (event.data32[1] >= DST_DB_GetUnexceptedLastRF()) 
    379380                                                { 
    380381                                                        CAutoSearchWin_ScanComplete(this); 
     
    382383                                                else 
    383384                                                { 
    384                                                         CAutoSearchWin_Scan(event.data32[1]+1); 
     385                                                        //CAutoSearchWin_Scan(event.data32[1]+1); 
     386                                                        CAutoSearchWin_Scan(DST_DB_GetNextUnexceptRF(event.data32[1])); 
    385387                                                }  
    386388                                                break; 
     
    400402                                                CAutoSearchWin_bReceiveTVCT = true; 
    401403                                                CAutoSearchWin_SearchChDB(event.data32[1]); 
    402                                                 if (event.data32[1] >= DST_MaxRF()) 
     404                                                if (event.data32[1] >= DST_DB_GetUnexceptedLastRF()) 
    403405                                                { 
    404406                                                        CAutoSearchWin_ScanComplete(this); 
     
    464466                                        this->SetTimeOut(this, 0); 
    465467                                        CAutoSearchWin_bCanceled = false; 
    466                                         CAutoSearchWin_m_nRF = DST_MinRF(); 
     468                                        CAutoSearchWin_m_nRF = DST_DB_GetUnexceptedFirstRF(); 
    467469                                        memset(CAutoSearchWin_ch, 0, sizeof(CAutoSearchWin_ch)); 
    468470                                        memset(CAutoSearchWin_nChCount, 0, sizeof(CAutoSearchWin_nChCount)); 
  • trunk/zasc/app_c/DST_WinManualSearch.c

    r2 r26  
    215215        void CManualSearchWin_KeyInput(CWindow *this, unsigned char key, bool bRepeat) 
    216216        { 
     217                int i = 0; 
    217218                switch(key) 
    218219                { 
    219220                        case VK_UP: 
    220221//                              CManualSearchWin_m_bReceiveSI = true; 
    221                                 CManualSearchWin_m_nRF+=10; 
    222                                 if (CManualSearchWin_m_nRF > DST_MaxRF()) CManualSearchWin_m_nRF = DST_MinRF(); 
     222                                //CManualSearchWin_m_nRF+=10; 
     223                                //if (CManualSearchWin_m_nRF > DST_MaxRF()) CManualSearchWin_m_nRF = DST_MinRF(); 
     224                                for (i=0; i < 10; i++) CManualSearchWin_m_nRF = DST_DB_GetNextUnexceptRF(CManualSearchWin_m_nRF); 
     225                                 
    223226                                CManualSearchWin_ClearChList();  
    224227                                CManualSearchWin_SearchChDB(CManualSearchWin_m_nRF); 
     
    228231                        case VK_DN: 
    229232//                              CManualSearchWin_m_bReceiveSI = true; 
    230                                 CManualSearchWin_m_nRF-=10; 
    231                                 if(CManualSearchWin_m_nRF < DST_MinRF()) CManualSearchWin_m_nRF = DST_MaxRF(); 
     233                                //CManualSearchWin_m_nRF-=10; 
     234                                //if(CManualSearchWin_m_nRF < DST_MinRF()) CManualSearchWin_m_nRF = DST_MaxRF(); 
     235                                for (i=0; i < 10; i++) CManualSearchWin_m_nRF = DST_DB_GetPrevUnexceptRF(CManualSearchWin_m_nRF); 
     236                                 
    232237                                CManualSearchWin_ClearChList();  
    233238                                CManualSearchWin_SearchChDB(CManualSearchWin_m_nRF); 
     
    238243                                //JST_Stop(); 
    239244//                              CManualSearchWin_m_bReceiveSI = true; 
    240                                 CManualSearchWin_m_nRF++; 
    241                                 if (CManualSearchWin_m_nRF > DST_MaxRF()) CManualSearchWin_m_nRF = DST_MinRF(); 
     245                                //CManualSearchWin_m_nRF++; 
     246                                //if (CManualSearchWin_m_nRF > DST_MaxRF()) CManualSearchWin_m_nRF = DST_MinRF(); 
     247                                CManualSearchWin_m_nRF = DST_DB_GetNextUnexceptRF(CManualSearchWin_m_nRF); 
     248                                 
    242249                                CManualSearchWin_ClearChList();  
    243250                                CManualSearchWin_SearchChDB(CManualSearchWin_m_nRF); 
     
    248255                                //JST_Stop(); 
    249256//                              CManualSearchWin_m_bReceiveSI = true; 
    250                                 CManualSearchWin_m_nRF--; 
    251                                 if(CManualSearchWin_m_nRF < DST_MinRF()) CManualSearchWin_m_nRF = DST_MaxRF(); 
     257                                //CManualSearchWin_m_nRF--; 
     258                                //if(CManualSearchWin_m_nRF < DST_MinRF()) CManualSearchWin_m_nRF = DST_MaxRF(); 
     259                                CManualSearchWin_m_nRF = DST_DB_GetPrevUnexceptRF(CManualSearchWin_m_nRF); 
     260                                 
    252261                                CManualSearchWin_ClearChList();  
    253262                                CManualSearchWin_SearchChDB(CManualSearchWin_m_nRF); 
Note: See TracChangeset for help on using the changeset viewer.