aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2019-05-10 11:50:53 -0400
committerBrian Cully <bjc@kublai.com>2019-06-03 09:23:29 -0400
commit5781e9391fe3d7d3dabec620cb782d38f5f9cb9e (patch)
tree9ed0b09fd40f128733e8441fc63f91a9ee17d3f6 /examples
parentf12811a0a5e15b596a0cc06c095832a6b795172b (diff)
downloadclint-5781e9391fe3d7d3dabec620cb782d38f5f9cb9e.tar.gz
clint-5781e9391fe3d7d3dabec620cb782d38f5f9cb9e.zip
Update to 0.2.0: Add HandlerArray type.v0.2.0
* Create HandlerArray as a safe wrapper around Handler. * Add Cargo features for HandlerArray size. * Move Handler into sub-module. * Add CriticalSection sub-module for architecture dependent support of interrupt-free contexts. * Add build rules to pull in cortex-m support for CriticalSection automatically.
Diffstat (limited to 'examples')
-rw-r--r--examples/scope.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/scope.rs b/examples/scope.rs
new file mode 100644
index 0000000..cd17570
--- /dev/null
+++ b/examples/scope.rs
@@ -0,0 +1,21 @@
+use clint::HandlerArray;
+
+static HANDLERS: HandlerArray = HandlerArray::new();
+
+fn main() {
+ let mut cl = || println!("whoa!");
+
+ HANDLERS.with_overrides(|arr| {
+ arr.register(0, &mut cl);
+
+ dummy_int();
+ dummy2_int();
+ });
+}
+
+fn dummy_int() {
+ HANDLERS.call(0)
+}
+fn dummy2_int() {
+ HANDLERS.call(1)
+}