mirror of
https://github.com/ion232/reticulum-zig.git
synced 2025-12-22 06:37:05 +00:00
repo: add README
This commit is contained in:
56
README.md
56
README.md
@@ -1 +1,55 @@
|
||||
# reticulum-zig
|
||||
# Overview
|
||||
|
||||
An implementation of [Reticulum](https://github.com/markqvist/Reticulum) in [Zig](https://ziglang.org/) targeting operating systems and embedded devices.
|
||||
|
||||
# Roadmap
|
||||
|
||||
- Implement core transport.
|
||||
- Test core transport.
|
||||
- Implement a transport node pico build.
|
||||
- Test transport node pico build.
|
||||
- Implement app.
|
||||
- Test app.
|
||||
|
||||
# Structure
|
||||
|
||||
## App
|
||||
|
||||
- `app/` is the classic Reticulum app for standard operating systems.
|
||||
- Currently this is fairly empty as I work on the core functionality.
|
||||
|
||||
## Core
|
||||
|
||||
- `core/` is the core functionality of Reticulum.
|
||||
- Provides the means to setup nodes and their interfaces without coupling to operating system calls.
|
||||
- Built as a module for use in embedded and operating systems.
|
||||
- The crypto implementation currently leverages std.crypto from the zig std library.
|
||||
- Eventually I will provide an option to use OpenSSL.
|
||||
|
||||
## Hardware
|
||||
|
||||
- `hardware/` stores image setups for embedded devices that users can build with one command.
|
||||
- Makes use of [microzig](https://github.com/ZigEmbeddedGroup/microzig) as a submodule for targeting embedded devices.
|
||||
- Currently there is a very simple proof of concept for the pico.
|
||||
- It makes an identity, endpoint and announce packet and sends it over serial.
|
||||
- The image can be built by running `zig build -Doptimize=ReleaseSafe pico` from `hardware`.
|
||||
- Note that the upstream USB CBC code is known to be buggy.
|
||||
|
||||
## Test
|
||||
|
||||
- `test/` stores integration tests for core.
|
||||
- Eventually these will be done via deterministic simulation.
|
||||
- This will provide strong assurances on behaviour and make debugging much simpler.
|
||||
|
||||
# Goals
|
||||
|
||||
- Parity to reference implementation in core behaviour.
|
||||
- Cross-platform app for running on operating systems.
|
||||
- Providing one-line image builds of Reticulum for embedded devices.
|
||||
- Option of using OpenSSL for crypto.
|
||||
- Determinstic simulation testing.
|
||||
- Comprehensive integration tests.
|
||||
|
||||
# Anti-goals
|
||||
|
||||
- Exact parity to reference implementation in terminology/structure.
|
||||
|
||||
Reference in New Issue
Block a user