Linux Format forums Forum Index Linux Format forums
Help, discussion, magazine feedback and more
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Your opinions please...

 
Post new topic   Reply to topic    Linux Format forums Forum Index -> Off Topic
View previous topic :: View next topic  
Author Message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Thu Sep 13, 2012 11:22 am    Post subject: Your opinions please... Reply with quote

Hi guys and gals...

(Apologies for any typos.)

I am in the process of building and writing matching Python code to create a CALIBRATED DC-20KHz(ish) sound card, Audio Oscilloscope using Python, Tkinter and PyAudio. I am trying to create a similar effect to this AMIGA one I built and wrote for tha AMIGA nearly 12 years ago. Also to make it platform independant.

Take a look here at the GIF ANIM as it shows exactly what this old project look like on screen:-

http://wisecracker.host22.com/

I am attempting to create the same type of GUI that this old project has using Tkinter - not easy, if at all possible, note, when a button is pressed it stays pressed in until another range is clicked on.

Would you guys please look at the GIF ANIM of the scope and pass your opinions...

The real thing works exactly like the AMIN...

TIA...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
bobthebob1234
LXF regular


Joined: Thu Jan 03, 2008 9:38 pm
Posts: 1369
Location: A hole in a field

PostPosted: Thu Sep 13, 2012 1:14 pm    Post subject: Reply with quote

What sort of opinions? Like this?

Needs more green trace on black background. Like all the cool kids. Or can user change it?

Also I assume it isn't a fixed size, those buttons be quite small!

Also the grid disappearing then reappearing is a tad annoying. Make it stay there. Or have a button to turn on and off
_________________
For certain you have to be lost to find the places that can't be found. Elseways, everyone would know where it was
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Thu Sep 13, 2012 2:32 pm    Post subject: Reply with quote

This is an AMIGA program and the Scope is fully configurable from the KB button. Graticule can be turned off and configured in a text config file if so desired. It has a storage facility of 65536 bytes, variable brightness of trace, DC Trace offset, samples through the parallel port at 200KHz and has full dual rail low battery detect. Full trace shift but only has linear interpolation. The executable size is about 85KB and the front end display size about 25KB... Hardware can be made by a youngster, no PCBs to be made download the photos here:-

http://aminet.net/package/docs/hard/TestGear4D

Not sure if they are JPG or IFF/ILBM format now as it was years ago when I did it...

It was 320 x 200 x 32 colours full screen.

The Python one is HOPEFULLY going to be 640 x 400 x ? colours...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
guy
LXF regular


Joined: Thu Apr 07, 2005 1:07 pm
Posts: 1071
Location: Worcestershire

PostPosted: Thu Sep 13, 2012 10:08 pm    Post subject: Reply with quote

Well, it looks vaguely like an ancient Tektronix scope imitation but with a crummy fixed-pitch font.

But that's blindingly obvious. What other kinds of things do you want opinions on? Whether the front end display size should be increased to 32KB? Whether a second input for dual-trace or X-input, or a peak marker, etc. etc. would be nice?
_________________
Cheers,
Guy
The eternal help vampire
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Thu Sep 13, 2012 10:38 pm    Post subject: Reply with quote

Guy...

Erm, dual trace is out of the question, maybe you hadn't noticed but my original post did quote sound card, Calibrated and DC input. Not sure how that could be done as dual trace, perhaps you could enlighten me.

However I was more interested in the buttons and general appearance not what measurements can be done. Your font choice might help, colours, whether the buttons should latch, whether it should look like a bench Scope at all. The looks (aesthetics), of the project on screen, not the techy side...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
guy
LXF regular


Joined: Thu Apr 07, 2005 1:07 pm
Posts: 1071
Location: Worcestershire

PostPosted: Fri Sep 14, 2012 9:41 pm    Post subject: Reply with quote

Bazza wrote:
Erm, dual trace is out of the question, maybe you hadn't noticed but my original post did quote sound card, Calibrated and DC input. Not sure how that could be done as dual trace, perhaps you could enlighten me.

I had assumed stereo. Or is that used up by the calibration signal?

Quote:
However I was more interested in the buttons and general appearance not what measurements can be done. Your font choice might help, colours, whether the buttons should latch, whether it should look like a bench Scope at all. The looks (aesthetics), of the project on screen, not the techy side...

