Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
A
adc-testing
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
misc
adc-testing
Commits
8fc9a7f1
Commit
8fc9a7f1
authored
Sep 01, 2011
by
Federico Asara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Unused files, removed.
parent
c31eda90
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
726 deletions
+0
-726
Configurable.py
PAGE/Configurable.py
+0
-24
demo-sweep.py
PAGE/demo-sweep.py
+0
-29
__init__.py
PAGE/progressbar/__init__.py
+0
-323
compat.py
PAGE/progressbar/compat.py
+0
-42
widgets.py
PAGE/progressbar/widgets.py
+0
-308
No files found.
PAGE/Configurable.py
deleted
100644 → 0
View file @
c31eda90
class
Configurable
(
object
):
parameters
=
{}
def
applyDefaults
(
self
,
o
=
None
):
if
o
is
None
:
o
=
self
for
i
in
self
.
parameters
:
self
.
save
(
i
,
self
.
parameters
[
i
][
2
])
def
register
(
self
,
parameter
,
position
,
description
,
default
,
kind
):
self
.
parameters
[
parameter
]
=
(
position
,
description
,
default
,
kind
)
def
save
(
self
,
parameter
,
value
,
o
=
None
):
if
o
is
None
:
o
=
self
o
.
__setattr__
(
self
.
parameters
[
parameter
][
0
],
value
)
def
read
(
self
,
parameter
,
o
=
None
):
if
o
is
None
:
o
=
self
return
o
.
__getattr__
(
self
.
parameters
[
parameter
][
0
])
PAGE/demo-sweep.py
deleted
100644 → 0
View file @
c31eda90
import
sys
from
Agilent33250A
import
*
from
SineWaveform
import
*
from
Sis33
import
*
import
cPickle
g
=
Agilent33250A
(
sys
.
argv
[
1
])
s
=
Sis33Device
(
int
(
sys
.
argv
[
2
]))
w1
=
5e6
w2
=
6e6
step
=
1e6
def
generateTwoTone
(
i
):
return
SineWaveform
(
w1
+
step
*
i
)
.
generate
(
30e6
,
1e4
,
12
,
1.
)
+
SineWaveform
(
w2
+
step
*
i
)
.
generate
(
30e6
,
1e4
,
12
,
1.
)
waves
=
(
SineWaveform
(
w1
+
step
*
i
,
2
,
0
)
for
i
in
xrange
(
11
))
#(generateTwoTone(i) for i in xrange(11))
output
=
[]
def
callback
(
x
):
output
.
append
(
s
.
readEvent
(
7
,
10000
))
g
.
output
=
True
g
.
sweep
(
1
,
waves
,
callback
)
g
.
output
=
False
cPickle
.
dump
(
output
,
file
(
'/tmp/output.pickle'
,
'w'
))
s
.
close
()
PAGE/progressbar/__init__.py
deleted
100644 → 0
View file @
c31eda90
This diff is collapsed.
Click to expand it.
PAGE/progressbar/compat.py
deleted
100644 → 0
View file @
c31eda90
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# progressbar - Text progress bar library for Python.
# Copyright (c) 2005 Nilton Volpato
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
'''Compatability methods and classes for the progressbar module'''
# Python 3.x (and backports) use a modified iterator syntax
# This will allow 2.x to behave with 3.x iterators
if
not
hasattr
(
__builtins__
,
'next'
):
def
next
(
iter
):
try
:
# Try new style iterators
return
iter
.
__next__
()
except
AttributeError
:
# Fallback in case of a "native" iterator
return
iter
.
next
()
# Python < 2.5 does not have "any"
if
not
hasattr
(
__builtins__
,
'any'
):
def
any
(
iterator
):
for
item
in
iterator
:
if
item
:
return
True
return
False
PAGE/progressbar/widgets.py
deleted
100644 → 0
View file @
c31eda90
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# progressbar - Text progress bar library for Python.
# Copyright (c) 2005 Nilton Volpato
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
'''Default ProgressBar widgets'''
from
__future__
import
division
import
datetime
import
math
try
:
from
abc
import
ABCMeta
,
abstractmethod
except
ImportError
:
AbstractWidget
=
object
abstractmethod
=
lambda
fn
:
fn
else
:
AbstractWidget
=
ABCMeta
(
'AbstractWidget'
,
(
object
,),
{})
def
format_updatable
(
updatable
,
pbar
):
if
hasattr
(
updatable
,
'update'
):
return
updatable
.
update
(
pbar
)
else
:
return
updatable
class
Widget
(
AbstractWidget
):
'''The base class for all widgets
The ProgressBar will call the widget's update value when the widget should
be updated. The widget's size may change between calls, but the widget may
display incorrectly if the size changes drastically and repeatedly.
The boolean TIME_SENSITIVE informs the ProgressBar that it should be
updated more often because it is time sensitive.
'''
TIME_SENSITIVE
=
False
__slots__
=
()
@
abstractmethod
def
update
(
self
,
pbar
):
'''Updates the widget.
pbar - a reference to the calling ProgressBar
'''
class
WidgetHFill
(
Widget
):
'''The base class for all variable width widgets.
This widget is much like the
\\
hfill command in TeX, it will expand to
fill the line. You can use more than one in the same line, and they will
all have the same width, and together will fill the line.
'''
@
abstractmethod
def
update
(
self
,
pbar
,
width
):
'''Updates the widget providing the total width the widget must fill.
pbar - a reference to the calling ProgressBar
width - The total width the widget must fill
'''
class
Timer
(
Widget
):
'Widget which displays the elapsed seconds.'
__slots__
=
(
'format'
,)
TIME_SENSITIVE
=
True
def
__init__
(
self
,
format
=
'Elapsed Time:
%
s'
):
self
.
format
=
format
@
staticmethod
def
format_time
(
seconds
):
'Formats time as the string "HH:MM:SS".'
return
str
(
datetime
.
timedelta
(
seconds
=
int
(
seconds
)))
def
update
(
self
,
pbar
):
'Updates the widget to show the elapsed time.'
return
self
.
format
%
self
.
format_time
(
pbar
.
seconds_elapsed
)
class
ETA
(
Timer
):
'Widget which attempts to estimate the time of arrival.'
TIME_SENSITIVE
=
True
def
update
(
self
,
pbar
):
'Updates the widget to show the ETA or total time when finished.'
if
pbar
.
currval
==
0
:
return
'ETA: --:--:--'
elif
pbar
.
finished
:
return
'Time:
%
s'
%
self
.
format_time
(
pbar
.
seconds_elapsed
)
else
:
elapsed
=
pbar
.
seconds_elapsed
eta
=
elapsed
*
pbar
.
maxval
/
pbar
.
currval
-
elapsed
return
'ETA:
%
s'
%
self
.
format_time
(
eta
)
class
FileTransferSpeed
(
Widget
):
'Widget for showing the transfer speed (useful for file transfers).'
format
=
'
%6.2
f
%
s
%
s/s'
prefixes
=
' kMGTPEZY'
__slots__
=
(
'unit'
,
'format'
)
def
__init__
(
self
,
unit
=
'B'
):
self
.
unit
=
unit
def
update
(
self
,
pbar
):
'Updates the widget with the current SI prefixed speed.'
if
pbar
.
seconds_elapsed
<
2e-6
or
pbar
.
currval
<
2e-6
:
# =~ 0
scaled
=
power
=
0
else
:
speed
=
pbar
.
currval
/
pbar
.
seconds_elapsed
power
=
int
(
math
.
log
(
speed
,
1000
))
scaled
=
speed
/
1000.
**
power
return
self
.
format
%
(
scaled
,
self
.
prefixes
[
power
],
self
.
unit
)
class
AnimatedMarker
(
Widget
):
'''An animated marker for the progress bar which defaults to appear as if
it were rotating.
'''
__slots__
=
(
'markers'
,
'curmark'
)
def
__init__
(
self
,
markers
=
'|/-
\\
'
):
self
.
markers
=
markers
self
.
curmark
=
-
1
def
update
(
self
,
pbar
):
'''Updates the widget to show the next marker or the first marker when
finished'''
if
pbar
.
finished
:
return
self
.
markers
[
0
]
self
.
curmark
=
(
self
.
curmark
+
1
)
%
len
(
self
.
markers
)
return
self
.
markers
[
self
.
curmark
]
# Alias for backwards compatibility
RotatingMarker
=
AnimatedMarker
class
Counter
(
Widget
):
'Displays the current count'
__slots__
=
(
'format'
,)
def
__init__
(
self
,
format
=
'
%
d'
):
self
.
format
=
format
def
update
(
self
,
pbar
):
return
self
.
format
%
pbar
.
currval
class
Percentage
(
Widget
):
'Displays the current percentage as a number with a percent sign.'
def
update
(
self
,
pbar
):
return
'
%3
d
%%
'
%
pbar
.
percentage
()
class
FormatLabel
(
Timer
):
'Displays a formatted label'
mapping
=
{
'elapsed'
:
(
'seconds_elapsed'
,
Timer
.
format_time
),
'finished'
:
(
'finished'
,
None
),
'last_update'
:
(
'last_update_time'
,
None
),
'max'
:
(
'maxval'
,
None
),
'seconds'
:
(
'seconds_elapsed'
,
None
),
'start'
:
(
'start_time'
,
None
),
'value'
:
(
'currval'
,
None
)
}
__slots__
=
(
'format'
,)
def
__init__
(
self
,
format
):
self
.
format
=
format
def
update
(
self
,
pbar
):
context
=
{}
for
name
,
(
key
,
transform
)
in
self
.
mapping
.
items
():
try
:
value
=
getattr
(
pbar
,
key
)
if
transform
is
None
:
context
[
name
]
=
value
else
:
context
[
name
]
=
transform
(
value
)
except
:
pass
return
self
.
format
%
context
class
SimpleProgress
(
Widget
):
'Returns progress as a count of the total (e.g.: "5 of 47")'
__slots__
=
(
'sep'
,)
def
__init__
(
self
,
sep
=
' of '
):
self
.
sep
=
sep
def
update
(
self
,
pbar
):
return
'
%
d
%
s
%
d'
%
(
pbar
.
currval
,
self
.
sep
,
pbar
.
maxval
)
class
Bar
(
WidgetHFill
):
'A progress bar which stretches to fill the line.'
__slots__
=
(
'marker'
,
'left'
,
'right'
,
'fill'
,
'fill_left'
)
def
__init__
(
self
,
marker
=
'#'
,
left
=
'|'
,
right
=
'|'
,
fill
=
' '
,
fill_left
=
True
):
'''Creates a customizable progress bar.
marker - string or updatable object to use as a marker
left - string or updatable object to use as a left border
right - string or updatable object to use as a right border
fill - character to use for the empty part of the progress bar
fill_left - whether to fill from the left or the right
'''
self
.
marker
=
marker
self
.
left
=
left
self
.
right
=
right
self
.
fill
=
fill
self
.
fill_left
=
fill_left
def
update
(
self
,
pbar
,
width
):
'Updates the progress bar and its subcomponents'
left
,
marker
,
right
=
(
format_updatable
(
i
,
pbar
)
for
i
in
(
self
.
left
,
self
.
marker
,
self
.
right
))
width
-=
len
(
left
)
+
len
(
right
)
# Marker must *always* have length of 1
marker
*=
int
(
pbar
.
currval
/
pbar
.
maxval
*
width
)
if
self
.
fill_left
:
return
'
%
s
%
s
%
s'
%
(
left
,
marker
.
ljust
(
width
,
self
.
fill
),
right
)
else
:
return
'
%
s
%
s
%
s'
%
(
left
,
marker
.
rjust
(
width
,
self
.
fill
),
right
)
class
ReverseBar
(
Bar
):
'A bar which has a marker which bounces from side to side.'
def
__init__
(
self
,
marker
=
'#'
,
left
=
'|'
,
right
=
'|'
,
fill
=
' '
,
fill_left
=
False
):
'''Creates a customizable progress bar.
marker - string or updatable object to use as a marker
left - string or updatable object to use as a left border
right - string or updatable object to use as a right border
fill - character to use for the empty part of the progress bar
fill_left - whether to fill from the left or the right
'''
self
.
marker
=
marker
self
.
left
=
left
self
.
right
=
right
self
.
fill
=
fill
self
.
fill_left
=
fill_left
class
BouncingBar
(
Bar
):
def
update
(
self
,
pbar
,
width
):
'Updates the progress bar and its subcomponents'
left
,
marker
,
right
=
(
format_updatable
(
i
,
pbar
)
for
i
in
(
self
.
left
,
self
.
marker
,
self
.
right
))
width
-=
len
(
left
)
+
len
(
right
)
if
pbar
.
finished
:
return
'
%
s
%
s
%
s'
%
(
left
,
width
*
marker
,
right
)
position
=
int
(
pbar
.
currval
%
(
width
*
2
-
1
))
if
position
>
width
:
position
=
width
*
2
-
position
lpad
=
self
.
fill
*
(
position
-
1
)
rpad
=
self
.
fill
*
(
width
-
len
(
marker
)
-
len
(
lpad
))
# Swap if we want to bounce the other way
if
not
self
.
fill_left
:
rpad
,
lpad
=
lpad
,
rpad
return
'
%
s
%
s
%
s
%
s
%
s'
%
(
left
,
lpad
,
marker
,
rpad
,
right
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment