Comments (7)
@fg-personal galvani has been updated and should work fine now with EC-Lab v11.50
from galvani.
It looks like the bytes between the labels do not hold type information. They seem to be:
- length of the unit string in bytes
- unit string (e.g.
V
ormA
) - one null byte
- length of the label string
- label string (e.g.
time/s
orcontrol/V/mA
) - 0..3 null bytes
At least I can now read all column labels and units. I think I will look further into this and try and find the type information.
from galvani.
Thanks @ilka-schulz , this looks very helpful. I will look at it in more detail next week when I have some vacation.
from galvani.
There is also an experimental way to find out all columns:
I think we could try to synthesize our own MPR files and add columns with different colIDs. For each colID, we could try different column widths (2, 4 or 8 bytes). We could then try to convert these MPR files to MPT files using the EC-Lab GUI.
@chatcannon If you could write the code to synthesize MPR files, I would manually do the work of converting them with EC-Lab. Judging from the strings found in the EClab.exe
, there are around 250 different column IDs (some IDs are not used in the production EC-Lab software).
Anyways, I will probably start to work my way into disassembling. That might be the cleaner way and maybe that skill will be useful in the future ;)
from galvani.
I have been playing around with radare2 and ghidra but I was not able to retrieve the type information of those columns. I will now try to synthesize MPR files and let EC-Lab convert them to MPT files. I bet I can automate the process and let my program handle the EC-Lab GUI.
Anyways, I will be on holiday at the end of the year, so do not expect results for another month.
from galvani.
@ilka-schulz, did you see any change in EC-Lab 11.50? The galvani code isn't working for newer versions, but hopefully some small fixes in the "MPTfileCSV" function might be a temporary solution.
If you didn't, sorry for the dumb question, but which software did you use to check the exe file? (just to be sure I am not missing anything, I wasn't able to find this info with objdump)
from galvani.
I followed up the discussion in the other issue, looking forward for the new release (the one after 0.3.0) including the changes
from galvani.
Related Issues (20)
- CI is using up too much git-lfs bandwidth HOT 4
- Read Arbin files without writing temporary database
- Column 16/17 are not readable - `Analog IN 1/V`
- BioLogic: Unexpected end of file while reading data current module: b'VMP settings HOT 1
- NotImplementedError: Column ID 174 after column time/s is unknown HOT 2
- Use contextmanagers to ensure files are closed on errors
- Add a release checklist HOT 2
- Column ID 175, 176, 177, 182, 215, 475, 478, 481, 503 unknown HOT 5
- how to find Dtype for unknown columns ? HOT 1
- more of a question than an issue, i am not seeing all of the columns that are in the data set in the output of the biologic.mprfile data HOT 5
- Not implemented error (Column ID 185) HOT 1
- Numpy 2.0.0 breaks BioLogic.MPTfile() HOT 1
- column 6 has wrong label HOT 1
- column 11 has wrong label
- Incompatibility with EC-Lab>=11.50 - BioLogic.MPRfile issue HOT 27
- Unable to read res files with mdbtools>=1.0 HOT 3
- Maintenance status + sustainability HOT 10
- Something to cite HOT 2
- OSError: Unexpected end of file while reading data might due incompatibility with EC-lab 11.50 HOT 1
- [sugestion] Get more precise start date without log module HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from galvani.