Basic library for SHARP LCD LS027B4DH01/LS027B7DH01
Dependents: AkiSpiLcd_demo AkiSpiLcd_demo2 LCDRAM AkiSpiLcd_example
Revision 27:0a647d063cae, committed 2016-10-14
- Comitter:
- K4zuki
- Date:
- Fri Oct 14 01:53:39 2016 +0900
- Parent:
- 26:652198c957a0
- Child:
- 28:25497b32c4b1
- Commit message:
- Backed out changeset 2473d2b7c08d
Changed in this revision
Makefile | Show diff for this revision Revisions of this file |
Makefile.in | Show diff for this revision Revisions of this file |
markdown/TITLE.md | Show diff for this revision Revisions of this file |
--- a/Makefile Thu Oct 13 23:45:39 2016 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -include Makefile.in - -MDDIR:= markdown -DATADIR:= data -TARGETDIR:= Out -IMAGEDIR:= images -WAVEDIR:= images/waves - -INPUT:= TITLE.md -TARGET = AkiSpiLcd - -CSV:= $(shell cd $(DATADIR); ls *.csv) -TABLES:= $(CSV:%.csv=$(TARGETDIR)/%.tmd) - -WAVEYAML:= $(shell cd $(DATADIR); ls *.yaml) -PYWAVEOPTS:= -c -PYWAVEOPTS += 'import sys, yaml, json; \ - json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' -WAVEJSON:= $(WAVEYAML:%.yaml=$(TARGETDIR)/%.json) -WAVEPNG:= $(WAVEYAML:%.yaml=$(WAVEDIR)/%.png) - -FILTERED= $(INPUT:%.md=$(TARGETDIR)/%.fmd) -HTML:=$(TARGETDIR)/$(TARGET).html -DOCX:=$(TARGETDIR)/$(TARGET).docx - -PANFLAGS += --toc -PANFLAGS += --listings -PANFLAGS += --number-sections --highlight-style=pygments -PANFLAGS += -M localfontdir=$(FONTDIR) -PANFLAGS += -M css=$(MISC)/github_css/github.css -PANFLAGS += -M short-hash=`git rev-parse --short HEAD` -PANFLAGS += -M tables=true - -MARKDOWN = $(shell ls $(MDDIR)/*.md) - -.PHONY: docx html filtered tables pdf tex merge clean linking - -all: html - -docx: $(DOCX) -$(DOCX): $(HTML) - $(PANDOC) --reference-docx=$(REFERENCE) $(HTML) -o $(DOCX); \ - $(PYTHON) $(DOCXPWRTR) -I $(MDDIR)/$(INPUT) -O $(DOCX) - -html: $(HTML) -$(HTML): $(TARGETDIR)/$(TARGET).md - $(PANDOC) $(PANFLAGS) --self-contained -thtml5 --template=$(MISC)/github.html \ - $(FILTERED) -o $(HTML) - -pdf: $(TARGETDIR)/$(IMAGEDIR) $(TARGETDIR)/$(TARGET).tex - cd $(TARGETDIR);\ - xelatex --no-pdf $(TARGET).tex; \ - xelatex $(TARGET).tex - -linking: $(TARGETDIR)/$(IMAGEDIR) -$(TARGETDIR)/$(IMAGEDIR): - rm -f $(TARGETDIR)/$(IMAGEDIR); \ - cd $(TARGETDIR);\ - ln -s ../$(IMAGEDIR) - -tex: $(TARGETDIR)/$(TARGET).tex -$(TARGETDIR)/$(TARGET).tex: $(TARGETDIR)/$(TARGET).md - $(PANDOC) $(PANFLAGS) --template=$(MISC)/CJK_xelatex.tex --latex-engine=xelatex \ - $(TARGETDIR)/$(TARGET).md -o $(TARGETDIR)/$(TARGET).tex - -merge: $(TARGETDIR)/$(TARGET).md -$(TARGETDIR)/$(TARGET).md: $(FILTERED) - cat $(FILTERED) > $(TARGETDIR)/$(TARGET).md - -filtered: $(FILTERED) -$(FILTERED): $(MDDIR)/$(INPUT) $(MARKDOWN) $(TABLES) $(WAVEPNG) - cat $< | $(PYTHON) $(FILTER) --out $@ - -tables: $(TABLES) -$(TARGETDIR)/%.tmd: $(DATADIR)/%.csv - $(PYTHON) $(CSV2TABLE) --file $< --out $@ --delimiter ',' - -wavedrom: $(WAVEPNG) -$(WAVEDIR)/%.png: $(TARGETDIR)/%.json - phantomjs $(WAVEDROM) -i $< -p $@ - -yaml2json: $(WAVEJSON) -$(TARGETDIR)/%.json: $(DATADIR)/%.yaml - $(PYTHON) $(PYWAVEOPTS) < $< > $@ - -$(TARGETDIR): - mkdir -p $(TARGETDIR) -$(DATADIR): - mkdir -p $(DATADIR) -$(MDDIR): - mkdir -p $(MDDIR) -$(IMAGEDIR): - mkdir -p $(IMAGEDIR) -$(WAVEDIR): - mkdir -p $(WAVEDIR) - -clean: $(TARGETDIR) - rm -rf $(TARGETDIR)/* $(WAVEDIR)/
--- a/Makefile.in Thu Oct 13 23:45:39 2016 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -# USERNAME= -# HOME= - -ifeq ($(OS),Windows_NT) -HOME = C:/Users/$(USERNAME) -CABAL = $(HOME)/AppData/Roaming/cabal -PCROSSREF = $(CABAL)/bin/pandoc-crossref.exe -PANDOC:= $(CABAL)/bin/pandoc.exe -EXE:=.exe -WAVEDROM = C:/Users/kyamamot/AppData/Roaming/npm/wavedrom -else -CABAL = $(HOME)/.cabal -PCROSSREF = $(CABAL)/bin/pandoc-crossref -PANDOC:= $(CABAL)/bin/pandoc -EXE= -ifeq ($(shell uname),Linux) -FONTDIR = "ExternalLocation = /usr/local/share/texmf/fonts/" -WAVEDROM = /usr/local/bin/wavedrom -else -FONTDIR = "ExternalLocation = /usr/local/texlive/2015basic/texmf-local/" -WAVEDROM = $(HOME)/.nodebrew/current/bin/wavedrom -endif -endif - -# CABAL = $(HOME)/.cabal -# PANDOC= $(CABAL)/bin/pandoc.exe -PANSTYLES= $(HOME)/.pandoc -MISC= $(PANSTYLES)/pandoc_misc - -REFERENCE= $(PANSTYLES)/ref.docx - -SVN= -SVNDIR= -REPO= ${PWD##*/} - -PANFLAGS= -s -S -PANFLAGS += --read=markdown+east_asian_line_breaks -# +implicit_figures+inline_code_attributes+header_attributes+escaped_line_breaks -PANFLAGS += --filter $(PCROSSREF) - -PYTHON= python -CSV2TABLE= $(MISC)/csv2mdtable.py -FILTER= $(MISC)/include.py -DOCXPWRTR:=
--- a/markdown/TITLE.md Thu Oct 13 23:45:39 2016 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ ---- -title: 秋月メモリ液晶ブレークアウト基板の本 -abstract: 秋月電子「メモリ液晶」のブレークアウト基板とmbed^TM^ライブラリの解説 -circle: KY技研/みんなのラボ -author: "@_K4ZUKI_" -date: C91/2016-Dec -comiket: "C91" -year: "2016" -publisher: "秋葉原キンコーズで印刷製本予定" -docrevision: "1.0" -short-hash: (git short hash) - -documentclass: book -papersize: b5paper -mainfont: RictyDiminished-Regular -sansfont: RictyDiminished-Regular -monofont: RictyDiminished-Regular -mainlang: Japanese -CJKoptions: BoldFont=RictyDiminished-Bold, - ItalicFont=RictyDiminished-Oblique, - BoldItalicFont=RictyDiminished-BoldOblique -CJKmainfont: RictyDiminished-Regular -CJKsansfont: RictyDiminished-Regular -CJKmonofont: RictyDiminished-Regular -geometry: top=30truemm,bottom=30truemm,left=20truemm,right=20truemm -keywords: keyword -secPrefix: Chapter -linkcolor: black -urlcolor: black -citecolor: black -chapter: true -listings: true -codeBlockCaptions: true -listingTitle: 'List' -listingTemplate: '---**$$listingTitle$$ $$i$$$$titleDelim$$ $$t$$**---' -... - -# まえがき {.unnumbered} -このドキュメントは、秋月電子で販売されている2.7インチモノクロメモリ液晶[^01]の -ブレークアウト基板の仕様とmbed(TM)向けライブラリを解説する本です。 - -シャープの2.7インチメモリ液晶は400x240ドットの解像度を持つ、反射型モノクロ液晶 -です。5V単一電源で動かせて[^02]SPIバスに直結できるのが便利なうえ、他の一般的な -グラフィック液晶とは異なり、液晶が画素データを保持するのでマイクロコントローラ -側のプログラムが簡潔にできます。 - -直後に秋月電子もコントローラ基板を売りだした[^03]のですが、コントローラのPICマイコン -と液晶搭載部分が一体になっていました。しかしこれでは液晶の動作確認はできますが -応用・流用しづらいので筆者も2014年にArduinoシールド形状の基板を試作[^04]し、 -OMMFで販売もしました。その後マルツ[^05]とスイッチサイエンス[^06]で通販を -始めた際に現在の設計に変更しました。 - -この本では、現在販売されている基板及びmbed用ライブラリ[^07]の設計についての解説 -をします。いままでにこの基板を入手された方は特に _SRAMの存在価値について_ 疑問を -お持ちだと思いますので、そのあたりを重点的に。 - -# 注意事項 - -この文書で対象とする液晶モジュールは前述の秋月電子で販売中のものと、Mouserで -入手できるもの[^08]の2品種のみとします。最近スイッチサイエンスで販売しだした -カラータイプはどうやらピン互換のようですが電源電圧が異なるので基板側に改造が -必要になると思いますし、とりあえず対象外にします。 - -`markdown/1.0_BoardDesign.md`{.include} -<!-- --> -[^01]: TODO: 秋月商品ページへのリンク -[^02]: 信号は3V系推奨らしいです -[^03]: TODO: 秋月商品ページへのリンク -[^04]: フレキを通すために削った部分の幅が狭くて加工が必要だった。 -[^05]: TODO: マルツ商品ページヘのリンク -[^06]: TODO: スイッチサイエンス商品ページへのリンク -[^07]: TODO: mbedライブラリへのリンク -[^08]: TODO: Mouser商品ページへのリンク