From 5812469e8e9d92a8972cb52f9ec58a50708a1c7f Mon Sep 17 00:00:00 2001 From: zackees Date: Wed, 22 Apr 2026 14:59:17 -0700 Subject: [PATCH] Support Digispark dtiny AVR framework --- .../assets/avr_frameworks.json | 18 +++++++++++++ .../src/library/avr_framework.rs | 25 +++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/crates/fbuild-packages/assets/avr_frameworks.json b/crates/fbuild-packages/assets/avr_frameworks.json index 4c84a793..f281fc13 100644 --- a/crates/fbuild-packages/assets/avr_frameworks.json +++ b/crates/fbuild-packages/assets/avr_frameworks.json @@ -25,6 +25,24 @@ "checksum": null, "validation_path": "cores/tinymodern/Arduino.h" }, + "dtiny": { + "name": "digistump-avr-core", + "github": "ArminJo/DigistumpArduino", + "version": "1.7.2", + "tag_prefix": "", + "checksum": null, + "validation_path": "cores/tiny/Arduino.h", + "core_dir": "tiny" + }, + "pro": { + "name": "digistump-avr-core", + "github": "ArminJo/DigistumpArduino", + "version": "1.7.2", + "tag_prefix": "", + "checksum": null, + "validation_path": "cores/pro/Arduino.h", + "core_dir": "pro" + }, "MiniCore": { "name": "minicore", "github": "MCUdude/MiniCore", diff --git a/crates/fbuild-packages/src/library/avr_framework.rs b/crates/fbuild-packages/src/library/avr_framework.rs index a97b1f2a..d0a10b20 100644 --- a/crates/fbuild-packages/src/library/avr_framework.rs +++ b/crates/fbuild-packages/src/library/avr_framework.rs @@ -372,4 +372,29 @@ mod tests { assert_eq!(entry.name, "arduino-megaavr-core"); assert_eq!(entry.core_dir.as_deref(), Some("arduino")); } + + #[test] + fn test_digispark_dtiny_registered() { + let registry = load_registry(); + assert!( + registry.contains_key("dtiny"), + "dtiny must be registered for Digistump/Digispark boards" + ); + } + + #[test] + fn test_digispark_dtiny_lookup() { + let entry = lookup_entry("dtiny").unwrap(); + assert!(entry.github.contains("DigistumpArduino")); + assert_eq!(entry.name, "digistump-avr-core"); + assert_eq!(entry.core_dir.as_deref(), Some("tiny")); + } + + #[test] + fn test_digispark_pro_lookup() { + let entry = lookup_entry("pro").unwrap(); + assert!(entry.github.contains("DigistumpArduino")); + assert_eq!(entry.name, "digistump-avr-core"); + assert_eq!(entry.core_dir.as_deref(), Some("pro")); + } }