I guess picking up on the desktop theme would be too hard. A few skin options would be nice: screen and chassis selectable separately.
The bench scope look is probably a good idea, unless you are expert in UI design. But no need to be too literal, e,g, a bank of buttons for playing with the skins would be fine.
Latching buttons would be good: "indent" shading when pressed, also, rather than the black border as at present.
"Slow" is not a helpful time step: 10 would be better.
Why the "VERT" button? Just leave it all settable on-the-fly.
Toggling the X-Y settings with the copyright notice is supremely irritating. Move the copyright & word "oscilloscope" to the periphery, or better just flash them onscreen for a second when the app fires up.
Use the space left by "Oscilloscope" to give the vertical range: 10mV-240V p-p or whatever, & move that bit to the top or bottom of the front panel.
Replace the words"status window" with an enlargement of same, e.g. giving one or more of max p-p V, rms V, mean DC level, etc.
Anyway, that's probably enough for now.
_________________
Cheers,
Guy
The eternal help vampire
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Sat Sep 15, 2012 2:55 pm    Post subject: Reply with quote

Hi Guy...

Crikey, this was meant to be a kids level project not a semi-pro item...

Comments noted and some will not be implemented. I have yet to do a final build the external hardware first. Not sure how flexible Tkinter is for my needs but I will no doubt find out.

The other channel is mainly for DC detection but will be used for other things too, and the two audio outputs for hardware control.

No need for _padding_ on the input as the range is only to about 20KHz. Assuming I am successful then hopefully I can get this to work on any machine and platform that has Python, Tkinter and PyAudio...

As for the VERT button on the AMIGA project, this was for kids to build from about age 10, so I couldn't let them loose on the vertical range and mode without some sort of restraint. It always defaults to 30V/Div AC coupling and each range change requires that you press the VERT button deliberately first, (safety before familiarity). As for the copyright this is only shown at startup on the real item. From then on it informs the user of parameters that are set...

Anyhow thanks for the reply, latching buttons it is again then although I suspect the Tkinter coding will be large to attain this...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
guy
LXF regular


Joined: Thu Apr 07, 2005 1:07 pm
Posts: 1071
Location: Worcestershire

PostPosted: Sat Sep 15, 2012 5:00 pm    Post subject: Reply with quote

Hi Bazza,
Sorry about so much noise then, but I always prefer to make four useless suggestions that to not bother with the one that matters.

One further thought, though it may be too sophisticated to build: How about a trigger function, for pulse capture? I'm thinking maybe you could pulse or switch the second input signal to capture a single sweep? (just a pushswitch and maybe a couple of resistors)
_________________
Cheers,
Guy
The eternal help vampire
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Sat Sep 15, 2012 6:37 pm    Post subject: Reply with quote

Hi guy...

Remember...

I only have the one mic/line input channel to spare, but it could be possible when not detecting a DC offset, i.e. the main input switched to AC coupling only using the same HW to detect the DC offsets. Although I would like to give a 64KB store that will be fully user accessible much like the AMIGA one. The only thing is though, I don't think I can better the DC(/Trigger) accuracy better than 5 or 6 bit depth using ordinary bits and pieces...
I will only be using 8 bit depth for the AC component...

Keep 'em cummin'... ;o)
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
guy
LXF regular


Joined: Thu Apr 07, 2005 1:07 pm
Posts: 1071
Location: Worcestershire

PostPosted: Sat Sep 15, 2012 9:19 pm    Post subject: Reply with quote

I was kind of thinking that you could use a sudden change in the DC offset as a trigger.

Failing a physical switch, how about a sample-and-hold (or Freeze) button on the scope?

Then I'm thinking, back in the day, PC soundcards tended to have analogue joystick ports tacked on: a joystick button would be an obvious trigger switch. But I don't know about modern soundcards.

In fact, what is the value of the DC offset input? You could just auto-calculate the DC offset, or have the value fed in at the keyboard (numbers or up/down arrow keys).

That VERT button. I think it's in the wrong place, it's confusing having it in with the timebase settings. It needs to go with the other vertical set buttons, then you can call it SET.
Not such a neat set of buttons then, but at least front panel mouldings are cost-free when they are only virtual.

