[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openmoko-commitlog
Subject:    commitlog Digest, Vol 608, Issue 1
From:       commitlog-request () lists ! openmoko ! org
Date:       2008-08-26 2:57:59
Message-ID: mailman.5323.1219719479.32076.commitlog () lists ! openmoko ! org
[Download RAW message or body]

Send commitlog mailing list submissions to
	commitlog@lists.openmoko.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
	commitlog-request@lists.openmoko.org

You can reach the person managing the list at
	commitlog-owner@lists.openmoko.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."


Today's Topics:

   1. r4608 - in developers/werner/ahrt/host/tmc: . lib
      (werner@docs.openmoko.org)
   2. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.asu.testing'
      (git@git.openmoko.org)
   3. Openmoko's OpenEmbedded repository. This is used to build the
      Openmoko distribution: Changes to 'org.openmoko.asu.stable'
      (git@git.openmoko.org)
   4. r4609 - in developers: . roh (roh@docs.openmoko.org)
   5. r4610 - developers/werner/ahrt/host/tmc/lib
      (werner@docs.openmoko.org)

[Attachment #4 (multipart/digest)]


Content-Transfer-Encoding: 8bit
From: werner@docs.openmoko.org
Precedence: list
To: commitlog@lists.openmoko.org
Date: Mon, 25 Aug 2008 20:51:26 +0200
Message-ID: <E1KXh9y-0006Bl-HZ@docs.openmoko.com>
Content-Type: text/plain; charset=UTF-8
Subject: r4608 - in developers/werner/ahrt/host/tmc: . lib
Message: 1

Author: werner
Date: 2008-08-25 20:51:26 +0200 (Mon, 25 Aug 2008)
New Revision: 4608

Modified:
   developers/werner/ahrt/host/tmc/lib/instrument.py
   developers/werner/ahrt/host/tmc/lib/scope.py
   developers/werner/ahrt/host/tmc/lib/wave.py
   developers/werner/ahrt/host/tmc/python.c
   developers/werner/ahrt/host/tmc/usbtmc.c
Log:
This mainly adds the long-awaited screendump functionality. Also fixes
two serious bugs, namely an off-by-twelve error in Rigol USB TMC read
function and caching converted instead of unconverted values in
settings, which broke larger scripts.

- lib/wave.py: added "extend" method for all waves
- lib/scope.py: started support for piecewise wave retrieval (doesn't work yet)
- lib/instrument.py (setting.set): store the value being set, not the one
  converted for the instrument
- usbtmc.c, python.c: increased SIZE_IOBUFFER from 4kB to 1MB and BUF_SIZE
  from 8kB to 1MB, to accommodate Rigol screen dumps
- usbtmc.c: added pointer to rew's Rigol driver
- lib/scope.py: new method "screendump"
- usbtmc.c (usbtmc_read): Rigol buffer reads were off by 12 bytes
- lib/scope.py (rigol_channel_data, rigol_la_data): added 12 to offsets and
  corrected off-by-two error in analog wave offset



Modified: developers/werner/ahrt/host/tmc/lib/instrument.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/instrument.py	2008-08-25 18:40:25 UTC (rev 4607)
+++ developers/werner/ahrt/host/tmc/lib/instrument.py	2008-08-25 18:51:26 UTC (rev 4608)
@@ -38,13 +38,13 @@
 	if value is None:
 	    self.value = None
 	elif value != self.value:
+	    self.value = value
 	    if self.out_convert:
 		value = self.out_convert(value)
 		if value is None:
 		    raise hell
 	    self.instr.send((self.set_cmd, self.path)[self.set_cmd is None]+
 	      " "+self.args+str(value))
-	    self.value = value
 
 
 class settable(object):

Modified: developers/werner/ahrt/host/tmc/lib/scope.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/scope.py	2008-08-25 18:40:25 UTC (rev 4607)
+++ developers/werner/ahrt/host/tmc/lib/scope.py	2008-08-25 18:51:26 UTC (rev 4608)
@@ -3,6 +3,9 @@
 # scope.py - Oscilloscope control
 # 
 
+# Found screen dump algorithm here:
+# http://www.circuitsonline.net/forum/view/message/652573#652573
+
 #
 # Our oscilloscope model consists of three elements:
 #
@@ -19,7 +22,8 @@
 # horizontal system only accepts some frequencies
 # TODO: make range configurable
 
-def scale_125(n, fuzz):
+def scale_125(n = None, fuzz = None, min = None, max = None):
+    res = None
     for e in range(-9, 1+1):
 	for m in [1, 2, 5]:
 	    if e < 0:
@@ -27,8 +31,15 @@
 	    else:
 		s = str(m)+"0"*e
 	    r = float(s)
-	    if r >= n*(1-fuzz) and r <= n*(1+fuzz):
+	    if n is not None and r >= n*(1-fuzz) and r <= n*(1+fuzz):
 		return s
+	    if min is not None and r >= min:
+		return s
+	    if max is not None and r <= max:
+		res = s
+    if res is not None:
+	return res
+    raise hell
 
 
 # TODO: figure out what to do with signals. should they be objects in their
@@ -96,7 +107,38 @@
 
 
     def wave(self, start = None, end = None, step = None):
-	return self.scope.download_wave(self, start, end, step)
+	width = self.scope.div_hor*self.scope.hor.scale
+	if start is None and end is None:
+	    start = self.scope.hor.pos
+	if start is not None and end is None:
+	    end = start+width
+	elif start is None and end is not None:
+	    start = end-width
+	if step is None:
+	    return self.scope.download_wave(self, start, end, None)
+	else:
+	    # @@@ put setting the horizontal system into download_wave
+	    if step*self.scope.sampling_rate() < 1:
+		raise hell
+	    span = step*self.scope.samples_per_div*self.scope.div_hor
+	    if False and span >= start-end:
+		return self.scope.download_wave(self, start, end, None)
+	    else:
+		scale = float(scale_125(max = step*self.scope.samples_per_div))
+		orig_pos = self.scope.hor.pos
+		orig_scale = self.scope.hor.scale
+		self.scope.hor.scale = scale
+	        span = self.scope.div_hor*self.scope.hor.scale
+		wave = analog_wave()
+		pos = start
+		while pos < end:
+		    self.scope.hor.pos = pos
+		    wave.extend(self.scope.download_wave(self, pos, pos+span,
+		      None))
+		    pos += span
+		self.scope.hor.pos = orig_pos
+		self.scope.hor.scale = orig_scale
+		return wave
 
 
 # === horizontal ==============================================================
@@ -196,9 +238,9 @@
 
 def rigol_channel_data(s, t0, td, v0, vd):
     res = analog_wave()
-    i = 202
-    while i != 800:
-	div = (i-502)/50.0
+    i = 212
+    while i != 812:
+	div = (i-512)/50.0
 	t = t0+div*td
 	div = (125-ord(s[i]))/25.0
 	v = v0+div*vd
@@ -211,9 +253,9 @@
     res = []
     for b in range(0, 16):
 	res.append(digital_wave())
-    i = 412 
-    while i != 1612:
-	div = (i-1012)/100.0
+    i = 424
+    while i != 1624:
+	div = (i-1024)/100.0
 	t = t0+div*td
 	for b in range(0, 8):
 	    res[b].append(t, (ord(s[i]) & (1 << b)) != 0)
@@ -222,10 +264,25 @@
     return res
 
 
+def rigol_to_ppm(s):
+    lut = []
+    i = 0
+    while i != 256:
+	lut.append(chr(i & 0xc0)+chr((i & 0x38) << 2)+chr((i & 3) << 5))
+	i += 1
+    res = "P6 320 234 255\n"
+    i = 0
+    while i != 320*234:
+	res += lut[ord(s[i])]
+	i += 1
+    return res
+
+
 class rigol_ds1000c(scope):
     channels = 2
     div_hor = 12
     div_vert = 10
+    samples_per_div = 600	#@@@ not exactly true. needs more investigation
 
     def __init__(self):
 	scope.__init__(self, "usbtmc", "rigol", "timeout=2", "retry",
@@ -273,3 +330,10 @@
     def download_la(self):
 	data = self.query(":WAV:DATA? DIG")
 	return rigol_la_data(data, self.hor.pos, self.hor.scale)
+
+    def sampling_rate(self):
+	return float(self.query(":ACQ:SAMP? CH1"))
+
+    def screendump(self):
+	self.send(":HARDCOPY")
+	return rigol_to_ppm(self.query(":LCD:DATA?"))

Modified: developers/werner/ahrt/host/tmc/lib/wave.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/wave.py	2008-08-25 18:40:25 UTC (rev 4607)
+++ developers/werner/ahrt/host/tmc/lib/wave.py	2008-08-25 18:51:26 UTC (rev 4608)
@@ -111,6 +111,12 @@
 	    raise hell
 	self.data.append((t, y))
 
+    def extend(self, wave):
+	if len(self.data) and len(wave.data) and \
+	  wave.data[0][0] < self.data[-1][0]:
+	    raise hell
+	self.data.extend(wave.data)
+
     def get_one(self, t):
 	if len(self.data) == 0 or t < self.data[0][0] or t > self.data[-1][0]:
 	    raise hell
@@ -153,7 +159,6 @@
     def __init__(self):
 	self.initial = None
 	self.data = []
-	self.cursor = None
 	self.t_end = None
 
     def start(self):
@@ -173,6 +178,22 @@
 	    self.data.append(t)
 	self.t_end = t
 
+    def extend(self, wave):
+	if wave.t_end is None:
+	    return
+	if self.t_end is None:
+	    self.t_end = wave.t_end
+	    self.data = wave.data
+	    self.initial = wave.initial
+	    return
+	if wave.data[0] < self.t_end:
+	    raise hell
+	if self.initial ^ (len(self.data) & 1) == wave.initial:
+	    self.data.extend(wave.data)
+	else:
+	    self.data.extend(wave.data[1:])
+	self.t_end = wave.t_end
+
     def get_one(self, t):
 	if len(self.data) == 0 or t < self.data[0] or t > self.t_end:
 	    raise hell

Modified: developers/werner/ahrt/host/tmc/python.c
===================================================================
--- developers/werner/ahrt/host/tmc/python.c	2008-08-25 18:40:25 UTC (rev 4607)
+++ developers/werner/ahrt/host/tmc/python.c	2008-08-25 18:51:26 UTC (rev 4608)
@@ -17,7 +17,7 @@
 #include "tmc.h"
 
 
-#define BUF_SIZE 8192
+#define BUF_SIZE (1024*1024)
 #define ERROR fprintf(stderr, "ERROR %d\n", __LINE__)
 	/* @@@FIXME: raise exceptions */
 

Modified: developers/werner/ahrt/host/tmc/usbtmc.c
===================================================================
--- developers/werner/ahrt/host/tmc/usbtmc.c	2008-08-25 18:40:25 UTC (rev 4607)
+++ developers/werner/ahrt/host/tmc/usbtmc.c	2008-08-25 18:51:26 UTC (rev 4608)
@@ -14,6 +14,9 @@
  * Based on the Agilent USBTMC kernel driver by Stefan Kopp:
  * http://www.home.agilent.com/upload/cmc_upload/All/usbtmc.html
  * http://www.home.agilent.com/upload/cmc_upload/All/usbtmc.tar
+ *
+ * The Rigol protocol variant is based on this driver:
+ * http://www.circuitsonline.net/forum/view/message/652371#652371
  */
 
 
@@ -42,7 +45,7 @@
 #define USB_PROTOCOL_USB488 1
 #endif
 
-#define SIZE_IOBUFFER 4096
+#define SIZE_IOBUFFER (1024*1024)	/* memory is cheap ;-) */
 
 #define DEV_DEP_MSG_OUT			1
 #define DEV_DEP_MSG_IN			2
@@ -668,8 +671,8 @@
 
 		if (d->rigol && payload > 64-12) {
 			got = usb_bulk_read(d->handle, d->ep_bulk_in,
-			    (void *) tmp+64-12, payload-12, d->timeout);
-			dump("RECV", tmp+64-12, got);
+			    (void *) tmp+64, payload-(64-12), d->timeout);
+			dump("RECV", tmp+64, got);
 		}
 
 		end = tmp[8] & 1;





From: git@git.openmoko.org
Precedence: list
To: commitlog@lists.openmoko.org
Date: Mon, 25 Aug 2008 21:55:37 +0000
Message-ID: <E1KXk2D-0003XA-0n@git.openmoko.org>
Subject: Openmoko's OpenEmbedded repository. This is used to build the
	Openmoko distribution: Changes to 'org.openmoko.asu.testing'
Message: 2

 classes/e.bbclass                          |    2 +-
 classes/efl.bbclass                        |    2 +-
 conf/distro/include/sane-srcdates.inc      |   62 ---------------------
 conf/distro/include/sane-srcrevs.inc       |   64 ++++++++++++++++++++++-
 packages/e17/e-utils_cvs.bb                |   12 ----
 packages/e17/e-utils_svn.bb                |   12 ++++
 packages/e17/e-wm_cvs.bb                   |   80 ----------------------------
 packages/e17/e-wm_svn.bb                   |   77 ++++++++++++++++++++++++++
 packages/e17/edje-editor_cvs.bb            |   12 ----
 packages/e17/edje-editor_svn.bb            |   12 ++++
 packages/e17/edje-viewer_cvs.bb            |   13 -----
 packages/e17/edje-viewer_svn.bb            |   13 +++++
 packages/e17/enna_cvs.bb                   |   16 ------
 packages/e17/enna_svn.bb                   |   16 ++++++
 packages/e17/entrance_0.9.0.010.bb         |    2 +-
 packages/e17/examine_cvs.bb                |   13 -----
 packages/e17/examine_svn.bb                |   13 +++++
 packages/e17/exhibit_cvs.bb                |   10 ----
 packages/e17/exhibit_svn.bb                |   10 ++++
 packages/e17/expedite_cvs.bb               |   31 -----------
 packages/e17/expedite_svn.bb               |   31 +++++++++++
 packages/e17/exquisite-theme-freerunner.bb |    2 +-
 packages/e17/exquisite_cvs.bb              |   32 -----------
 packages/e17/exquisite_svn.bb              |   32 +++++++++++
 packages/e17/rage_cvs.bb                   |   13 -----
 packages/e17/rage_svn.bb                   |   13 +++++
 packages/efl1/ecore-native_cvs.bb          |   32 -----------
 packages/efl1/ecore-native_svn.bb          |   32 +++++++++++
 packages/efl1/ecore.inc                    |    2 +-
 packages/efl1/ecore_cvs.bb                 |   33 -----------
 packages/efl1/ecore_svn.bb                 |   33 +++++++++++
 packages/efl1/edb_cvs.bb                   |    7 ---
 packages/efl1/edb_svn.bb                   |    7 +++
 packages/efl1/edbus_cvs.bb                 |   21 -------
 packages/efl1/edbus_svn.bb                 |   18 ++++++
 packages/efl1/edje-native_cvs.bb           |   11 ----
 packages/efl1/edje-native_svn.bb           |   11 ++++
 packages/efl1/edje_cvs.bb                  |   14 -----
 packages/efl1/edje_svn.bb                  |   14 +++++
 packages/efl1/eet-native_cvs.bb            |    6 --
 packages/efl1/eet-native_svn.bb            |    6 ++
 packages/efl1/eet_cvs.bb                   |    7 ---
 packages/efl1/eet_svn.bb                   |    7 +++
 packages/efl1/eflpp_cvs.bb                 |   12 ----
 packages/efl1/eflpp_svn.bb                 |   13 +++++
 packages/efl1/efreet_cvs.bb                |   14 -----
 packages/efl1/efreet_svn.bb                |   14 +++++
 packages/efl1/embryo-native_cvs.bb         |    3 -
 packages/efl1/embryo-native_svn.bb         |    3 +
 packages/efl1/embryo_cvs.bb                |    9 ---
 packages/efl1/embryo_svn.bb                |    9 +++
 packages/efl1/emotion_cvs.bb               |   14 -----
 packages/efl1/emotion_svn.bb               |   14 +++++
 packages/efl1/engrave_cvs.bb               |    7 ---
 packages/efl1/engrave_svn.bb               |    7 +++
 packages/efl1/enhance_cvs.bb               |    6 --
 packages/efl1/enhance_svn.bb               |    6 ++
 packages/efl1/epdf_cvs.bb                  |   23 --------
 packages/efl1/epdf_svn.bb                  |   23 ++++++++
 packages/efl1/epeg_cvs.bb                  |    7 ---
 packages/efl1/epeg_svn.bb                  |    7 +++
 packages/efl1/epsilon_cvs.bb               |   17 ------
 packages/efl1/epsilon_svn.bb               |   17 ++++++
 packages/efl1/esmart_cvs.bb                |   26 ---------
 packages/efl1/esmart_svn.bb                |   26 +++++++++
 packages/efl1/etk-native_cvs.bb            |    5 --
 packages/efl1/etk-native_svn.bb            |    5 ++
 packages/efl1/etk_cvs.bb                   |   54 -------------------
 packages/efl1/etk_svn.bb                   |   54 +++++++++++++++++++
 packages/efl1/evas-native_cvs.bb           |   61 ---------------------
 packages/efl1/evas-native_svn.bb           |   61 +++++++++++++++++++++
 packages/efl1/evas.inc                     |    2 +-
 packages/efl1/evas_cvs.bb                  |   63 ----------------------
 packages/efl1/evas_svn.bb                  |   63 ++++++++++++++++++++++
 packages/efl1/evolve-native_cvs.bb         |    6 --
 packages/efl1/evolve-native_svn.bb         |    6 ++
 packages/efl1/evolve_cvs.bb                |    7 ---
 packages/efl1/evolve_svn.bb                |    7 +++
 packages/efl1/ewl_cvs.bb                   |   32 -----------
 packages/efl1/ewl_svn.bb                   |   32 +++++++++++
 packages/efl1/exml_cvs.bb                  |    8 ---
 packages/efl1/exml_svn.bb                  |    8 +++
 packages/efl1/imlib2_cvs.bb                |   29 ----------
 packages/efl1/imlib2_svn.bb                |   27 +++++++++
 packages/python/python-ecore_cvs.bb        |    9 ---
 packages/python/python-ecore_svn.bb        |    9 +++
 packages/python/python-edbus_cvs.bb        |    9 ---
 packages/python/python-edbus_svn.bb        |    9 +++
 packages/python/python-edje_cvs.bb         |    5 --
 packages/python/python-edje_svn.bb         |    5 ++
 packages/python/python-efl.inc             |    2 +-
 packages/python/python-emotion_cvs.bb      |    4 --
 packages/python/python-emotion_svn.bb      |    4 ++
 packages/python/python-epsilon_cvs.bb      |    5 --
 packages/python/python-epsilon_svn.bb      |    5 ++
 packages/python/python-evas_cvs.bb         |    8 ---
 packages/python/python-evas_svn.bb         |    8 +++
 97 files changed, 869 insertions(+), 876 deletions(-)

New commits:
commit 51220f203674f8861573790e254cb8086b1559c5
Author: Carsten Haitzler <raster@openmoko.org>
Date:   Fri Aug 22 00:06:03 2008 +1000

    cleanups to ompower.

commit 16b206b78bec2e44a155ed94581ccb90c6807a8d
Author: Carsten Haitzler <raster@openmoko.org>
Date:   Wed Aug 20 19:06:02 2008 +1000

    move all of e17/efl to svn from cvs.

commit bb6756bd737ed87a28bf72bb4b43d6965ddf4b3e
Author: Carsten Haitzler <raster@openmoko.org>
Date:   Tue Aug 19 16:22:09 2008 +1000

    ompower - try race cond workaround.





From: git@git.openmoko.org
Precedence: list
To: commitlog@lists.openmoko.org
Date: Mon, 25 Aug 2008 21:52:31 +0000
Message-ID: <E1KXjzD-00030G-D2@git.openmoko.org>
Subject: Openmoko's OpenEmbedded repository. This is used to build the
	Openmoko distribution: Changes to 'org.openmoko.asu.stable'
Message: 3

 classes/setuptools.bbclass                         |    2 +-
 conf/distro/include/preferred-om-2008-versions.inc |    5 ++-
 conf/distro/include/sane-srcrevs.inc               |    6 ++--
 packages/espeak/espeak_1.35.bb                     |    1 +
 packages/hal/hal_0.5.9.bb                          |    6 ++--
 packages/libgpewidget/libgpewidget-hildon_0.102.bb |   13 +++++------
 packages/libgpewidget/libgpewidget_0.114.bb        |   16 ++++++++------
 packages/libgpewidget/libgpewidget_0.115.bb        |   15 +++++++------
 packages/libgpewidget/libgpewidget_0.117.bb        |   22 ++++++++++++++++++++
 packages/libgpewidget/libgpewidget_svn.bb          |    8 ++++--
 packages/linux/linux-openmoko/turn_off_EVBUG.patch |   13 -----------
 packages/linux/linux-openmoko_2.6.24+git.bb        |    3 +-
 packages/python/python-setuptools-native_0.6c8.bb  |    9 ++++++++
 .../python/python-setuptools/fix-log-usage.patch   |   13 +++++++++++
 packages/python/python-setuptools_0.6c8.bb         |   20 ++++++++++++++++++
 packages/tasks/task-mipl.bb                        |    2 -
 packages/tasks/task-openmoko-asu.bb                |   20 ++++++++++--------
 packages/tasks/task-openmoko-feed.bb               |    3 +-
 packages/tasks/task-openmoko-qtopia-x11.bb         |    5 +--
 packages/tasks/task-openprotium.bb                 |    3 +-
 20 files changed, 120 insertions(+), 65 deletions(-)

New commits:
commit 4130aeb4b4928a0536b16fcae36ab288f594bd4c
Merge: 186c172aeaffac408e3359e2cc1e92da939fe59a c2f5aff5b6fd0e2be4cd7a99153c245e0ed683e2
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Mon Aug 25 23:50:41 2008 +0200

    Merge commit 'origin/org.openmoko.asu.testing' into org.openmoko.asu.stable

commit c2f5aff5b6fd0e2be4cd7a99153c245e0ed683e2
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 21 15:20:27 2008 +0200

    [srcrev] Upgrade Qtopia to see if #1766 (No Network) is fixed

commit b86bdb48442a33570901148f392f4ef7ba39aac3
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 14 02:18:16 2008 +0200

    [srcrev] Upgrade to the latest stable kernel (hardware ecc preparations)

commit 57143c44cd2a704f281e703fc2b6d2d31e2dc9a1
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Tue Aug 12 15:49:12 2008 +0200

    [srcrev] Upgrade the linux kernel to the latest stable version

commit 2d1aac02b6bb6afe7c12ddb4368144840ac77794
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Tue Aug 12 15:48:04 2008 +0200

    [linux-openmoko] Remove the evbug removal as it was removed upstream too

commit a35dc9af9a893660fc968426b7567e9925f5bcc7
Author: Julian_chu <julian_chu@openmoko.com>
Date:   Mon Aug 18 19:37:51 2008 +0800

    [illume-config] Fix a bug in illume-config when do alternative
    It should refer the same file in /usr/lib/opkg/alternative/illume-default.edj
    as illume-theme to make sure Alternative work correctly.

commit 1ac52e53492c3c615da857ec0e4163aa0f778211
Author: Graeme Gregory <dp@openmoko.hyboria>
Date:   Mon Aug 18 13:11:19 2008 +0100

    [python-setuptools] import a fix from OE which means we now have
    a setuptools-native. This makes builds actually work on later
    debian versions where setuptools falls over on .svn directories.

commit 4735db9cfd15149ca61546ebd096ad6aaa4618f2
Author: Graeme Gregory <dp@openmoko.hyboria>
Date:   Mon Aug 18 09:20:09 2008 +0100

    hal: create volatiles *after* creating the haldaemon user
    
    Conflicts:
    
    	packages/hal/hal_0.5.9.1.bb
    	packages/hal/hal_0.5.9.bb
    	packages/hal/hal_git.bb

commit f17808591dd22fb8c254f6ab52190198a14e7930
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 14 20:37:54 2008 +0200

    [tasks] Remove ALLOW_EMPTY=1 as task.bbclass is already setting that

commit a2f34ffc71a854a832f45bf0d559e20716b5b189
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 14 20:22:50 2008 +0200

    [tasks] Set PACKAGE_ARCH so it has an effect
        Set PACKAGE_ARCH after inherit task so it is not getting lost. Do
        not set it to all as task.bbclass is already doing that.

commit 602667b985ea2b09c14d5416539f4426c33cb5ef
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 14 20:04:19 2008 +0200

    [tasks-openmoko-asu] Split out connman and gtk+ to save for gta01
        To decrease the size of the rootfs split out connman, gtk+
        and the OM2007.2 theme support. These can be installed later
        if necessary and wanted by the user.

commit 7a6e17f13165c58ae88dbd7e36fbfc1e582c7680
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Fri Aug 15 20:48:16 2008 +0200

    [espeak] Add portaudio-v19 to the depends so linking is working

commit 0c12376474346af82d546276c83a44b2deddc664
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Fri Aug 15 20:13:58 2008 +0200

    [preferred versions] Build 0.117 of 0.115 of libgpewidget to fix segfault at crash
        https://docs.openmoko.org/trac/ticket/1823 mentions a crash of gpe-todo
        at exit. According the gpe overlords on irc this can be fixed by gpewidget
        upgreade and libgpewidget 0.115 and 0.117 is supposed to be binary compatible.

commit 0e1944dfb25fe38f4752b464cb81b52f687bc864
Author:  <florian@openembedded.org>
Date:   Fri Jul 25 10:21:00 2008 +0000

    libgpewidget: add 0.117

commit a5528f9e245887dc36364f354304e71abd85bb4b
Author:  <mickeyl@openembedded.org>
Date:   Fri Jul 25 06:32:32 2008 +0000

    libgpewidget: sanitize metadata order a bit and add RRECOMMENDS on gpe-icons

commit aa30bc4409dbcb4e3dd566dc300407d3a51ed986
Author:  <koen@openembedded.org>
Date:   Sat Jun 7 16:24:25 2008 +0000

    libgpewidget: depend in libxinerama. Parallel builds fail due to debian renaming

commit a7c82111b7e4583e17867541e1873a38db81e285
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Thu Aug 14 02:19:08 2008 +0200

    [task-openmoko-feed] Add navit to the feed

commit f51306fe8610973e9c8aa7fa98c7f9cbeafef908
Author: Holger Hans Peter Freyther <zecke@openmoko.org>
Date:   Tue Aug 12 15:52:22 2008 +0200

    [srcrev] Upgrade u-boot to the latest stable version





Content-Transfer-Encoding: 8bit
From: roh@docs.openmoko.org
Precedence: list
To: commitlog@lists.openmoko.org
Date: Tue, 26 Aug 2008 03:48:15 +0200
Message-ID: <E1KXnfL-0006qf-Kb@docs.openmoko.com>
Content-Type: text/plain; charset=UTF-8
Subject: r4609 - in developers: . roh
Message: 4

Author: roh
Date: 2008-08-26 03:48:14 +0200 (Tue, 26 Aug 2008)
New Revision: 4609

Added:
   developers/roh/
   developers/roh/CHY48R_test.py
Log:
 - first working hack to get data from this DVM


Added: developers/roh/CHY48R_test.py
===================================================================
--- developers/roh/CHY48R_test.py	                        (rev 0)
+++ developers/roh/CHY48R_test.py	2008-08-26 01:48:14 UTC (rev 4609)
@@ -0,0 +1,17 @@
+# <insert GPLv2 foo here>
+# (c) Joachim Steiger <roh@openmoko.org>
+# protocoll RE form serial log
+import serial
+
+ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=0.1,
+		parity=serial.PARITY_EVEN, rtscts=1)
+
+print ser.portstr
+
+ser.write('%FFFR\r\n')
+ser.write('%FFFR\r\n')
+while (1):
+  print(ser.read(50))
+  ser.write('#001N\r\n')
+
+ser.close()





Content-Transfer-Encoding: 8bit
From: werner@docs.openmoko.org
Precedence: list
To: commitlog@lists.openmoko.org
Date: Tue, 26 Aug 2008 04:54:55 +0200
Message-ID: <E1KXohr-0002yN-C5@docs.openmoko.com>
Content-Type: text/plain; charset=UTF-8
Subject: r4610 - developers/werner/ahrt/host/tmc/lib
Message: 5

Author: werner
Date: 2008-08-26 04:54:54 +0200 (Tue, 26 Aug 2008)
New Revision: 4610

Modified:
   developers/werner/ahrt/host/tmc/lib/scope.py
Log:
Support for full waveform retrieval with DS1000CD. This allows decoding of
SPI (and SD) sequences of up to about 50kbits.

- lib/scope.py (scale_125): improved tolerance against rounding errors
- lib/scope.py: added full-depth retrieval for analog and digital waves
- lib/scope.py: give credit to rew's Rigol interface program
- lib/scope.py: send parameters of horizontal system only in non-exponential
  format (exponents confuse the Rigol)



Modified: developers/werner/ahrt/host/tmc/lib/scope.py
===================================================================
--- developers/werner/ahrt/host/tmc/lib/scope.py	2008-08-26 01:48:14 UTC (rev 4609)
+++ developers/werner/ahrt/host/tmc/lib/scope.py	2008-08-26 02:54:54 UTC (rev 4610)
@@ -3,8 +3,12 @@
 # scope.py - Oscilloscope control
 # 
 
-# Found screen dump algorithm here:
+# Found Rigol screen dump algorithm here:
 # http://www.circuitsonline.net/forum/view/message/652573#652573
+#
+# Rigol data retrieval is heavily based on
+# http://prive.bitwizard.nl/rigol/rigol-0.1rew3.tgz
+#
 
 #
 # Our oscilloscope model consists of three elements:
@@ -23,6 +27,7 @@
 # TODO: make range configurable
 
 def scale_125(n = None, fuzz = None, min = None, max = None):
+    epsilon = 1e-15
     res = None
     for e in range(-9, 1+1):
 	for m in [1, 2, 5]:
@@ -33,9 +38,9 @@
 	    r = float(s)
 	    if n is not None and r >= n*(1-fuzz) and r <= n*(1+fuzz):
 		return s
-	    if min is not None and r >= min:
+	    if min is not None and r >= min-epsilon:
 		return s
-	    if max is not None and r <= max:
+	    if max is not None and r <= max+epsilon:
 		res = s
     if res is not None:
 	return res
@@ -107,38 +112,8 @@
 
 
     def wave(self, start = None, end = None, step = None):
-	width = self.scope.div_hor*self.scope.hor.scale
-	if start is None and end is None:
-	    start = self.scope.hor.pos
-	if start is not None and end is None:
-	    end = start+width
-	elif start is None and end is not None:
-	    start = end-width
-	if step is None:
-	    return self.scope.download_wave(self, start, end, None)
-	else:
-	    # @@@ put setting the horizontal system into download_wave
-	    if step*self.scope.sampling_rate() < 1:
-		raise hell
-	    span = step*self.scope.samples_per_div*self.scope.div_hor
-	    if False and span >= start-end:
-		return self.scope.download_wave(self, start, end, None)
-	    else:
-		scale = float(scale_125(max = step*self.scope.samples_per_div))
-		orig_pos = self.scope.hor.pos
-		orig_scale = self.scope.hor.scale
-		self.scope.hor.scale = scale
-	        span = self.scope.div_hor*self.scope.hor.scale
-		wave = analog_wave()
-		pos = start
-		while pos < end:
-		    self.scope.hor.pos = pos
-		    wave.extend(self.scope.download_wave(self, pos, pos+span,
-		      None))
-		    pos += span
-		self.scope.hor.pos = orig_pos
-		self.scope.hor.scale = orig_scale
-		return wave
+	# @@@ move start and end adjustment here !
+	return self.scope.download_wave(self, start, end, step)
 
 
 # === horizontal ==============================================================
@@ -149,9 +124,11 @@
     def __init__(self, scope):
 	self.scope = scope
 	self.pos = setting(scope, ":TIM:OFFS",
-	  lambda x: float(x))
+	  lambda x: float(x),
+	  lambda x: "%.9f" % x)
 	self.scale = setting(scope, ":TIM:SCAL",
-	  lambda x: float(x))
+	  lambda x: float(x),
+	  lambda x: "%.9f" % x)
 	self.forget()
 
     def forget(self):
