]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
source code change so it will compile on X86/X64 linux box
authorg0orx <john.d.melton@googlemail.com>
Tue, 19 Apr 2016 17:47:29 +0000 (18:47 +0100)
committerg0orx <john.d.melton@googlemail.com>
Tue, 19 Apr 2016 17:47:29 +0000 (18:47 +0100)
Makefile
band.c
gpio.c
gpio.h
main.c
menu.c
splash.c
toolbar.c
toolbar.h
vfo.c

index 0ece6270ad98cd149d03c7c636c44129816c31d2..4b824fcc96c932f90cf2d6171a3921446683dcfc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,10 +6,12 @@ OPTIONS=-g -D $(UNAME_N) -O3
 GTKINCLUDES=`pkg-config --cflags gtk+-3.0`
 GTKLIBS=`pkg-config --libs gtk+-3.0`
 ifeq ($(UNAME_N),raspberrypi)
-LIBS=-lwiringPi -lpigpio -lrt -lm -lwdsp -lpthread $(GTKLIBS)
-else
-LIBS=-lwiringPi -lrt -lm -lwdsp -lpthread $(GTKLIBS)
+GPIO_LIBS=-lwiringPi -lpigpio
 endif
+ifeq ($(UNAME_N),odroid)
+GPIO_LIBS=-lwiringPi
+endif
+LIBS=-lrt -lm -lwdsp -lpthread $(GTKLIBS)
 INCLUDES=$(GTKINCLUDES)
 
 COMPILE=$(CC) $(OPTIONS) $(INCLUDES)
@@ -104,7 +106,7 @@ prebuild:
        rm -f version.o
 
 $(PROGRAM): $(OBJS)
-       $(LINK) -o $(PROGRAM) $(OBJS) $(LIBS)
+       $(LINK) -o $(PROGRAM) $(OBJS) $(GPIO_LIBS) $(LIBS)
 
 .c.o:
        $(COMPILE) -c -o $@ $<
diff --git a/band.c b/band.c
index 7bc91c4241bc3c2280bc8b0c1d4ffaa60d22f630..fc35dd29d98b0cb7a83f798565e87a4fe4acc96c 100644 (file)
--- a/band.c
+++ b/band.c
@@ -119,19 +119,19 @@ BANDSTACK bandstackGEN={3,1,bandstack_entriesGEN};
 BANDSTACK bandstackWWV={5,1,bandstack_entriesWWV};
 
 BAND bands[BANDS] = 
-    {{"160",&bandstack160,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"80",&bandstack80,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"60",&bandstack60,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"40",&bandstack40,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"30",&bandstack30,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"20",&bandstack20,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"18",&bandstack18,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"15",&bandstack15,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"12",&bandstack12,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"10",&bandstack10,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"50",&bandstack50,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
-     {"GEN",&bandstackGEN,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,0},
-     {"WWV",&bandstackWWV,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,0}};
+    {{"160",&bandstack160,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"80",&bandstack80,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"60",&bandstack60,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"40",&bandstack40,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"30",&bandstack30,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"20",&bandstack20,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"18",&bandstack18,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"15",&bandstack15,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"12",&bandstack12,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"10",&bandstack10,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"50",&bandstack50,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,30},
+     {"GEN",&bandstackGEN,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,0},
+     {"WWV",&bandstackWWV,0,0,0,ALEX_RX_ANTENNA_NONE,ALEX_TX_ANTENNA_1,ALEX_ATTENUATION_0dB,0}};
 
 #define NUM_BAND_LIMITS 22
 
diff --git a/gpio.c b/gpio.c
index 1a9746c935c150b4b1677f30ba78655f755b8180..6ddf73802e2542c761aea1d26a18a509e5cb8df3 100644 (file)
--- a/gpio.c
+++ b/gpio.c
@@ -1,3 +1,11 @@
+#ifdef raspberrypi
+#define INCLUDE_GPIO
+#endif
+#ifdef odroid
+#define INCLUDE_GPIO
+#endif
+
+#ifdef INCLUDE_GPIO
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -127,7 +135,6 @@ static volatile int lock_state;
 
 static void* rotary_encoder_thread(void *arg);
 static pthread_t rotary_encoder_thread_id;
-int function=0;
 static int previous_function_button=0;
 static int af_function=0;
 static int previous_af_function=0;
@@ -1157,3 +1164,4 @@ static void* rotary_encoder_thread(void *arg) {
 //        }
     }
 }
