| Crates.io | noalloc-slip-rs |
| lib.rs | noalloc-slip-rs |
| version | 0.1.2 |
| created_at | 2025-08-05 05:47:44.639031+00 |
| updated_at | 2026-01-25 10:51:07.115201+00 |
| description | A no-std SLIP (Serial Line Internet Protocol) encoder and decoder implementation. |
| homepage | |
| repository | https://github.com/jaudiger/noalloc-slip-rs |
| max_upload_size | |
| id | 1781577 |
| size | 33,625 |
This Rust crate provides a no-std SLIP (Serial Line Internet Protocol) encoder and decoder implementation. SLIP is a simple protocol for sending packets over serial lines.
This library has to be used in conjunction with the noalloc-vec-rs crate.
use noalloc_slip_rs::slip::{END_CHAR, SlipEncoder, SlipDecoder};
use noalloc_vec_rs::vec::Vec;
const MAX_LENGTH: usize = 12;
let mut packet = Vec::<u8, MAX_LENGTH>::from([0x00, 0x01, 0x02, 0x03]);
SlipEncoder::encode(&mut packet).unwrap();
assert_eq!(*packet, [END_CHAR, 0x00, 0x01, 0x02, 0x03, END_CHAR]);
use noalloc_slip_rs::slip::{END_CHAR, SlipEncoder, SlipDecoder};
use noalloc_vec_rs::vec::Vec;
const MAX_LENGTH: usize = 12;
let mut decoder = SlipDecoder::<MAX_LENGTH>::default();
decoder.insert(END_CHAR).unwrap();
decoder.insert(0x00).unwrap();
decoder.insert(END_CHAR).unwrap();
assert!(decoder.is_buffer_completed());
assert_eq!(decoder.get_buffer(), &[0x00]);
The CI/CD pipeline is configured using GitHub Actions. The workflow is defined in the .github/workflows folder:
Additionally, Dependabot is configured to automatically update dependencies (GitHub Actions, Cargo dependencies).
The settings of this repository are managed from the gitops-deployments repository using Terraform. The actual configuration applied is located in the Terraform module modules/github-repository.