Page 1 of 1

How to run 1-op-amp-ECG Windows software in Puppy? SOLVED!

Posted: Thu 19 Apr 2018, 19:49
by Roy
As an old (read:retired) guy who still serves as a part-time wilderness medic, this concept REALLY intrigues me -- it is a simple, portable, laptop-monitored, ECG (electrocardiograph) machine, built on Windows (open-source) software.

https://www.swharden.com/wp/2016-08-08- ... -1-op-amp/

A currently run Puppy Linux on my 32-bit laptop (Slacko Puppy 6.9.9.9), but started running Puppy on this Dell Latitude D610 machine back when the current version was Puppy 4.3.

I also have a 64-bit laptop available to use, but not sure of the specs on that machine.

Regardless, the open-source software designed for this ECG project is Windows based, and I am not going to budge away from Linux. I am willing to change (regress or update) to ANY Puppy Linux version that will run on either laptop available to me in order to have this ECG function available. Warning: the software is based on Python (which might or might not be an issue).

It will take me some time to get the physical project parts (no small parts stores anymore), but I seriously want this.

Is anybody willing to help with the software end of this?

https://github.com/swharden/diyECG-1opAmp

Thank you,
-Roy

Maybe -- help from experienced python handlers requested

Posted: Thu 19 Apr 2018, 20:49
by mikeslr
Hi Roy,

It's been a couple of lifetimes since I took 11th Grade Physics --it had an Electronics component-- and a shop-class in things electrical. Now, I even hesitate to changing light-bulbs. So, other than noting that the website provides the schematics, I'm not going to venture any advice about building the device.

Regarding the software, using the pre-packaged WinPython-64bit-3.5.2.1.exe is the easiest way to proceed. Obviously, a 64-bit computer would be necessary. Although Windows 7 or above was its intended target, considering your reluctance to venture to the darkside, it may --as in maybe, maybe not-- be possible to run it under 64-bit Wine. Version2013 has packaged both WOW version (solely 64-bit) and Wine 3x versions (32-bit with 64-bit support). You'll find the newest versions at the end of this thread, http://murga-linux.com/puppy/viewtopic.php?t=88711, but it's worth reading the the beginning of the thread for information. And this thread may help in creating a Menu for your program. http://murga-linux.com/puppy/viewtopic. ... 255#882255.

The alternate instructions require "certain libraries like PyQt4 and numpy". I don't know python. My efforts to build applications which require it have not been successful*. Other than that numpy is a python module and that both PyQt4 and numpy are available via XenialPup64's Puppy Package Manager --and probably most Puppies published in the last couple of years-- I can't tell you much. On the other post, Scott, the author, also mentions scipy, matplotlib, pyqrgraph about which I know nothing. More disturbing, however, is that I didn't find a "recipe" so I can't tell what other bits and pieces may be needed. I would suggest an email to him requesting at least a dependency list.

mikesLr

* ldd (list dynamic dependencies) does tell what python modules are missing. Consequently, my efforts have consisted with starting here, https://packages.ubuntu.com/, plugging a known item into the search box, and recursively following the links to its dependencies and their dependencies.

Posted: Thu 19 Apr 2018, 20:51
by Keef
Roy,

I managed to ge t the software running on Quirky Xerus which I happened to be on at the time. It is 64bit. The software is all Python and needed to download a fair few dependencies (which were all available via PPM).
The point is that this should be do-able. I might try again on Slacko later, or hopefully some Python savvy packager will butt in and do it properly!

Posted: Thu 19 Apr 2018, 22:15
by Roy
Thanks for your quick replies! Building the physical part of this gizmo is no challenge for me -- after I locate and accumulate the few parts required.

In my early days of Puppy Linux, I had very little luck trying to run programs via WINE and shortly thereafter abandoned all efforts, so not a lot of experience with such on my end... and I'm pretty much hooked on Puppy (going ALL the way back "to the dark side" is just NOT going to happen).

I'll try to locate that 64-bit laptop and give Quirky Xerus a go, but would ultimately appreciate a .pet or .sfs to keep my ECG machine running long term, should a packaged product like that become available.

In spite of my years, I still feel like a dumb computer end-user at times....

- Roy

