Crate lcdsmartie_rs

Source
Expand description

§lcdsmartie-rs

lcdsmartie-rs is a small framework to enable writing plugins for LCDSmartie in Rust. It is no_std to enable usage on older versions of Windows (down to Windows 2000, theoretically) but requires an alloc implementation.

This also handles various undocumented quirks, including:

  • Strings in the API being limited to 255 bytes in the default Windows ANSI code page
  • Undefined lifespans on memory (handled mostly by just reusing a static buffer)

§Minimum Supported Rust Version (MSRV)

Before 1.0, there will be no formal MSRV policy - but it was developed with rustc 1.77, and 1.64 is the lowest version able to compile, according to cargo-msrv (C FFI and CStr in core was stabilized then, which is hardly used - it can be refactored out if there is a need to support older versions)

Macros§

define_plugin
Macro to define a plugin. Takes one parameter - a type that implements the Plugin trait.

Structs§

AnsiString
C-style string encoded in the current Windows ANSI code page.

Enums§

Error
The all-in-one error type to represent errors that may occur in the framework.

Traits§

Plugin
Trait representing the implementation of an LCDSmartie plugin.