+#endif
diff --git a/gpio.h b/gpio.h
index 569b61622c5446856aa17a7ec8a36823befa7687..6d48ec29e6c3156afd7384094eaef6e99614b959 100644 (file)
--- a/gpio.h
+++ b/gpio.h
 *
 */
 
+#ifdef raspberrypi
+#define INCLUDE_GPIO
+#endif
+#ifdef odroid
+#define INCLUDE_GPIO
+#endif
+
+#ifdef INCLUDE_GPIO
 extern int ENABLE_VFO_ENCODER;
 extern int ENABLE_VFO_PULLUP;
 extern int VFO_ENCODER_A;
@@ -52,7 +60,6 @@ extern int MOX_BUTTON;
 extern int ENABLE_FUNCTION_BUTTON;
 extern int FUNCTION_BUTTON;
 
-extern int function;
 void gpio_restore_state();
 void gpio_save_state();
 int gpio_init();
@@ -69,3 +76,4 @@ int filter_get_state();
 int noise_get_state();
 int mox_get_state();
 
+#endif
diff --git a/main.c b/main.c
index 15c935ecb941bf1f55acbc3ded7f1de0422381ed..8e8ac599553a5ea80a6f631544ea366b3c3ed3f5 100644 (file)
--- a/main.c
+++ b/main.c
 #include "wdsp_init.h"
 #include "version.h"
 
+#ifdef raspberrypi
+#define INCLUDE_GPIO
+#endif
+#ifdef odroid
+#define INCLUDE_GPIO
+#endif
+
 #define VFO_HEIGHT ((display_height/32)*4)
 #define VFO_WIDTH ((display_width/32)*16)
 #define MENU_HEIGHT VFO_HEIGHT
@@ -62,6 +69,7 @@ struct utsname unameData;
 
 gint display_width;
 gint display_height;
+gint full_screen=1;
 
 static gint update_timer_id;
 
@@ -238,6 +246,7 @@ static void toolbar_simulate_buttons_cb(GtkWidget *widget, gpointer data) {
   toolbar_simulate_buttons=toolbar_simulate_buttons==1?0:1;
 }
 