Posted: Thu 19 Apr 2018, 23:07
by Mike Walsh
Roy/Mike/Keef:-

No idea if this'll help at all, but I've located a 32-bit version of WinPython-3.5.2.1.exe, here:-

https://github.com/winpython/winpython/releases

....down near the bottom of the page.

As I understand it, Python is almost entirely script-based, although it does contain a handful of binaries (which 'mange' and co-ordinate those scripts). I'm no expert on this (like Mike, I stumble along, and frequently manage to amaze myself where Python's concerned, if I manage to get a Python-based package to work in places where it was never originally intended to!)

From what I can see of it, there is nothing to say that this wouldn't work in 32-bit WINE with a 32-bit Qt4 .exe package. But we'd need to figure out which version of Qt4 to use.....and then, of course, find out which version of WINE the whole 'kit & caboodle' would run under.

What d'you reckon? Do-able? Could be a step closer to manufacturing that .pet or SFS package Roy would like to have.....


Mike. :wink:

Posted: Fri 20 Apr 2018, 00:17
by mikeslr
FWIW neither WinPython-64bit-3.5.2.1.exe nor the WinPython-3.5.2.1.exe Mike Walsh located functioned under Wine 3.3. (32-bit with 64-bit support). Both installed without a problem, but most of the exes were unresponsive; from the sound of the hard-drive one attempted to start but then did nothing. I have no idea how to diagnose Windows programs which don't run.

It's possible that WinPython-64bit-3.5.2.1.exe might work under WOW, the pure 64-bit, version of Wine. But the pure 64-bit version of wine is still in its infancy, so I don't give it much hope.

Considering how far keef has gotten, the "all LInux" path seems the most likely to succeed.

I took a look at some of the scripts found here: https://github.com/swharden/diyECG-1opA ... r/software. Two of them started with Import calls:

from PyQt4 import QtGui,QtCore
import sys
import ui_main
import numpy as np
import pyqtgraph
import swhear
import time
import pyqtgraph.exporters
import webbrowser

and

import pyaudio
import time
import numpy as np
import threading
import scipy.io.wavfile

swhear is, itself, a script on that page. Numpy is a "module*" I know can be downloaded as it was required in building either flowblade or Openshot. So perhaps that, or further examination of the provided scripts, will tell someone who knows python what the dependencies of diyECG are.

mikesLr

* As I said I don't know python. I've used the term "module" to mean a pre-assembled/written script with whatever it needs to perform a function under python.

Posted: Fri 20 Apr 2018, 01:03
by Mike Walsh
I agree.

It would make far more sense to build it to run natively in Linux's Python. But, again, I'll pose the question. Just because the developer makes some vague reference to a 64-bit version of WinPython, doesn't mean to say it's got to run under 64-bit. No reason it wouldn't run under 32-bit, too.

To recap; Python, as I understand it, consists of a whole bunch of scripts (which are architecture-independent), and a handful of binaries, which co-ordinate and run the whole shebang. It's only those binaries which are architecture-specific. And Python, AFAIK, is still manufactured in both versions.

The binaries aren't what 'run' your apps.. It's specific Python 'modules', supplied by the developer of an app, that 'plug-in' to fixed locations in the Python directory, which actually 'run' individual apps, and enable their functionality. Those Python binaries will do their job regardless of what Python-based application you're running, since they simply enable all the scripts to function together as a cohesive whole.

Yes, I know 64-bit is the way it's going (and I applaud Keef's efforts in this matter, since he's got it to run. Well done indeed!) All I'm saying is that there's no reason why this couldn't run under 32-bit. There's an awful lot of 32-bit Puppy boxes still out there, still going strong.

The 64-bit mention by the developer could simply be because he built this on a 64-bit machine, following the general consensus of opinion by the majority that you must move to 64-bit ASAP because 32-bit's days are numbered. Sorry to labour the point, but I'm simply saying that there's no reason Roy couldn't run this on his existing box, rather than having to set-up a whole new one.

--------------------------------------------------------------

This should be possible to build in both 32- and 64-bit versions, if necessary. The binaries run Python; it's the scripts that actually run your app.

Mike. :wink:

Posted: Sun 22 Apr 2018, 10:18
by 666philb
hi Roy,

here's some sfs's to test https://drive.google.com/open?id=1HTNP2 ... vlMI6kAdEv

