View Single Post
Old 04-23-2016, 10:45 AM   #4
geekmaster
Carpe diem, c'est la vie.
geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.geekmaster ought to be getting tired of karma fortunes by now.
 
geekmaster's Avatar
 
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
The eink framebuffer is /dev/fb/0, not /dev/fb0 as used on the newer kindles. The eips command uses different parameters than its newer cousins.

The eink driver in rootfs seems more concerned with screensaver management than with controlling the eink display device.

As I recently discovered, it is incredibly easy to drive the bare eink displays you can get on ebay for $15 or less (k5 replacement displays) with a simple $3 "ESP" computer (with wifi):
http://essentialscrap.com/eink/waveforms.html

Some "compatible" eink displays have a couple extra control lines (presumably for addressing quadrants in larger displays):
https://spritesmods.com/?art=einkdisplay

These displays are very easy to control with a handful of GPIO pins, but only in saturated black and white. It is greyscale that is complex, requiring "waveforms" (timing tables that vary with mfg batch and with temperature).

To get grey pixels, you drive the pixel saturated (either black or white) and then the other direction with a short pulse (pulse duration sets grey level, but varies with temperature as sensed by a thermistor mounted on the display).

Because the displays require different timing at different temperatures, and also per-device, the waveform tables are stored in a writeable chip mounted on the flex cable of the display. Some displays come with this chip erased, but there are workarounds in these forums, if you are concerned about greyscale quality (as used in font rendering).

The reason these devices vary in timing is that they contain a myriad of tiny spheres sandwiched between the top and bottom glass (or plastic) plates. These beads contain a mixture of oil and black and white charged particles. The black particles are negatively charged and attracted to a positive electrode, while the white particles are positively charged and attracted to a negative electrode.

The displays contain a grid of electrodes on both the top and bottom, a pair of electrodes for each pixel position on the display. The electrodes can be set to either +15v or -15v. When top and bottom electrodes are both +15v or -15v (or both 0v when the display is off), no change occurs to the display pixel. With top electrode at +15v and bottom at -15v, the black particles rise to the top and form a black pixel. It takes time for the particles to travel from one surface to the other until it becomes saturated (all black or all white). To get grey, you saturate the pixel in one direction, then give it a short pulse in the other direction to get only SOME of the particles to switch positions. The time it takes for the particles to move is determined by voltage differential and by time, with oil viscosity being a major factor in particle travel speed. And oil viscosity varies with manufacturing and with temperature, hence the "waveform" tables for greyscale management.

Again, when using saturated pixels (pure black and white), there is no need to first saturate the pixel in one direction before setting it to a grey value, and therefore the display can be operated much faster (as used in my native mode demos and kindle video player).

If y'all are interesting in hearing more about my K1 spelunking adventures, please comment with encouragement. I have learned a lot, and I have a lot to share, if it is worth my time (i.e. sufficient endorphine-inducing encouraging feedback).

Last edited by geekmaster; 07-22-2016 at 06:54 AM.
geekmaster is offline   Reply With Quote