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

Requests go here. If you fill a request, give it a new thread in the appropriate category and then link to it in the request thread.
Post Reply
Message
Author
Roy
Posts: 451
Joined: Wed 31 Dec 2008, 18:31

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

#1 Post 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
Last edited by Roy on Thu 26 Apr 2018, 17:56, edited 1 time in total.

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

Maybe -- help from experienced python handlers requested

#2 Post 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.
Last edited by mikeslr on Thu 19 Apr 2018, 20:55, edited 1 time in total.

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#3 Post 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!
Attachments
ecg.jpg
(78.78 KiB) Downloaded 539 times

Roy
Posts: 451
Joined: Wed 31 Dec 2008, 18:31

#4 Post 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

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#5 Post 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:

User avatar
mikeslr
Posts: 3890
Joined: Mon 16 Jun 2008, 21:20
Location: 500 seconds from Sol

#6 Post 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.

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#7 Post 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:

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#8 Post 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
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#9 Post 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.

Roy
Posts: 451
Joined: Wed 31 Dec 2008, 18:31

#10 Post 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

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#11 Post by Keef »

No need to log in. What browser are you using?

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#12 Post 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:

Roy
Posts: 451
Joined: Wed 31 Dec 2008, 18:31

#13 Post 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!

User avatar
perdido
Posts: 1528
Joined: Mon 09 Dec 2013, 16:29
Location: ¿Altair IV , Just north of Eeyore Junction.?

#14 Post 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

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#15 Post 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/
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

Roy
Posts: 451
Joined: Wed 31 Dec 2008, 18:31

#16 Post 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

User avatar
666philb
Posts: 3615
Joined: Sun 07 Feb 2010, 12:27
Location: wales ... by the sea

#17 Post 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
Bionicpup64 built with bionic beaver packages http://murga-linux.com/puppy/viewtopic.php?t=114311
Xenialpup64, built with xenial xerus packages http://murga-linux.com/puppy/viewtopic.php?t=107331

Post Reply