one for
slacko 6.9.9.9 32bit
xenialpup 64bit
xenialpup 32bit

it can be run from menu>>utility>>>diyECG
or in a terminal diyecg

the circuit diagrams are in /usr/share/diyECG-1opAmp

Posted: Sun 22 Apr 2018, 12:41
by Keef
666philb

I can confirm that the Slacko version runs, which will please Roy. I had tried to make an sfs myself but failed miserably.

Posted: Sun 22 Apr 2018, 13:42
by Roy
666philb,

Thank you for the SFS's!

Unfortunately, I must be doing something wrong on my end, as I can VIEW but not DOWNLOAD any of the packages.

Do I need to be signed in to an account of some kind to download them for testing?

-Roy

Posted: Sun 22 Apr 2018, 19:04
by Keef
No need to log in. What browser are you using?

Posted: Sun 22 Apr 2018, 20:31
by Mike Walsh
The one thing I've just found I need to do is to confirm that it's me, by using my Google a/c password.....but the way Google have been tightening-up on security this last year or so, I can't really say as I'm even remotely surprised (given that I've had a Google a/c since 2003).

I'm currently using Chrome 26 in Lucid (it's the newest Chrome Lucid will handle; 40 versions out-of-date, and I've just had a wee reminder that this will very soon be totally unsupported. Hardly surprising Google want account confirmation, really...)

Not sure how accessing G-Drive works if you're viewing through summat like Firefox, or Opera. Perhaps Phil needs to give sharing permissions at his end? It's something I've occasionally needed to do with my own Drive account.

@ Roy:-

If you really can't access the files on Phil's Drive a/c, I'm sure we can, if necessary, move things around from one a/c to another so you can access them. Which one in particular are you interested in?


Mike. :wink:

Posted: Mon 23 Apr 2018, 14:21
by Roy
I am using Pale Moon version 27.6.2SSE (the latest, I think).

Actually, I am MOST interested in the Slacko version, but wish to download all of them, since you guys went to the trouble of creating them. Besides, I can't count how many laptops I've owned in my life, and have learned through experience that they are not indestructible in austere environments (keeping in mind that, although Slackware is pretty darned good with hardware recognition, vastly different hardware often requires different Puppy versions).

- Roy

EDIT: Disregard the download issue... I think I just got them after logging out of my Microsoft account and logging into my Google account. Still, strange that only the "Download" was not in BOLD.

Now for testing to see if they run on my system, then on to building the physical interface hardware! My sincere thanks to all of you!

Posted: Mon 23 Apr 2018, 16:03
by perdido
I have no trouble downloading from the link Keef provided.

Only need to allow google via noscript to let it do javascript.
Then I disallow google when done.

No social media account required, ever. I am proof.

Palemoon 27.6.2

Posted: Wed 25 Apr 2018, 17:55
by 666philb
hi Roy,

i've also uploaded them to dropbox (dropbox may ask you to create an account but you can X out of that and just download)

https://www.dropbox.com/s/wqs5s2gzbporu ... 6.sfs?dl=0
https://www.dropbox.com/s/kp3c8auspdfoy ... 5.sfs?dl=0
https://www.dropbox.com/s/2tlbun5jyqkvo ... 5.sfs?dl=0

note that the slacko version requires the devx.sfs loaded for python, the xenialpup ones don't require it as xenialpup comes with python included.
slacko devx here http://distro.ibiblio.org/puppylinux/pu ... esting/32/

Posted: Thu 26 Apr 2018, 01:40
by Roy
Oh, thank you! Thank you! Thank you all ever so much!

It is working in my 32-bit Slacko 6.9.9.9! I downloaded the other SFS's also, and will keep them near my heart (maybe a little bit of pun intended) for future use if needed.

To everyone who responded and helped with this project, "THANK YOU!".

Should I edit my initial post topic as 'solved' as a matter of forum etiquette?

Again, thank you for this!

-Roy

Posted: Thu 26 Apr 2018, 16:28
by 666philb
Roy wrote: Should I edit my initial post topic as 'solved' as a matter of forum etiquette?
-Roy
hi Roy,

yes add SOLVED to the title of the thread.

and let us know if it all works once you've set up the circuit :D