Implement full SSD1306 OLED display support: - Splash screen on boot (1.5s) with project name, version, board - Dashboard showing radio state, config, counters, RSSI/SNR - RSSI history sparkline (64-sample ring buffer, 2px-wide bars) - DisplayOn/DisplayOff host commands routed via dedicated channel - Pure render functions against generic DrawTarget (no hardware coupling) - Display on/off control bypasses radio task entirely Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
23 lines
928 B
Rust
23 lines
928 B
Rust
// Copyright 2022 The Fuchsia Authors
|
|
//
|
|
// Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0
|
|
// <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT
|
|
// license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option.
|
|
// This file may not be copied, modified, or distributed except according to
|
|
// those terms.
|
|
|
|
include!("../include.rs");
|
|
|
|
use zerocopy::transmute;
|
|
|
|
fn main() {}
|
|
|
|
// It is unclear whether we can or should support this transmutation, especially
|
|
// in a const context. This test ensures that even if such a transmutation
|
|
// becomes valid due to the requisite implementations of `FromBytes` being
|
|
// added, that we re-examine whether it should specifically be valid in a const
|
|
// context.
|
|
|
|
const POINTER_VALUE: usize = transmute!(&0usize as *const usize);
|
|
//~[msrv, stable, nightly]^ ERROR: the trait bound `*const usize: IntoBytes` is not satisfied
|