Exemplo n.º 1
0
/**
* @brief  Callback when a vfo button is pressed
*
* @param widget
* @param data
*/
void vfoCallback(GtkWidget* widget,gpointer data) {
    long long f;
    GtkWidget* label;

    if(widget==buttonAtoB) {
        setBFrequency(frequencyA);
    } else if(widget==buttonBtoA) {
        setAFrequency(frequencyB);
    } else if(widget==buttonAswapB) {
        f=frequencyA;
        setAFrequency(frequencyB);
        setBFrequency(f);
    } else if(widget==buttonSplit) {
        label=gtk_bin_get_child((GtkBin*)buttonSplit);
        if(bSplit) {
            bSplit=0;
            //gtk_widget_modify_fg(label, GTK_STATE_NORMAL, &white);
            //gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, &white);
            splitChanged=1;
            frequencyAChanged=1;
        } else {
            bSplit=1;
            //gtk_widget_modify_fg(label, GTK_STATE_NORMAL, &red);
            //gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, &red);
            splitChanged=1;
            frequencyBChanged=1;
        }
    }
}
Exemplo n.º 2
0
/**
* @brief Increment the frequency
*
* @param increment
*/
void vfoIncrementFrequency(long increment) {
    if(subrx) {
        subrxIncrementFrequency(increment);
    } else {
        setAFrequency(frequencyA+(long long)increment);
    }
}
Exemplo n.º 3
0
/**
* @brief Increment the A frequency
*
* @param increment
*/
void vfoIncrementAFrequency(long increment) {
    setAFrequency(frequencyA+(long long)increment);
}
Exemplo n.º 4
0
/* ----------------------------------------------------------------------------*/
void selectBand(GtkWidget* widget) {
    GtkWidget* label;
    BANDSTACK_ENTRY* entry;
    XVTR_ENTRY* xvtr_entry;
    int current;

    resetSubRx();

    if(currentBandButton) {
        label=gtk_bin_get_child((GtkBin*)currentBandButton);
        gtk_widget_modify_fg(label, GTK_STATE_NORMAL, &black);
        gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, &white);
    }
    label=gtk_bin_get_child((GtkBin*)widget);
    gtk_widget_modify_fg(label, GTK_STATE_NORMAL, &buttonSelected);
    gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, &buttonSelected);

    //save current
    if(currentBandButton) {
        if(displayHF) {
            currentHFButton=currentBandButton;
            current=bandstack[band].current_entry;
            entry=&bandstack[band].entry[current];
            entry->frequencyA=frequencyA;
            entry->mode=mode;
            entry->filter=filter;
            entry->var1Low=filterVar1Low;
            entry->var1High=filterVar1High;
            entry->var2Low=filterVar2Low;
            entry->var2High=filterVar2High;
            entry->step=frequencyIncrement;
            entry->preamp=preamp;
            entry->spectrumHigh=spectrumMAX;
            entry->spectrumLow=spectrumMIN;
            entry->spectrumStep=spectrumSTEP;
            entry->waterfallHigh=waterfallHighThreshold;
            entry->waterfallLow=waterfallLowThreshold;
        } else {
            currentXVTRButton=currentBandButton;
            xvtr_entry=&xvtr[xvtr_band];
            xvtr_entry->rxFrequency=frequencyA;
            xvtr_entry->txFrequency=frequencyB;
            xvtr_entry->mode=mode;
            xvtr_entry->filter=filter;
            xvtr_entry->var1Low=filterVar1Low;
            xvtr_entry->var1High=filterVar1High;
            xvtr_entry->var2Low=filterVar2Low;
            xvtr_entry->var2High=filterVar2High;
            xvtr_entry->step=frequencyIncrement;
            xvtr_entry->preamp=preamp;
            xvtr_entry->spectrumHigh=spectrumMAX;
            xvtr_entry->spectrumLow=spectrumMIN;
            xvtr_entry->spectrumStep=spectrumSTEP;
            xvtr_entry->waterfallHigh=waterfallHighThreshold;
            xvtr_entry->waterfallLow=waterfallLowThreshold;
        }
    }

    if(widget==buttonBand14) {
        // XVTR / HF
        displayHF=!displayHF;
        if(displayHF) {
            currentBandButton=NULL;
            setHFTitles();
            setBand(band);
            //selectBand(currentHFButton);
        } else {
            currentBandButton=NULL;
            setXVTRTitles();
            setBand(xvtr_band);
            //selectBand(currentXVTRButton);
        }
    } else {
        if(displayHF) {
            setLOFrequency(0LL);
            if(currentBandButton==widget) {
                bandstack[band].current_entry++;
                if(bandstack[band].current_entry>=bandstack[band].entries) {
                    bandstack[band].current_entry=0;
                }
            } else {
                currentBandButton=widget;
                if(widget==buttonBand1) {
                    band=band160;
                } else if(widget==buttonBand2) {
                    band=band80;
                } else if(widget==buttonBand3) {
                    band=band60;
                } else if(widget==buttonBand4) {
                    band=band40;
                } else if(widget==buttonBand5) {
                    band=band30;
                } else if(widget==buttonBand6) {
                    band=band20;
                } else if(widget==buttonBand7) {
                    band=band17;
                } else if(widget==buttonBand8) {
                    band=band15;
                } else if(widget==buttonBand9) {
                    band=band12;
                } else if(widget==buttonBand10) {
                    band=band10;
                } else if(widget==buttonBand11) {
                    band=band6;
                } else if(widget==buttonBand12) {
                    band=bandGen;
                } else if(widget==buttonBand13) {
                    band=bandWWV;
                } else if(widget==buttonBand14) {
                    band=bandXVTR;
                }
            }

            current=bandstack[band].current_entry;
            entry=&bandstack[band].entry[current];

            {
                int *m=malloc(sizeof(int));
                *m=entry->mode;
                setMode(m);
            }
            filterVar1Low=entry->var1Low;
            filterVar1High=entry->var1High;
            filterVar2Low=entry->var2Low;
            filterVar2High=entry->var2High;
            setFilter(entry->filter);
            {
                long long *f=malloc(sizeof(long long));
                *f=entry->frequencyA;
                setAFrequency(f);
            }
            setIncrement(entry->step);

            //setPreamp(entry->preamp);
            forcePreamp(entry->preamp);

            spectrumMAX=entry->spectrumHigh;
            spectrumMIN=entry->spectrumLow;
            spectrumSTEP=entry->spectrumStep;
            waterfallHighThreshold=entry->waterfallHigh;
            waterfallLowThreshold=entry->waterfallLow;
        } else {
            currentBandButton=widget;

            if(widget==buttonBand1) {
                xvtr_band=band160;
            } else if(widget==buttonBand2) {
                xvtr_band=band80;
            } else if(widget==buttonBand3) {
                xvtr_band=band60;
            } else if(widget==buttonBand4) {
                xvtr_band=band40;
            } else if(widget==buttonBand5) {
                xvtr_band=band30;
            } else if(widget==buttonBand6) {
                xvtr_band=band20;
            } else if(widget==buttonBand7) {
                xvtr_band=band17;
            } else if(widget==buttonBand8) {
                xvtr_band=band15;
            } else if(widget==buttonBand9) {
                xvtr_band=band12;
            } else if(widget==buttonBand10) {
                xvtr_band=band10;
            } else if(widget==buttonBand11) {
                xvtr_band=band6;
            } else if(widget==buttonBand12) {
                xvtr_band=bandGen;
            }

            xvtr_entry=&xvtr[xvtr_band];
            {
                int *m=malloc(sizeof(int));
                *m=xvtr_entry->mode;
                setMode(m);
            }
            filterVar1Low=xvtr_entry->var1Low;
            filterVar1High=xvtr_entry->var1High;
            filterVar2Low=xvtr_entry->var2Low;
            filterVar2High=xvtr_entry->var2High;
            setFilter(xvtr_entry->filter);
            setLOFrequency(xvtr_entry->rxFrequencyLO);
            {
                long long *f=malloc(sizeof(long long));
                *f=xvtr_entry->rxFrequency;
                setAFrequency(f);
            }
            setIncrement(xvtr_entry->step);

            //setPreamp(xvtr_entry->preamp);
            forcePreamp(xvtr_entry->preamp);

            spectrumMAX=xvtr_entry->spectrumHigh;
            spectrumMIN=xvtr_entry->spectrumLow;
            spectrumSTEP=xvtr_entry->spectrumStep;
            waterfallHighThreshold=xvtr_entry->waterfallHigh;
            waterfallLowThreshold=xvtr_entry->waterfallLow;

        }
    }
}