Mwlike8

From Yan-server-AMD1G

Jump to: navigation, search

mwlike8 aims to make scale down Nano-X to work in 8-bit MCU

Contents

[edit] Architecture

                 +---------+---------+----------+
 Application     |  App 1  |  App 2  |   ...    |
                 +---------+---------+----------+
                 |         Nano-X API           |
                 +------------------------------+
 GUI Engine      |          mwlike8             |
                 +-------------+--------+-------+
 Nano-X Drivers  | Framebuffer | Keypad | Mouse |
                 +-------------+--------+-------+
                 |      POSIX System Call       |    e.g. open(), ioctl(), mmap()
                 +-------------+--------+-------+
 Hardware        |   Display   | Keypad | Mouse |
                 +-------------+--------+-------+


[edit] Source

svn


[edit] Changes to Nano-X

[edit] General

  • Do not use Dynamic Memory to prevent running out of heap
    • static allocation of 1 client
    • static allocation of 1 root window
    • static allocation of events, maximum number governed by C-define macro MW_EVENT_MAX
    • static allocation of event clients (i.e event mask for window), maximum number governed by C-define macro MW_EVENT_CLIENT_MAX
    • static allocation of windows, maximum number governed by C-define macro MW_WINDOW_MAX
    • static allocation of graphics context, *maximum number governed by C-define macro MW_GC_MAX

[edit] Window

  • no border
  • no pixmap
  • no clipping

[edit] Fonts

  • only 1 font per application (i.e. system font)
  • font size is non-resizable
  • fixed width (i.e. all characters have identical width)
  • only black and white text
  • font bitmap orientation and encoding changed

[edit] Pointing Device

  • no mouse pointer

[edit] Graphics Context

  • mode assume MWMODE_COPY only (i.e. no AND, XOR, etc)
  • no background color


[edit] ToDo

  • extend to support more than one fonts
  • develop framebuffer driver for lcd (128x64 pixel)
  • develop keypad driver for 3-key input device (up key, down key, enter key) + possibility of n-Function Keys
  • Look into wrapper for program written in gtk code running on X-Window
    • so that program developed by Rapid Application Development (RAD) tools (e.g. Glade) can be ported to Nano-X easily