Skip to content

Commit

Permalink
Add 'internal-clock' feature
Browse files Browse the repository at this point in the history
This feature allows to use the 'internal-clock' feature to define a
lower clock speed.
  • Loading branch information
maxkofler committed Apr 1, 2024
1 parent c565c1c commit e6bb96b
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 11 deletions.
1 change: 1 addition & 0 deletions arduino-hal/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ critical-section-impl = ["avr-device/critical-section-impl"]
board-selected = []
mcu-atmega = []
mcu-attiny = []
internal-clock = []
arduino-diecimila = ["mcu-atmega", "atmega-hal/atmega168", "board-selected"]
arduino-leonardo = ["mcu-atmega", "atmega-hal/atmega32u4", "board-selected"]
arduino-mega2560 = ["mcu-atmega", "atmega-hal/atmega2560", "board-selected"]
Expand Down
41 changes: 30 additions & 11 deletions arduino-hal/src/clock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,38 @@ pub(crate) mod default {
///
/// However, you can of course still use other clock speeds but you'll then need to correctly
/// name the types from the HAL crate using your own clock definition.
#[cfg(any(
feature = "arduino-diecimila",
feature = "arduino-leonardo",
feature = "arduino-mega2560",
feature = "arduino-mega1280",
feature = "arduino-nano",
feature = "arduino-uno",
feature = "sparkfun-promicro",
feature = "sparkfun-promini-5v",
feature = "trinket-pro",
feature = "nano168",
#[cfg(all(
any(
feature = "arduino-diecimila",
feature = "arduino-leonardo",
feature = "arduino-mega2560",
feature = "arduino-mega1280",
feature = "arduino-nano",
feature = "arduino-uno",
feature = "sparkfun-promicro",
feature = "sparkfun-promini-5v",
feature = "trinket-pro",
feature = "nano168",
),
not(feature = "internal-clock")
))]
pub type DefaultClock = avr_hal_generic::clock::MHz16;
#[cfg(all(
any(
feature = "arduino-diecimila",
feature = "arduino-leonardo",
feature = "arduino-mega2560",
feature = "arduino-mega1280",
feature = "arduino-nano",
feature = "arduino-uno",
feature = "sparkfun-promicro",
feature = "sparkfun-promini-5v",
feature = "trinket-pro",
feature = "nano168",
),
feature = "internal-clock"
))]
pub type DefaultClock = avr_hal_generic::clock::MHz8;
#[cfg(any(feature = "trinket", feature = "sparkfun-promini-3v3"))]
pub type DefaultClock = avr_hal_generic::clock::MHz8;
}

0 comments on commit e6bb96b

Please sign in to comment.