@@ -264,6 +241,42 @@
     return res
 
 
+def rigol_wave(scope, start, end, step, query, merge, fn, *args):
+    wave = None
+    orig_pos = scope.hor.pos
+    orig_scale = scope.hor.scale
+
+    width = scope.div_hor*orig_scale
+    if start is None:
+	start = orig_pos-width/2
+    if end is None:
+	end = orig_pos+width/2
+    if step is None:
+	step = 1/scope.sampling_rate()
+
+    scope.hor.scale = float(scale_125(max = step*scope.samples_per_div))
+    while start < end:
+	scope.hor.pos = start+6*scope.hor.scale
+	data = scope.query(query)
+	data = fn(data, scope.hor.pos, scope.hor.scale, *args)
+	if wave is None:
+	    wave = data
+	else:
+	    merge(wave, data)
+	start += 12*scope.hor.scale
+
+    scope.hor.pos = orig_pos
+    scope.hor.scale = orig_scale
+    return wave
+
+
+def rigol_extend_la(a, b):
+    i = 0
+    while i != 16:
+	a[i].extend(b[i])
+	i += 1
+
+
 def rigol_to_ppm(s):
     lut = []
     i = 0
@@ -282,7 +295,7 @@
     channels = 2
     div_hor = 12
     div_vert = 10