Well, you said keep 'em comin' Wink
_________________
Cheers,
Guy
The eternal help vampire
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Sat Sep 15, 2012 10:06 pm    Post subject: Reply with quote

Hi guy...

I think we are _talking_ at cross purposes here. All I have for I/O is the stereo mic/line inputs and stereo headphone outputs; these are common to most desktop, laptop, notebook and netbook devices. Calibrated AC for one of the mic/line channels is for waveform display, the other is for the DC component of the Calibrated AC display and any external input control; REMEMBER the mic/line inputs have NO DC capability.

The 2 headphone outputs are for external HW control, Y range and AC/DC input switching etc, although I could probably get away with just one of the headphone channels the other being a basic audio test generator...

Anyhow I will attempt a Tkinter front end over the next few weeks or so and grab it for all to see...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Tue Sep 25, 2012 11:06 am    Post subject: Reply with quote

OK...

I now have MONO _Mic_ input from my MacBook Pro 13 inch through the headphone socket. The problem now is do I make this audipscope project I am doing AC coupled ONLY, OR, have _alternate_ AC measurement and swtiching the one input for the DC component, (if any), every odd(/even) sampling period?

If I am to attempt to make this platform independent then this is really the only way I can get DC into the computer.

So AC only, or the much more difficult AC with DC offset?
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
guy
LXF regular


Joined: Thu Apr 07, 2005 1:07 pm
Posts: 1071
Location: Worcestershire

PostPosted: Tue Sep 25, 2012 8:15 pm    Post subject: Reply with quote

Well, if you don't do the DC offset then you could do dual-trace after all Razz

Better still, make the second line switchable between DC control and AC signal modes. You could then have display options for things like:
- DC offset on trace A
- DC timebase for Trace A
- dual-trace AC
- X-Y games (e.g. Lissajous figures)

A pulse trigger could be done either as a spike in AC mode (with display also set to pulse mode) or by developing the control mode into a more generic serial bus. That last would be cool, allowing the hardware mode selector switch to tell the PC what display modes it can offer.

Might be wise to do a Mk I first, ahem.

If DC is hard and you like the generic bus idea, then maybe make the Mk I dual-trace AC only but with the switchover capability built in, needing only a firmware upgrade or similar to implement the control bus. Unless you want the whole logic implemented in hardware, in which case I trust you will enjoy hardwiring the DC offset signal converter. (Pulse length? Pulse train? CW frequency?)

Much rambling, but maybe something useful in there.
_________________
Cheers,
Guy
The eternal help vampire
Back to top
View user's profile Send private message
Bazza
LXF regular


Joined: Sat Mar 21, 2009 11:16 am
Posts: 1476
Location: Loughborough

PostPosted: Wed Sep 26, 2012 1:29 pm    Post subject: Reply with quote

Hi guy...

Hmmm, you look as though you might be remotely interested in this KIDS level project...

As I only have ONE audio input, (worst case, MacBook Pro), then single trace it will be...

Frequency measurement already done here:-

http://code.activestate.com/recipes/577955-a-demo-frequency-counter-with-a-difference-text-mo/?in=user-4177147

1KHz function generator already done here:-

http://code.activestate.com/recipes/577592-simple-1khz-audio-function-generator-using-standar/?in=user-4177147

Simple white noise generator already done here:-

http://code.activestate.com/recipes/577604-simple-white-noise-generator-using-standard-python/?in=user-4177147

Simple DEMO audioscope idea here:-

http://code.activestate.com/recipes/577771-simple-lf-audio-oscilloscope-using-standard-text-m/?in=user-4177147

DC output variable voltage reference here:-

http://code.activestate.com/recipes/577924-and-now-for-something-completely-different-using-t/?in=user-4177147

Plus loads of other stuff I have given away for Linux on there...

This shows I am serious at this KIDS level project...
_________________
73...

Bazza, G0LCU...

Team AMIGA...
Back to top
View user's profile Send private message
View previous topic :: View next topic  
Display posts from previous:   
Post new topic   Reply to topic    Linux Format forums Forum Index -> Off Topic All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Linux Format forums topic RSS feed 


Powered by phpBB © 2001, 2005 phpBB Group


Copyright 2011 Future Publishing, all rights reserved.


Web hosting by UKFast