firmware for my Touchscreen E-Paper Input Module for Framework Laptop 16
1# eepyOS (WIP)
2
3eepyOS 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.
4
5Summary of crates:
6* `eepy` - eepyOS kernel
7* `eepy-sys` - library defining the kernel's syscall interface and binary format and providing safe abstractions
8* `eepy-derive` - proc macro crate for eepy-sys
9* `eepy-launcher` - the userspace component of eepyOS which handles the launcher UI
10* `eepy-gui` - barebones UI library for eepyOS applications based on `embedded-graphics`
11* `eepy-example-app` - example userspace application for eepyOS
12* `eepy-serial` - library crate for the USB serial interface
13* `eepytool` - CLI tool for interfacing with the input module over USB serial
14* `elf2epb` - utility for converting ELF binaries to eepyOS's binary format
15* `fw16-epd-bsp` - Board Support Package for the Touchscreen E-Paper Input Module
16* `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
17* `tp370pgh01` - Driver for the specific display used on the Touchscreen E-Paper Input Module (display only; touch is handled directly in the kernel)
18
19This repository is mirrored at [GitHub](https://github.com/arthomnix/epd_firmware)
20and [Tangled (alpha)](https://tangled.sh/@arthomnix.dev/eepy).