-    samples_per_div = 600	#@@@ not exactly true. needs more investigation
+    samples_per_div = 50
 
     def __init__(self):
 	scope.__init__(self, "usbtmc", "rigol", "timeout=2", "retry",
@@ -321,15 +334,17 @@
 	for n in range(0, len(self.ch)):
 	    if self.ch[n] == channel:
 		c_num = n+1
-	data = self.query(":WAV:DATA? CHAN"+str(c_num))
-	return rigol_channel_data(data, self.hor.pos, self.hor.scale,
-	   channel.pos, channel.scale)
+	return rigol_wave(self, start, end, step,
+	  ":WAV:DATA? CHAN"+str(c_num),
+	  lambda a, b: a.extend(b),
+	  rigol_channel_data, channel.pos, channel.scale)
 
     # experimental
 
-    def download_la(self):
-	data = self.query(":WAV:DATA? DIG")
-	return rigol_la_data(data, self.hor.pos, self.hor.scale)
+    def download_la(self, start = None, end = None, step = None):
+	return rigol_wave(self, start, end, step,
+	  ":WAV:DATA? DIG",
+	  rigol_extend_la, rigol_la_data)
 
     def sampling_rate(self):
 	return float(self.query(":ACQ:SAMP? CH1"))




--===============1931768299==--

_______________________________________________
commitlog mailing list
commitlog@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/commitlog


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic