Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vendor waveforms issues #132

Open
mcer12 opened this issue Dec 11, 2021 · 7 comments
Open

Vendor waveforms issues #132

mcer12 opened this issue Dec 11, 2021 · 7 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@mcer12
Copy link
Collaborator

mcer12 commented Dec 11, 2021

Hi @vroland I am able to generate json from 5bpp waveform files using your inkwave fork, but those don't seem to work correctly (colors are distorted). I acquired some 4bpp wbf as well but those don't save correctly (broken json) - seems like you only assume 5bpp wbf? Would be nice to support 4bpp as well since for example ED060XC3 does have 4b waveform available.

So my question is, how to correctly convert the files so that it works in epdiy. I really love how crisp and high quality the image is but the colors are distorted. I tried to convert waveform for ED060XD4 and ED097TC2 and they seem to do correct routine but the colors are wrong (grayscale test appears like the shades are mixed up).

@vroland
Copy link
Owner

vroland commented Dec 30, 2021

Since we have discussed this on slack / matrix, I'll close this here, but we can re-open or raise a new issue if ther's something new.

@vroland vroland closed this as completed Dec 30, 2021
@mcer12
Copy link
Collaborator Author

mcer12 commented Dec 30, 2021

I respectfully disagree :) In my opinion this is a bug of the waveform generator and should be tracked in github issues. What happends on slack can easily be forgotten and I see this as an important issue since some displays don't work properly without vendor waveforms.

@vroland
Copy link
Owner

vroland commented Dec 30, 2021

That's a good point.

@vroland vroland reopened this Dec 30, 2021
@mcer12 mcer12 added bug Something isn't working help wanted Extra attention is needed labels Apr 22, 2022
@holgerlembke
Copy link
Contributor

holgerlembke commented Apr 24, 2022

Hmmmm. Cppcheck complains a lot of stil warnings... with gems like "unint32_t" checked for less than zero...

See https://github.com/vroland/inkwave/blob/32e58f4d02367ee639764cf61e1a9e1f15b94c76/main.c#L651

(I have no idea what this program is about. Totally not. But help is wanted and here I am. Useless. :-)

@vroland
Copy link
Owner

vroland commented Sep 2, 2022

The original inkwave was already kind of hacky and my changes didn't make it better ;)
The program is about decoding eInk waveform tables. However these are really hard to find. Hence, it would be nice to find a more general solution eventually, like a mathematical model to derivce the waveform timings from...

@vdp
Copy link

vdp commented Sep 4, 2022

@vroland IMO the problem with the vendor waveforms is not so much that they are hard to find - they are, but as you know you can still find quite a few online or fetch them from commercial devices. The more serious problem is that no one in the (unfortunately quite small) eink hacking scene seems to know the meaning of some parts of the vendor files. And some of that seem to be crucial. I looked into this briefly a few months ago, and noticed that there are transitions from one shade of gray to another with equal number of "drive to white" and "drive to black) commands interleaved. I can't see how this makes sense unless there is additional, say, timing info associated with these commands. There are many chunks of data in those waveforms whose meaning is not yet deciphered as far as I know, and I'd guess some of that is timing info.

At least that was my conclusion, based on a brief look- could be wrong... I agree with you broader point that working on free/open waveforms would seem like the more fruitful direction.

@vroland
Copy link
Owner

vroland commented Jan 1, 2023

True, in some datasheets you can find the timings for line in a table, e.g. in some waveshare datasheets. But this information must also be somewhere in the waveform files, but I haven't found it yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants