aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorpennae <[email protected]>2023-07-21 21:31:44 +0200
committerpennae <[email protected]>2023-08-01 18:31:28 +0200
commitb166ed6b78db0737005a65c1e444ce7563de7da3 (patch)
treeb06b0742ceb839e5739e92ea4c001617eb2f5d8c /tests
parent54d31c98fe44533c955c494ea58dd16810367c4f (diff)
rp: generalize adc inputs from pins to channels
this lets us treat pins and the temperature sensor uniformly using the same interface. uniformity in turn lets us add more adc features without combinatorial explosion of methods and types needed to handle them all.
Diffstat (limited to 'tests')
-rw-r--r--tests/rp/src/bin/adc.rs22
1 files changed, 11 insertions, 11 deletions
diff --git a/tests/rp/src/bin/adc.rs b/tests/rp/src/bin/adc.rs
index e659844ae..9006ce8cc 100644
--- a/tests/rp/src/bin/adc.rs
+++ b/tests/rp/src/bin/adc.rs
@@ -6,7 +6,7 @@ mod common;
6 6
7use defmt::*; 7use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_rp::adc::{Adc, Config, InterruptHandler, Pin}; 9use embassy_rp::adc::{Adc, Channel, Config, InterruptHandler};
10use embassy_rp::bind_interrupts; 10use embassy_rp::bind_interrupts;
11use embassy_rp::gpio::Pull; 11use embassy_rp::gpio::Pull;
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
@@ -22,12 +22,12 @@ async fn main(_spawner: Spawner) {
22 22
23 { 23 {
24 { 24 {
25 let mut p = Pin::new(&mut p.PIN_26, Pull::Down); 25 let mut p = Channel::new_pin(&mut p.PIN_26, Pull::Down);
26 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000); 26 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000);
27 defmt::assert!(adc.read(&mut p).await.unwrap() < 0b01_0000_0000); 27 defmt::assert!(adc.read(&mut p).await.unwrap() < 0b01_0000_0000);
28 } 28 }
29 { 29 {
30 let mut p = Pin::new(&mut p.PIN_26, Pull::Up); 30 let mut p = Channel::new_pin(&mut p.PIN_26, Pull::Up);
31 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000); 31 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000);
32 defmt::assert!(adc.read(&mut p).await.unwrap() > 0b11_0000_0000); 32 defmt::assert!(adc.read(&mut p).await.unwrap() > 0b11_0000_0000);
33 } 33 }
@@ -35,21 +35,21 @@ async fn main(_spawner: Spawner) {
35 // not bothering with async reads from now on 35 // not bothering with async reads from now on
36 { 36 {
37 { 37 {
38 let mut p = Pin::new(&mut p.PIN_27, Pull::Down); 38 let mut p = Channel::new_pin(&mut p.PIN_27, Pull::Down);
39 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000); 39 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000);
40 } 40 }
41 { 41 {
42 let mut p = Pin::new(&mut p.PIN_27, Pull::Up); 42 let mut p = Channel::new_pin(&mut p.PIN_27, Pull::Up);
43 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000); 43 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000);
44 } 44 }
45 } 45 }
46 { 46 {
47 { 47 {
48 let mut p = Pin::new(&mut p.PIN_28, Pull::Down); 48 let mut p = Channel::new_pin(&mut p.PIN_28, Pull::Down);
49 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000); 49 defmt::assert!(adc.blocking_read(&mut p).unwrap() < 0b01_0000_0000);
50 } 50 }
51 { 51 {
52 let mut p = Pin::new(&mut p.PIN_28, Pull::Up); 52 let mut p = Channel::new_pin(&mut p.PIN_28, Pull::Up);
53 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000); 53 defmt::assert!(adc.blocking_read(&mut p).unwrap() > 0b11_0000_0000);
54 } 54 }
55 } 55 }
@@ -57,22 +57,22 @@ async fn main(_spawner: Spawner) {
57 // gp29 is connected to vsys through a 200k/100k divider, 57 // gp29 is connected to vsys through a 200k/100k divider,
58 // adding pulls should change the value 58 // adding pulls should change the value
59 let low = { 59 let low = {
60 let mut p = Pin::new(&mut p.PIN_29, Pull::Down); 60 let mut p = Channel::new_pin(&mut p.PIN_29, Pull::Down);
61 adc.blocking_read(&mut p).unwrap() 61 adc.blocking_read(&mut p).unwrap()
62 }; 62 };
63 let none = { 63 let none = {
64 let mut p = Pin::new(&mut p.PIN_29, Pull::None); 64 let mut p = Channel::new_pin(&mut p.PIN_29, Pull::None);
65 adc.blocking_read(&mut p).unwrap() 65 adc.blocking_read(&mut p).unwrap()
66 }; 66 };
67 let up = { 67 let up = {
68 let mut p = Pin::new(&mut p.PIN_29, Pull::Up); 68 let mut p = Channel::new_pin(&mut p.PIN_29, Pull::Up);
69 adc.blocking_read(&mut p).unwrap() 69 adc.blocking_read(&mut p).unwrap()
70 }; 70 };
71 defmt::assert!(low < none); 71 defmt::assert!(low < none);
72 defmt::assert!(none < up); 72 defmt::assert!(none < up);
73 } 73 }
74 74
75 let temp = convert_to_celsius(adc.read_temperature().await.unwrap()); 75 let temp = convert_to_celsius(adc.read(&mut Channel::new_sensor(p.ADC_TEMP_SENSOR)).await.unwrap());
76 defmt::assert!(temp > 0.0); 76 defmt::assert!(temp > 0.0);
77 defmt::assert!(temp < 60.0); 77 defmt::assert!(temp < 60.0);
78 78