+#ifdef INCLUDE_GPIO
 static void configure_gpio() {
   gpio_restore_state();
 
@@ -519,6 +528,7 @@ static void configure_gpio() {
 
   gpio_save_state();
 }
+#endif
 
 static void configure_cb(GtkWidget *widget, gpointer data) {
   DISCOVERED* d;
@@ -715,8 +725,10 @@ gint init(void* arg) {
           discovery_dialog = gtk_dialog_new_with_buttons ("Discovered",
                                       GTK_WINDOW(splash_window),
                                       flags,
+#ifdef INCLUDE_GPIO
                                       "Configure GPIO",
                                       GTK_RESPONSE_YES,
+#endif
                                       "Discover",
                                       GTK_RESPONSE_REJECT,
                                       "Exit",
@@ -776,10 +788,12 @@ gint init(void* arg) {
               _exit(0);
           }
          
+#ifdef INCLUDE_GPIO
           gtk_widget_destroy(discovery_dialog);
           if(result==GTK_RESPONSE_YES) {
               configure_gpio();
           }
+#endif
       }
   }
 
@@ -815,7 +829,9 @@ gint init(void* arg) {
   }
 
   splash_status("Initializing GPIO ...");
+#ifdef INCLUDE_GPIO
   gpio_init();
+#endif
 
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title (GTK_WINDOW (window), "pihpsdr");
@@ -935,7 +951,9 @@ fprintf(stderr,"toolbar_height=%d\n",TOOLBAR_HEIGHT);
 
   gtk_widget_show_all (window);
 
-  gtk_window_fullscreen(GTK_WINDOW(window));
+  if(full_screen) {
+    gtk_window_fullscreen(GTK_WINDOW(window));
+  }
 
   GdkWindow *gdk_window = gtk_widget_get_window(window);
   gdk_window_set_cursor(gdk_window,cursor_arrow);
@@ -980,9 +998,15 @@ main (int   argc,
   display_width=gdk_screen_get_width(screen);
   display_height=gdk_screen_get_height(screen);
 
+  if(display_width>800 || display_height>480) {
+    display_width=800;
+    display_height=400;
+    full_screen=0;
+  }
+
   fprintf(stderr,"display_width=%d display_height=%d\n", display_width, display_height);
 
-  splash_show("hpsdr.png", 0, display_width, display_height);
+  splash_show("hpsdr.png", display_width, display_height, full_screen);
 
   g_idle_add(init,(void *)argv[0]);
 
diff --git a/menu.c b/menu.c
index ac7ed8258c3f9d9f25bc65d471de3d77a166ec92..21a33170d7b66840743c5aaa52e14639c018bdf9 100644 (file)
--- a/menu.c
+++ b/menu.c
 *
 */
 
+#ifdef raspberrypi
+#define INCLUDE_GPIO
+#endif
+#ifdef odroid
+#define INCLUDE_GPIO
+#endif
+
 #include <gtk/gtk.h>
 #include <semaphore.h>
 #include <stdio.h>
@@ -191,7 +198,9 @@ static gboolean exit_pressed_event_cb (GtkWidget *widget,
                GdkEventButton *event,
                gpointer        data)
 {
+#ifdef INCLUDE_GPIO
   gpio_close();
+#endif
   if(protocol==ORIGINAL_PROTOCOL) {
     old_protocol_stop();
   } else {
index a231547577a7143b607242b7101aaf71769fc736..886c0580d5ec1add250660d01961bef7d6d82c5c 100644 (file)
--- a/splash.c
+++ b/splash.c
@@ -46,11 +46,13 @@ static gboolean splash_configure_event_cb (GtkWidget         *widget,
 }
 
 
-void splash_show(char* image_name,int time,int width,int height)
+void splash_show(char* image_name,int width,int height,int full_screen)
 {
   GtkWidget  *image;
   splash_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-  gtk_window_fullscreen(GTK_WINDOW(splash_window));
+  if(full_screen) {
+    gtk_window_fullscreen(GTK_WINDOW(splash_window));
+  }
   gtk_widget_set_size_request(splash_window, width, height);
   gtk_window_set_decorated(GTK_WINDOW(splash_window), FALSE);
   gtk_window_set_position(GTK_WINDOW(splash_window),GTK_WIN_POS_CENTER_ALWAYS);
index c24462b7474616f914bdbc0546d4c69150f169c3..c967641a8fa0b35cff117644bff9987821d3c411 100644 (file)
--- a/toolbar.c
+++ b/toolbar.c
@@ -38,6 +38,8 @@
 #include "radio.h"
 #include "property.h"
 
+int function=0;
+
 static int width;
 static int height;
 
index 6b393814a29c873cb38c71cb2b9f8959a1ac53ee..eb758c79a6f8795c291fa1dd5386907b14dbd848 100644 (file)
--- a/toolbar.h
+++ b/toolbar.h
@@ -17,6 +17,8 @@
 *
 */
 
+extern int function;
+
 int ptt_update(void *data);
 void lock_cb(GtkWidget *widget, gpointer data);
 void mox_cb(GtkWidget *widget, gpointer data);
diff --git a/vfo.c b/vfo.c
index 3386211f133e27d6938ebe9a3ba991ad26b8f4e7..c3f2a16e97d1639579e8562f2966e0a5ea2f05a9 100644 (file)
--- a/vfo.c
+++ b/vfo.c
@@ -37,7 +37,7 @@
 #include "radio.h"
 #include "vfo.h"
 #include "channel.h"
-#include "gpio.h"
+#include "toolbar.h"
 #include "wdsp.h"
 
 static GtkWidget *parent_window;