···11+# eepyOS (WIP)
22+33+eepyOS is a barebones, application-specific, single-tasking operating system in Rust for my [Touchscreen E-Paper Input Module for the Framework 16](https://github.com/arthomnix/FW16_EPD), designed to allow safe execution of user programs. Currently a major work in progress.
44+55+Summary of crates:
66+* `eepy` - eepyOS kernel
77+* `eepy-sys` - library providing safe abstractions over the kernel's syscall interface and binary format
88+* `eepy-launcher` - the userspace component of eepyOS which handles the launcher UI
99+* `eepy-gui` - barebones UI library for eepyOS applications based on `embedded-graphics`
1010+* `eepy-example-app` - example userspace application for eepyOS
1111+* `eepy-serial` - library crate for the USB serial interface
1212+* `elf2epb` - utility for converting ELF binaries to eepyOS's binary format
1313+* `fw16-epd-bsp` - Board Support Package for the Touchscreen E-Paper Input Module
1414+* `pervasive-spi` - Bitbanging driver for the 3-wire SPI protocol used by Pervasive Displays e-paper panels, such as the one on the Input Module
1515+* `tp370pgh01` - Driver for the specific display used on the Touchscreen E-Paper Input Module (display only; touch is handled directly in the kernel)