#port #usb #programming #ed #rom #err #everdrive

libeverdrive

libeverdrive is a library for programming everdrive through usb development port

1 unstable release

new 0.0.1 Mar 6, 2025

#10 in #ed

39 downloads per month

MIT license

20KB
278 lines

libeverdrive

libeverdrive provides a rust interface for programming EverDrive devices through its USB development port.

Installing

cargo add libeverdrive

Usage example

use libeverdrive::Everdrive;

fn main() {
    let mut ed = match Everdrive::new(std::time::Duration::from_millis(100)) {
        Ok(ed) => {
            println!("Everdrive device found");
            ed
        },
        Err(err) => {
            eprintln!("Failed to find Everdrive: {:?}", err);
            return;
        }
    };

    match ed.status() {
        Ok(_) => println!("ED status OK"),
        Err(err) => eprintln!("ED status error: {:?}", err),
    }

    let mut buf = [0; 512];
    match ed.rom_read(0x10000000, &mut buf) {
        Ok(_) => println!("Rom content: {:?}", buf),
        Err(err) => eprintln!("Read error: {:?}", err),
    }
}

Dependencies

~2MB
~44K SLoC