2023-08-06 18:34:36 +02:00
|
|
|
#![cfg(target_arch = "avr")]
|
|
|
|
#![no_std]
|
|
|
|
#![feature(c_size_t)]
|
2023-08-15 13:31:46 +02:00
|
|
|
//! This is the arduboy_rust crate
|
|
|
|
//! To get started import the [prelude] to your project.
|
|
|
|
//!
|
|
|
|
//! Import the module:
|
|
|
|
//! ```
|
|
|
|
//! use arduboy_rust::prelude::*;
|
|
|
|
//! ```
|
2023-08-16 09:58:14 +02:00
|
|
|
//! ### Disable C++ libraries
|
|
|
|
//! Inside the root directory is a file named `import_config.h`
|
|
|
|
//!
|
|
|
|
//! You can disable C++ libraries in the `import_config.h` file.
|
2023-08-15 15:30:11 +02:00
|
|
|
//! Just comment the unused library definition out.
|
|
|
|
//!
|
2023-08-16 09:58:14 +02:00
|
|
|
//! Be careful with disabling libraries because:
|
|
|
|
//! - The only error you get is something like this if you try to use a function that relies on the library you disabled.
|
|
|
|
//! ```text
|
|
|
|
//! game.90c69b91e57f285-cgu.0:(.text.loop+0x290): undefined reference to `sound_tone'
|
|
|
|
//! ```
|
|
|
|
//! - the benefit of disabling will be important in the feature when I add support for the ArduboyG library etc.
|
|
|
|
//!
|
|
|
|
//! To get an idea, the ArduboyTones Library needs additional 2-3% of the flash memory.
|
2023-08-15 15:30:11 +02:00
|
|
|
//!
|
|
|
|
//! [Here is the link to the GitHub Repo](https://github.com/zenndev1337/rust-for-arduboy)
|
2023-08-15 11:34:37 +02:00
|
|
|
|
2023-08-06 18:34:36 +02:00
|
|
|
extern crate panic_halt;
|
2023-08-15 12:41:08 +02:00
|
|
|
pub mod hardware;
|
2023-08-06 18:34:36 +02:00
|
|
|
mod library;
|
|
|
|
pub mod prelude;
|
|
|
|
mod print;
|
2023-08-15 11:34:37 +02:00
|
|
|
pub use crate::library::arduboy2::{self, Arduboy2, Color, FONT_SIZE, HEIGHT, WIDTH};
|
2023-08-15 12:41:08 +02:00
|
|
|
pub use crate::library::arduboy_tone::{self, ArduboyTones};
|
2023-08-14 19:32:34 +02:00
|
|
|
pub use crate::library::eeprom::{EEPROM, EEPROMBYTE};
|
2023-08-15 13:31:46 +02:00
|
|
|
pub use crate::library::{arduino, c, sprites};
|