#include "wdsp.h"
#include "radio.h"
#include "receiver.h"
+#include "transmitter.h"
#include "property.h"
#include "new_menu.h"
#include "button_text.h"
}
void mox_cb(GtkWidget *widget, gpointer data) {
+
+fprintf(stderr,"mox_cb: mox=%d\n",mox);
if(getTune()==1) {
setTune(0);
}
}
} else if(canTransmit() || tx_out_of_band) {
setMox(1);
+ } else {
+ transmitter_set_out_of_band(transmitter);
}
g_idle_add(vfo_update,NULL);
}
int mox_update(void *data) {
+ int state=(int)data;
if(getTune()==1) {
setTune(0);
}
- setMox((int)data);
+ if(state) {
+ if(canTransmit() || tx_out_of_band) {
+ setMox(state);
+ } else {
+ transmitter_set_out_of_band(transmitter);
+ }
+ } else {
+ setMox(state);
+ }
+ g_idle_add(vfo_update,NULL);
return 0;
}
if(protocol==NEW_PROTOCOL || (mode!=modeCWU && mode!=modeCWL)) {
mox_cb(NULL,NULL);
}
+ g_idle_add(vfo_update,NULL);
return 0;
}
setTune(0);
} else if(canTransmit() || tx_out_of_band) {
setTune(1);
+ } else {
+ transmitter_set_out_of_band(transmitter);
}
vfo_update(NULL);
}
cairo_move_to(cr, 5, 15);
cairo_show_text(cr, text);
- //long long af=active_receiver->frequency+active_receiver->dds_offset;
long long af=vfo[0].frequency+vfo[0].offset;
- sprintf(temp_text,"VFO A: %0lld.%06lld",af/(long long)1000000,af%(long long)1000000);
- if(isTransmitting() && !split) {
- cairo_set_source_rgb(cr, 1, 0, 0);
+ if(transmitter->out_of_band && !split) {
+ cairo_set_source_rgb(cr, 1, 0, 0);
+ sprintf(temp_text,"VFO A: Out of band");
} else {
- if(active_receiver->id==0) {
- cairo_set_source_rgb(cr, 0, 1, 0);
- } else {
- cairo_set_source_rgb(cr, 0, 0.65, 0);
- }
+ sprintf(temp_text,"VFO A: %0lld.%06lld",af/(long long)1000000,af%(long long)1000000);
+ if(isTransmitting() && !split) {
+ cairo_set_source_rgb(cr, 1, 0, 0);
+ } else {
+ if(active_receiver->id==0) {
+ cairo_set_source_rgb(cr, 0, 1, 0);
+ } else {
+ cairo_set_source_rgb(cr, 0, 0.65, 0);
+ }
+ }
}
cairo_move_to(cr, 5, 38);
cairo_set_font_size(cr, 22);
cairo_show_text(cr, temp_text);
- //long long bf=frequencyB;
+
long long bf=vfo[1].frequency+vfo[1].offset;
- sprintf(temp_text,"VFO B: %0lld.%06lld",bf/(long long)1000000,bf%(long long)1000000);
- if(isTransmitting() && split) {
- cairo_set_source_rgb(cr, 1, 0, 0);
+ if(transmitter->out_of_band && split) {
+ cairo_set_source_rgb(cr, 1, 0, 0);
+ sprintf(temp_text,"VFO B: Out of band");
} else {
- if(active_receiver->id==1) {
- cairo_set_source_rgb(cr, 0, 1, 0);
- } else {
- cairo_set_source_rgb(cr, 0, 0.65, 0);
- }
+ sprintf(temp_text,"VFO B: %0lld.%06lld",bf/(long long)1000000,bf%(long long)1000000);
+ if(isTransmitting() && split) {
+ cairo_set_source_rgb(cr, 1, 0, 0);
+ } else {
+ if(active_receiver->id==1) {
+ cairo_set_source_rgb(cr, 0, 1, 0);
+ } else {
+ cairo_set_source_rgb(cr, 0, 0.65, 0);
+ }
+ }
}
cairo_move_to(cr, 260, 38);
cairo_show_text(cr, temp_text);