[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