SlideShare a Scribd company logo
支援DSL的嵌入式圖形操作環境
STUDENTS’ INFORMATION TECHNOLOGY CONFERENCE
2016, Taiwan
John Chou
luckyjoou@gmail.com
About me
1
• From the opposite bank…Neihu(?
• Bachelor degree in Optoelectronics
• Now obtaining master degree in EE at NCKU
• Love music, soccer, photography,…
• Personal website: joouis.com
Intro
2
• Why do this work?
• Good one is not free.
• Free one is not good enough.
• Using HTML&CSS is better!
支援DSL的嵌入式圖形操作環境
3
30分鐘搞懂嵌入式圖形在講什麼
Outline
4
A.Draw: from basic to advanced
B.GUI: from classic to modern
C.Future work and welcome
Part A. Draw: from basic to advanced
5
Draw: Liquid-crystal display
6
• Liquid-crystal display(LCD)
• From opaque to transparent when applying an electric field.
• Requiring external light to produce a visible image.
• Types:
• Passive-matrix: TN, STN, …
• Active-matrix: TFT(IPS, VA, …)
Picture source
Draw: Liquid-crystal display
7
• What you should know
Draw: Liquid-crystal display
8
• What you actually see is
Draw: MCU
9
• STM32F429ZI key features:
• Core: ARM® 32-bit Cortex®-M4 CPU with FPU, frequency up to 180 MHz
• Memories: Up to 2 MB of Flash memory
• LCD-TFT controller up to XGA resolution with dedicated Chrom-ART
Accelerator™ for enhanced graphic content creation (DMA2D)
• Up to 168 I/O ports with interrupt capability
• Up to 21 communication interfaces
Draw: VRAM
10
• It seems that we can draw pics after we initialize the
peripherals..
• But do this math work first:
Suppose we want to control a 2.4" QVGA(240*320) TFT
LCD, RGB565(2 btyes per pixel), how much bytes will be
needed per frame?
Draw: VRAM
11
• 240*320*2 = 153,600 btyes
• STM32F429ZI only have 192KB ram to use!!!
• So we need external ram, often call it Video Ram, which
was once commonly used to storage the framebuffer in
some graphics adapters.
• Then based on above, if TFT controller updates 240*320
pixels @60Hz?
• 153,600*60 = 9 MB/s (around 10-50% load on SDRAM)
Draw: Double buffering
12
• Double buffering:
Draw: UGUI
13
• We always want to stand on the shoulder of open source projects.
Draw: Font library
14
• Like this:
Draw: Font library
15
• And the output like this:
Draw: Raster and Vector Graphics
16
• In computer graphics, a raster graphics image is a dot matrix
data structure representing a generally rectangular grid of
pixels
• Color mode: RGB565, RGB888, ARGB32
Draw: Vector Graphics
17
• If you open an svg file you will see that path elements are
specified using a graphical operation format that looks
something like this
Draw: TWIN
18
• A vector graphics framework for embedded system
• Its author is Keith Packard, who was named as “the person
behind most of the improvements made on the open source desktop
in the last ten years at least” in 2011.
Draw: Spline in TWIN
19
• Bézier curve is a kind of spline.
• And can be defined as:
Draw: Spline in TWIN
20
• Alogrithm in TWIN: De Casteljau's algorithm
Draw: Transition
21
• Translation
• (Uniform) Scaling
• Rotation
• Rotate matrix(counterclockwise)
• Counterclockwise, θangle
Draw: Comparison between Bitmap & Vector
22
• Bitmap/raster graphics
• Pre-rendered. At run time,
basically just a data copy.
• Hard to do
• Zoom
• Rotate
• Color change
• Dynamic backgrounds
• But much faster and can make
heavy use of DMA transfers.
• Arithmetic/vector graphics
• Run-time calculations and pixel
plotting by MCU.
EASY
• Not really an option in this
context.
Part B. GUI: from classic to modern
23
GUI: Classic Embedded UI
24
GUI: Modern Embedded UI
25
• What users expect…
GUI: Modern Embedded UI
26
• Features:
• Transparency
• Alpha-blending
• Anti-aliased fonts and kerning
• Touch Gestures
• Animations
• Screen transition
• High resolution displays
• High frame rate
GUI: Modern Embedded UI
27
• It is not all about technology.
GUI: SPA Style
28
• Single-page application
• A web application or website that fits on a single web page
with the goal of providing a more fluent UX similar to a
desktop application.
GUI: Challenges
29
• MCU Load:
• Large amount of data
• UI is just a (small) part of the system
• Limit Pixel Redraws:
• Only draw the areas that actually change
• Only draw pixels that are actually visible
• Memory Usage: Internal and external RAM usage
• High-end Look & Feel
Part C. Future work
30
Future work: DSL
31
Domain-specific language … Well, just think about HTML
Future work
32
• Support vector graphics (ongoing)
• Web UI style (SPA)
• Support DSL
• Optimization for low memory cost
Welcome
33
• BSD License
• With documenting, see here
• Github
Reference
34
• STM32F429I-DISCO schematics
• RM0090: STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439
advanced ARM®-based 32-bit MCUs
• Wikipedia: Vector graphics
• Bezier
• Modern GUI on Limited Hardware - Jesper Hedegaard; Mjølner Informatics
Thanks for listening !
Special thanks to Jserv and SITCON !
35

More Related Content

Similar to 支援DSL的嵌入式圖形操作環境

Co315 part 1
Co315   part 1Co315   part 1
Co315 part 1
Aksh Gupta
 
What is computer graphics
What is computer graphicsWhat is computer graphics
What is computer graphics
Syed Zaid Irshad
 
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
Intel® Software
 
Video Terminal Evolution and The Future of Browsers
Video Terminal Evolution and The Future of BrowsersVideo Terminal Evolution and The Future of Browsers
Video Terminal Evolution and The Future of Browsers
Thomas Walker Lynch
 
OpenCL & the Future of Desktop High Performance Computing in CAD
OpenCL & the Future of Desktop High Performance Computing in CADOpenCL & the Future of Desktop High Performance Computing in CAD
OpenCL & the Future of Desktop High Performance Computing in CAD
Design World
 
lec01.pdf
lec01.pdflec01.pdf
lec01.pdf
BeiYu6
 
unit-1-intro
 unit-1-intro unit-1-intro
unit-1-intro
Docent Education
 
P1 powerpoint presentation
P1 powerpoint presentationP1 powerpoint presentation
P1 powerpoint presentationAishahBegum
 
CAD Unit-1.pdf
CAD Unit-1.pdfCAD Unit-1.pdf
CAD Unit-1.pdf
JbCreation2
 
cad workstation
cad workstationcad workstation
cad workstation
Jagilam Kumar
 
PCL (Point Cloud Library)
PCL (Point Cloud Library)PCL (Point Cloud Library)
PCL (Point Cloud Library)
University of Oklahoma
 
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
Sardegna Ricerche
 
CS101- Introduction to Computing- Lecture 33
CS101- Introduction to Computing- Lecture 33CS101- Introduction to Computing- Lecture 33
CS101- Introduction to Computing- Lecture 33
Bilal Ahmed
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
Nico Ludwig
 
Converting and Transforming Technical Graphics
Converting and Transforming Technical GraphicsConverting and Transforming Technical Graphics
Converting and Transforming Technical Graphics
dclsocialmedia
 
Animation's Life Cycle And Its Application
Animation's Life Cycle And Its ApplicationAnimation's Life Cycle And Its Application
Animation's Life Cycle And Its Application
Shakaib Arif
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
Suyash Khiwansara
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
Nafis Ahmad
 
Overview of Computer Graphics
Overview of Computer GraphicsOverview of Computer Graphics
Overview of Computer Graphics
United International University
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
Nico Ludwig
 

Similar to 支援DSL的嵌入式圖形操作環境 (20)

Co315 part 1
Co315   part 1Co315   part 1
Co315 part 1
 
What is computer graphics
What is computer graphicsWhat is computer graphics
What is computer graphics
 
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
World of Tanks* 1.0+: Enriching Gamers Experience with Multicore Optimized Ph...
 
Video Terminal Evolution and The Future of Browsers
Video Terminal Evolution and The Future of BrowsersVideo Terminal Evolution and The Future of Browsers
Video Terminal Evolution and The Future of Browsers
 
OpenCL & the Future of Desktop High Performance Computing in CAD
OpenCL & the Future of Desktop High Performance Computing in CADOpenCL & the Future of Desktop High Performance Computing in CAD
OpenCL & the Future of Desktop High Performance Computing in CAD
 
lec01.pdf
lec01.pdflec01.pdf
lec01.pdf
 
unit-1-intro
 unit-1-intro unit-1-intro
unit-1-intro
 
P1 powerpoint presentation
P1 powerpoint presentationP1 powerpoint presentation
P1 powerpoint presentation
 
CAD Unit-1.pdf
CAD Unit-1.pdfCAD Unit-1.pdf
CAD Unit-1.pdf
 
cad workstation
cad workstationcad workstation
cad workstation
 
PCL (Point Cloud Library)
PCL (Point Cloud Library)PCL (Point Cloud Library)
PCL (Point Cloud Library)
 
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
La piattaforma Ruju per la ricostruzione 3D di scene e oggetti reali a partir...
 
CS101- Introduction to Computing- Lecture 33
CS101- Introduction to Computing- Lecture 33CS101- Introduction to Computing- Lecture 33
CS101- Introduction to Computing- Lecture 33
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 
Converting and Transforming Technical Graphics
Converting and Transforming Technical GraphicsConverting and Transforming Technical Graphics
Converting and Transforming Technical Graphics
 
Animation's Life Cycle And Its Application
Animation's Life Cycle And Its ApplicationAnimation's Life Cycle And Its Application
Animation's Life Cycle And Its Application
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Overview of Computer Graphics
Overview of Computer GraphicsOverview of Computer Graphics
Overview of Computer Graphics
 
(2) gui drawing
(2) gui drawing(2) gui drawing
(2) gui drawing
 

Recently uploaded

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
Kamal Acharya
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 

Recently uploaded (20)

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Vaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdfVaccine management system project report documentation..pdf
Vaccine management system project report documentation..pdf
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 

支援DSL的嵌入式圖形操作環境

  • 1. 支援DSL的嵌入式圖形操作環境 STUDENTS’ INFORMATION TECHNOLOGY CONFERENCE 2016, Taiwan John Chou luckyjoou@gmail.com
  • 2. About me 1 • From the opposite bank…Neihu(? • Bachelor degree in Optoelectronics • Now obtaining master degree in EE at NCKU • Love music, soccer, photography,… • Personal website: joouis.com
  • 3. Intro 2 • Why do this work? • Good one is not free. • Free one is not good enough. • Using HTML&CSS is better!
  • 5. Outline 4 A.Draw: from basic to advanced B.GUI: from classic to modern C.Future work and welcome
  • 6. Part A. Draw: from basic to advanced 5
  • 7. Draw: Liquid-crystal display 6 • Liquid-crystal display(LCD) • From opaque to transparent when applying an electric field. • Requiring external light to produce a visible image. • Types: • Passive-matrix: TN, STN, … • Active-matrix: TFT(IPS, VA, …) Picture source
  • 8. Draw: Liquid-crystal display 7 • What you should know
  • 9. Draw: Liquid-crystal display 8 • What you actually see is
  • 10. Draw: MCU 9 • STM32F429ZI key features: • Core: ARM® 32-bit Cortex®-M4 CPU with FPU, frequency up to 180 MHz • Memories: Up to 2 MB of Flash memory • LCD-TFT controller up to XGA resolution with dedicated Chrom-ART Accelerator™ for enhanced graphic content creation (DMA2D) • Up to 168 I/O ports with interrupt capability • Up to 21 communication interfaces
  • 11. Draw: VRAM 10 • It seems that we can draw pics after we initialize the peripherals.. • But do this math work first: Suppose we want to control a 2.4" QVGA(240*320) TFT LCD, RGB565(2 btyes per pixel), how much bytes will be needed per frame?
  • 12. Draw: VRAM 11 • 240*320*2 = 153,600 btyes • STM32F429ZI only have 192KB ram to use!!! • So we need external ram, often call it Video Ram, which was once commonly used to storage the framebuffer in some graphics adapters. • Then based on above, if TFT controller updates 240*320 pixels @60Hz? • 153,600*60 = 9 MB/s (around 10-50% load on SDRAM)
  • 13. Draw: Double buffering 12 • Double buffering:
  • 14. Draw: UGUI 13 • We always want to stand on the shoulder of open source projects.
  • 16. Draw: Font library 15 • And the output like this:
  • 17. Draw: Raster and Vector Graphics 16 • In computer graphics, a raster graphics image is a dot matrix data structure representing a generally rectangular grid of pixels • Color mode: RGB565, RGB888, ARGB32
  • 18. Draw: Vector Graphics 17 • If you open an svg file you will see that path elements are specified using a graphical operation format that looks something like this
  • 19. Draw: TWIN 18 • A vector graphics framework for embedded system • Its author is Keith Packard, who was named as “the person behind most of the improvements made on the open source desktop in the last ten years at least” in 2011.
  • 20. Draw: Spline in TWIN 19 • Bézier curve is a kind of spline. • And can be defined as:
  • 21. Draw: Spline in TWIN 20 • Alogrithm in TWIN: De Casteljau's algorithm
  • 22. Draw: Transition 21 • Translation • (Uniform) Scaling • Rotation • Rotate matrix(counterclockwise) • Counterclockwise, θangle
  • 23. Draw: Comparison between Bitmap & Vector 22 • Bitmap/raster graphics • Pre-rendered. At run time, basically just a data copy. • Hard to do • Zoom • Rotate • Color change • Dynamic backgrounds • But much faster and can make heavy use of DMA transfers. • Arithmetic/vector graphics • Run-time calculations and pixel plotting by MCU. EASY • Not really an option in this context.
  • 24. Part B. GUI: from classic to modern 23
  • 26. GUI: Modern Embedded UI 25 • What users expect…
  • 27. GUI: Modern Embedded UI 26 • Features: • Transparency • Alpha-blending • Anti-aliased fonts and kerning • Touch Gestures • Animations • Screen transition • High resolution displays • High frame rate
  • 28. GUI: Modern Embedded UI 27 • It is not all about technology.
  • 29. GUI: SPA Style 28 • Single-page application • A web application or website that fits on a single web page with the goal of providing a more fluent UX similar to a desktop application.
  • 30. GUI: Challenges 29 • MCU Load: • Large amount of data • UI is just a (small) part of the system • Limit Pixel Redraws: • Only draw the areas that actually change • Only draw pixels that are actually visible • Memory Usage: Internal and external RAM usage • High-end Look & Feel
  • 31. Part C. Future work 30
  • 32. Future work: DSL 31 Domain-specific language … Well, just think about HTML
  • 33. Future work 32 • Support vector graphics (ongoing) • Web UI style (SPA) • Support DSL • Optimization for low memory cost
  • 34. Welcome 33 • BSD License • With documenting, see here • Github
  • 35. Reference 34 • STM32F429I-DISCO schematics • RM0090: STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439 advanced ARM®-based 32-bit MCUs • Wikipedia: Vector graphics • Bezier • Modern GUI on Limited Hardware - Jesper Hedegaard; Mjølner Informatics
  • 36. Thanks for listening ! Special thanks to Jserv and SITCON ! 35