Tags:
view all tags
%DASHBOARD{ section="dashboard_start" }% %DASHBOARD{ section="banner" title="Memory-in-Pixel Display MIP" titlestyle="color:#F00000;" }% %DASHBOARD{ section="box_start" title="Intro" width="485" height="250"}% This new type of LCD has the ultra-low power usage of eInk and the fast-refresh rates of an LCD. Viewable in any light, from edge-of-vision to bright sunlight. Wide, symmetrical viewing angles, typically 120° ×120°. Driver [[https://github.com/spyren/Mecrisp-Cube/blob/master/Forth/Src/mip.c][mip.c]], fonts from https://www.mikrocontroller.net/topic/54860. [[https://en.wikipedia.org/wiki/Code_page_850][Code page 850]] <img src="%PUBURLPATH%/MecrispCube/OledDisplay/Codepage-850.png" alt="Code page 850, 9x14" /> %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" title="Contents" width="460" height="250"}% %TOC% %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="400" }% ---+ MIP Words =mip-emit= works like the standard word =emit=. It blocks the calling thread, as long as the character is not written to the MIP display. Horizontal (x) position is in pixel (0 to 167/399), vertical position (y) is in lines (0 to 17/29), a line consists of 8 pixels. Larger fonts takes more than one line. <pre> mip-emit ( Char -- ) Emits a character (writes a character to the MIP display) mip-emit? ( -- Flag ) MIP ready to get a character (SPI not busy) hook-emit ( -- a-addr ) Hooks for redirecting terminal IO on the fly hook-emit? ( -- a-addr ) mippos! ( x y -- ) Set MIP cursor position, x horizontal position, for 6x8 font max. (168 / 6) -1, depends on the font's x size y vertical position (a line consists of 8 pixels), max. 17 for 168x144 or 29 for 400x240 displays. mippos@ ( -- x y ) Get the current MIP cursor position mipclr ( -- ) Clears the OLED display, sets the cursor to 0, 0 mipfont ( u -- ) Select the font, u: 0 6x8, 1 8x8, 2 8X16 , 3 12X16 >mip ( -- addr1 addr2 ) redirect to MIP >term ( addr1 addr2 -- ) terminate redirection </pre> %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="500" }% ---+ Usage It is easy to redirect the terminal output to the MIP display, to use the string formatting words. <pre> : mip-hallo ( -- ) hook-emit @ \ save emit hook ['] mip-emit hook-emit ! \ redirect terminal to mip-emit ." Hallo Velo! " cr ." ciao" hook-emit ! \ restore old hook ; </pre> or even simpler <pre> : mip-hallo ( -- ) >mip \ redirect terminal to mip-emit ." Hallo Velo! " cr ." ciao" >term \ terminate redirection ; </pre> or on a command line <pre> >mip .( Hallo Velo!) >term </pre> show date and time on MIP (see CmsisRtos#How_to_use_Tasks for a background task). <pre> : clock ( -- ) mipclr 3 mipfont -1 -1 -1 alarm! \ set an alarm every second begin wait-alarm \ wait a second 0 0 mippos! >mip .time >term key? until key drop ; </pre> %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="box_start" width="992" height="500" }% ---+ Links ---++ Sharp Memory-in-Pixel LCD * https://www.sharpsecd.com/#/memory-in-pixel-lcds-product * https://www.sharpsecd.com/#/memory-in-pixel-lcds-technology * Datasheet LS013B7DH05 144 x 168 https://www.sharpsecd.com/static/media/Sharp-LCD-Specification-LS013B7DH05-12-17-19.4f9deb60.pdf * Datasheet LS027B7DH01 400 × 240 https://www.sharpsecd.com/static/media/LS027B7DH01%20Spec%20(LD-28305A).02b53ab6.pdf * Programming Sharps Memory LCDs https://www.sharpsde.com/fileadmin/products/Displays/2016_SDE_App_Note_for_Memory_LCD_programming_V1.3.pdf D9 for CS. ---++ Adafruit SHARP Memory Display Breakout 1.3" 168x144 Adafruit [[https://www.adafruit.com/product/3502][#3502]] https://cdn-learn.adafruit.com/assets/assets/000/009/082/small360/lcds___displays_1393disp7_LRG.jpg ---++ Adafruit SHARP Memory Display Breakout 2.7" 400x240 Adafruit [[https://www.adafruit.com/product/4694][#4694]] https://cdn-shop.adafruit.com/970x728/4694-00.jpg %DASHBOARD{ section="box_end" }% %DASHBOARD{ section="dashboard_end" }% -- %USERSIG{PeterSchmid - 2022-05-13}% <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work by <a xmlns:cc="http://creativecommons.org/ns#" href="http://spyr.ch" property="cc:attributionName" rel="cc:attributionURL">Peter Schmid</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r5
<
r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r4 - 2022-08-02
-
PeterSchmid
Home
Site map
Cosmac web
MRR web
MecrispCube web
SuperRandonnee web
TWiki web
Ursula web
Velo web
MecrispCube Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Edit
Attach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback