Changeset 357


Ignore:
Timestamp:
01/23/12 01:30:19 (4 months ago)
Author:
df9dq
Message:

Firmware: Freien Pin als PTT verwenden (oder für beliebige Zwecke)

Location:
trunk/Software/LPC/fifisdr/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Software/LPC/fifisdr/src/i2c/si570.c

    r341 r357  
    388388    } 
    389389 
    390     if ((g_params.presel_mode == 2) || (g_params.presel_mode == 3)) { 
     390    if (g_params.presel_mode == 2) { 
    391391        //TODO  Frequenz per UART senden 
    392392    } 
     
    414414    } 
    415415 
    416     if ((g_params.presel_mode == 1) || (g_params.presel_mode == 2)) { 
     416    if ((g_params.presel_mode == 1) || (g_params.presel_mode == 2) || (g_params.presel_mode == 3)) { 
    417417        pattern = 0; 
    418418        search_range = 0xFFFFFFFF; 
     
    431431 
    432432        /* Set outputs */ 
    433         LPC_GPIO2->FIOCLR = ((~pattern) & 0x0F) << 5; 
    434         LPC_GPIO2->FIOSET = (( pattern) & 0x0F) << 5; 
    435     } 
    436  
    437     if ((g_params.presel_mode == 2) || (g_params.presel_mode == 3)) { 
     433        if (g_params.presel_mode == 3) { 
     434            LPC_GPIO2->FIOCLR = ((~pattern) & 0x07) << 5; 
     435            LPC_GPIO2->FIOSET = (( pattern) & 0x07) << 5; 
     436        } 
     437        else { 
     438            LPC_GPIO2->FIOCLR = ((~pattern) & 0x0F) << 5; 
     439            LPC_GPIO2->FIOSET = (( pattern) & 0x0F) << 5; 
     440        } 
     441    } 
     442 
     443    if (g_params.presel_mode == 2) { 
    438444        //TODO  Frequenz per UART senden 
    439445    } 
     
    765771static void si570_OStimerCallback (xTimerHandle timer) 
    766772{ 
     773    (void) timer; 
    767774    si570_Message message; 
    768      
     775 
    769776    message.opcode = SI570_MESSAGE_SAVE_PARAMS; 
    770777    xQueueSendToBack(si570_queue, &message, 0); 
  • trunk/Software/LPC/fifisdr/src/lpcusb/softrock.c

    r341 r357  
    7474            pbData[1] = 17; 
    7575            length = 2; 
    76         break; 
     76            break; 
    7777 
    7878        case 0x02:  /* Dummy */ 
    79             pbData[0] = 0x00; 
     79            pbData[0] = 0 
     80               | (0 << 5)               /* CW1 */ 
     81               | (0 << 4)               /* PTT */ 
     82               | (1 << 3)               /* 3.3V indicator */ 
     83               | (0 << 1)               /* CW2 */ 
     84               ; 
    8085            length = 1; 
    81         break; 
     86            break; 
    8287 
    8388        case 0x15: 
     
    8590            pbData[1] = 0; 
    8691            length = 2; 
    87         break; 
     92            break; 
    8893 
    8994        case 0x17:  /* Filter */ 
     
    123128            } 
    124129            break; 
    125          
     130 
    126131        case 0x19:  /* Read RX Band Pass Filter */ 
    127132            pbData[0] = 0; 
     
    143148            } 
    144149            break; 
    145          
     150 
    146151        case 0x30:  /* Set frequency by register values */ 
    147152            si570_setVirtualRegisters (pbData); 
     
    222227            break; 
    223228 
     229        case 0x43:  /* Dummy (Get/Set USB ID) */ 
     230            pbData[0] = '0'; 
     231            length = 1; 
     232            break; 
     233 
    224234        case 0x44:  /* Si570 Speed Grade and DCO range */ 
    225235            /* No support for changing the parameters! */ 
     
    229239            pwData[1] = 5670;   /* DCO maximum frequency [MHz] */ 
    230240            pbData[4] = 3;      /* Grade C (A=1, B=2, C=3, C+=4 */ 
    231             length = 5; 
     241            pbData[5] = 0x87;   /* M freeze for RFREQ change, register set starts at 7 */ 
     242            length = 6; 
    232243            break; 
    233244 
    234245        case 0x50:  /* Set PTT line */ 
     246#if (BOARD_TYPE == BOARD_KAI2) 
     247            /* Preselector mode 3: Use pin X6.8 (SV1.12 on preselector) as PTT */ 
     248            if (g_params.presel_mode == 3) { 
     249                if (pSetup->wValue & 1) { 
     250                    LPC_GPIO2->FIOSET = (1 << 8); 
     251                } 
     252                else { 
     253                    LPC_GPIO2->FIOCLR = (1 << 8); 
     254                } 
     255            } 
     256#endif 
    235257            pbData[0] = 0x22; 
    236258            length = 1; 
    237         break; 
     259            break; 
    238260 
    239261        case 0x51:  /* Read CW key level */ 
    240             pbData[0] = 0xFF; 
     262            pbData[0] = 0x22; 
    241263            length = 1; 
    242         break; 
     264            break; 
    243265 
    244266        case 0xAB:    /* FiFi-SDR specific commands (read) */ 
  • trunk/Software/LPC/fifisdr/src/params.h

    r297 r357  
    5454             * 2 = Wie (1), aber nur drei digitale AusgÀnge (noch immer 16 BÀnder!), und zusÀtzlich 
    5555             *     eine serielle Ausgabe der Frequenz ÃŒber UART. 
    56              * 3 = Wenn ein Jumper gesetzt ist, wird die Frequenz ÃŒber UART ausgegeben. Es gibt 
    57              *     dann keine Digital-AusgÀnge. Wenn der Jumper nicht gesetzt ist, dann wie (1). 
     56             * 3 = Wie (1), es werden aber nur drei AusgÀnge fÃŒr die acht BÀnder des 
     57             *     FiFi-Preselektors benutzt. 
     58             *     Der Pin X6.8 wird als PTT verwendet (PTT aktiv --> X6.8 = low). 
     59             *     Pin X6.8 des FiFi-SDR entspricht Pin SV1.12 am FiFi-Preselektor. 
    5860             */ 
    5961            uint32_t presel_freq[16][2];    /* Anfangs- und Endfrequenz. Format 11.21 */ 
  • trunk/Software/LPC/fifisdr/src/startup.c

    r327 r357  
    8686void (*vector_table[])( void ) __attribute__ ((section(".vectors"))) = 
    8787{ 
    88     &__stack_end__, 
     88    (void(*)(void))&__stack_end__, 
    8989    Reset_Handler, 
    9090    NMI_Handler, 
Note: See TracChangeset for help on using the changeset viewer.