Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Crates

The Figure 1 shows a simplified view of the dependency graph between the crates of the project. The smolphone/os workspace contains most of the crates that are libraries, drivers, and demos. At the base of the graph are the libraries:

  • smolphone_dict provides efficient dictionary lookup and parsing for the DICT format.
  • smolphone_fs offers a file system abstraction and implements it for the Rust’s std::fs module and embedded-sdmmc crate.
  • smolphne_graphics provides a framework for creating and rendering a graphical user interface.
  • smolphone_wren is a safe wrapper around the Wren virtual machine. Wren is a scripting language used to write applications’ logics.
  • smolphone_wren_modules exposes some SmolPhone libraries as Wren modules that can be accessed in a Wren script.

The smolphone_sharp_memory_lcd and smolphone_tca8418_keypad crates are divers for the display and the keypad used by the SmolPhone Device. smolphone_apps provides applications such as a dictionary application. It defines the application logics and the user interface. smolphone_examples and the crates of the smolphone/device workspace depends on the smolphone_apps crate and set up the runtime. smolphone_examples relies on the embedded-graphics simulator which in turn relies on SDL.

Figure 1: Crate dependency graph.