4 releases (2 breaking)

0.4.1 Apr 18, 2023
0.4.0 Jun 19, 2022
0.3.1 Apr 26, 2022
0.0.0 Apr 26, 2022

#398 in Operating systems


Used in avrox-display

BSD-3-Clause

685KB
13K SLoC

AVRox-Storage

Storage device drivers for the [AVRoxide] AVR operating system

Supported Devices

  • Rohm BR24T1M-3AM serial 128Kx8 EEPROM

Driver Overlays

  • PageBuffer - buffered overlay that can wrap any device storage driver

File System Overlays

  • SNaFus - simple numbered filing system overlay that gives traditional open/seek/read/write API for storage devices.

Documentation

See the main AVRoxide documentation at https://avroxi.de/categories/gettingstarted/


lib.rs:

Storage device drivers for the AVRoxide operating system.

Features

32 (default), 16 or 64 bit maximum file sizes

By default, the maximum size for files is determined by the 32-bit values used for offset addresses. This is more than adequate for almost any storage realistically attached to an Arduino - but, I guess it is possible that you could attach, say, an SD-Card with greated than 4GB. You may optionally pass a feature flag to enable 64 bit values therefore.

Similarly, if you know the largest file you will use is 64k or less, you can specify 16bit filesize instead.

Smaller maximum filesizes reduces memory use, but also critically may mean you avoid having to import 64bit maths functions, reducing codesize as well.

Flag Meaning
filesize_16bit Maximum filesize is 16 bits
filesize_32bit (Default) maximum filesize is 32 bits
filesize_64bit Maximum filesize is 64 bits

Dependencies

~2MB
~43K SLoC