added access methods for gps stuff
authorJosh Blum <josh@joshknows.com>
Tue, 29 Sep 2009 22:34:58 +0000 (15:34 -0700)
committerJosh Blum <josh@joshknows.com>
Tue, 29 Sep 2009 22:34:58 +0000 (15:34 -0700)
gr-vrt/src/vrt_quadradio_source_32fc.h
gr-vrt/src/vrt_source_32fc.cc
gr-vrt/src/vrt_source_32fc.h
gr-wxgui/src/python/forms/forms.py

index 799b07e86b929af119957db63754a36eaff8a823..45dad1f89ab313106aac88da4b3cc2a99e889c83 100644 (file)
@@ -120,8 +120,14 @@ public:
   double get_lo_freq(void){return d_lo_freq;}
   bool get_lo_locked(void){return d_lo_locked;}
   double get_caldiv_temp(void){return d_caldiv_temp;}
-  int get_caldiv_ser_no(void){return d_caldiv_rev;}
-  int get_caldiv_rev_no(void){return d_caldiv_ser;}
+  int get_caldiv_serial(void){return d_caldiv_rev;}
+  int get_caldiv_revision(void){return d_caldiv_ser;}
+  
+  //gps public access methods
+  int get_utc_time(void){return d_utc_time;}
+  double get_altitude(void){return d_altitude;}
+  double get_longitude(void){return d_longitude;}
+  double get_latitude(void){return d_latitude;}
 };
 
 
index 0091619ab0fa7d6509b47f9fab04c7a0fb154eab..3035813cc54a9c5821de5ac3c3485e2ffc8519af 100644 (file)
@@ -171,14 +171,20 @@ vrt_source_32fc::work(int noutput_items,
   //we have a context packet, grab its useful information...
   //remember that things are in network byte order!
   if (h.get_if_context()){
-    d_lo_freq = vrt_freq_to_double(ntohll(h.get_if_context()->caldiv.lo_freq));
-    d_cal_freq = vrt_freq_to_double(ntohll(h.get_if_context()->caldiv.cal_freq));
-    d_lo_locked = bool(ntohl(h.get_if_context()->caldiv.lo_locked));
-    d_cal_locked = bool(ntohl(h.get_if_context()->caldiv.cal_locked));
-    d_cal_enabled = bool(ntohl(h.get_if_context()->caldiv.cal_enabled));
-    d_caldiv_temp = vrt_temp_to_double(ntohl(h.get_if_context()->caldiv.temp));
-    d_caldiv_ser = ntohl(h.get_if_context()->caldiv.ser);
-    d_caldiv_rev = ntohl(h.get_if_context()->caldiv.rev);
+    //extract caldiv stuff
+    d_lo_freq = vrt_freq_to_double(ntohx(h.get_if_context()->caldiv.lo_freq));
+    d_cal_freq = vrt_freq_to_double(ntohx(h.get_if_context()->caldiv.cal_freq));
+    d_lo_locked = bool(ntohx(h.get_if_context()->caldiv.lo_locked));
+    d_cal_locked = bool(ntohx(h.get_if_context()->caldiv.cal_locked));
+    d_cal_enabled = bool(ntohx(h.get_if_context()->caldiv.cal_enabled));
+    d_caldiv_temp = vrt_temp_to_double(ntohx(h.get_if_context()->caldiv.temp));
+    d_caldiv_ser = ntohx(h.get_if_context()->caldiv.ser);
+    d_caldiv_rev = ntohx(h.get_if_context()->caldiv.rev);
+    //extract gps stuff
+    d_utc_time = ntohx(h.get_if_context()->gps.formatted_gps.integer_secs);
+    d_altitude = vrt_altitude_to_double(ntohx(h.get_if_context()->gps.formatted_gps.altitude));
+    d_longitude = vrt_geo_angle_to_double(ntohx(h.get_if_context()->gps.formatted_gps.longitude));
+    d_latitude = vrt_geo_angle_to_double(ntohx(h.get_if_context()->gps.formatted_gps.latitude));
   }
 
   return oo;
index 9d53fae33bcc42e341115739f8be7aa7fb415105..46d80f4426e033eaee0c158dd32f5094a639d7fd 100644 (file)
@@ -43,6 +43,12 @@ protected:
   double d_caldiv_temp;
   int    d_caldiv_rev;
   int    d_caldiv_ser;
+  
+  //gps settings parsed from if context
+  int    d_utc_time;
+  double d_altitude;
+  double d_longitude;
+  double d_latitude;
 
 public:
   ~vrt_source_32fc();
index 8dc58367d9deac34251467061d307388b816945e..19b30ffb0a2998a04f3960266a95ca5938aaf6d4 100644 (file)
@@ -194,15 +194,19 @@ class static_text(_form_base):
        @param label title label for this widget (optional)
        @param width the width of the form in px
        @param bold true to bold-ify the text (default=False)
+       @param units a suffix to add after the text
        @param converter forms.str_converter(), int_converter(), float_converter()...
        """
-       def __init__(self, label='', width=-1, bold=False, converter=converters.str_converter(), **kwargs):
+       def __init__(self, label='', width=-1, bold=False, units='', converter=converters.str_converter(), **kwargs):
+               self._units = units
                _form_base.__init__(self, converter=converter, **kwargs)
                self._static_text = wx.StaticText(self._parent, size=wx.Size(width, -1))
                if bold: make_bold(self._static_text)
                self._add_widget(self._static_text, label)
 
-       def _update(self, label): self._static_text.SetLabel(label); self._parent.Layout()
+       def _update(self, label):
+                       if self._units: label += ' ' + self._units
+                       self._static_text.SetLabel(label); self._parent.Layout()
 
 ########################################################################
 # Text Box Form