aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--embassy-mcxa/src/adc.rs38
-rw-r--r--examples/mcxa/src/bin/adc_interrupt.rs4
-rw-r--r--examples/mcxa/src/bin/adc_polling.rs4
3 files changed, 22 insertions, 24 deletions
diff --git a/embassy-mcxa/src/adc.rs b/embassy-mcxa/src/adc.rs
index 94d945c88..8852fd737 100644
--- a/embassy-mcxa/src/adc.rs
+++ b/embassy-mcxa/src/adc.rs
@@ -99,17 +99,16 @@ impl Default for LpadcConfig {
99/// Defines the parameters for a single ADC conversion operation. 99/// Defines the parameters for a single ADC conversion operation.
100#[derive(Debug, Clone, Copy, PartialEq, Eq)] 100#[derive(Debug, Clone, Copy, PartialEq, Eq)]
101pub struct ConvCommandConfig { 101pub struct ConvCommandConfig {
102 pub sample_channel_mode: u8, 102 pub channel_number: Adch,
103 pub channel_number: u8, 103 pub chained_next_command_number: Next,
104 pub chained_next_command_number: u8,
105 pub enable_auto_channel_increment: bool, 104 pub enable_auto_channel_increment: bool,
106 pub loop_count: u8, 105 pub loop_count: u8,
107 pub hardware_average_mode: u8, 106 pub hardware_average_mode: Avgs,
108 pub sample_time_mode: u8, 107 pub sample_time_mode: Sts,
109 pub hardware_compare_mode: u8, 108 pub hardware_compare_mode: Cmpen,
110 pub hardware_compare_value_high: u32, 109 pub hardware_compare_value_high: u32,
111 pub hardware_compare_value_low: u32, 110 pub hardware_compare_value_low: u32,
112 pub conversion_resolution_mode: u8, 111 pub conversion_resolution_mode: Mode,
113 pub enable_wait_trigger: bool, 112 pub enable_wait_trigger: bool,
114} 113}
115 114
@@ -359,17 +358,16 @@ impl<'a, I: Instance> Adc<'a, I> {
359 /// Default conversion command configuration 358 /// Default conversion command configuration
360 pub fn get_default_conv_command_config(&self) -> ConvCommandConfig { 359 pub fn get_default_conv_command_config(&self) -> ConvCommandConfig {
361 ConvCommandConfig { 360 ConvCommandConfig {
362 sample_channel_mode: Ctype::SingleEndedASideChannel as u8, 361 channel_number: Adch::SelectCh0,
363 channel_number: Adch::SelectCh0 as u8, 362 chained_next_command_number: Next::NoNextCmdTerminateOnFinish,
364 chained_next_command_number: Next::NoNextCmdTerminateOnFinish as u8,
365 enable_auto_channel_increment: false, 363 enable_auto_channel_increment: false,
366 loop_count: 0, 364 loop_count: 0,
367 hardware_average_mode: Avgs::NoAverage as u8, 365 hardware_average_mode: Avgs::NoAverage,
368 sample_time_mode: Sts::Sample3p5 as u8, 366 sample_time_mode: Sts::Sample3p5,
369 hardware_compare_mode: Cmpen::DisabledAlwaysStoreResult as u8, 367 hardware_compare_mode: Cmpen::DisabledAlwaysStoreResult,
370 hardware_compare_value_high: 0, 368 hardware_compare_value_high: 0,
371 hardware_compare_value_low: 0, 369 hardware_compare_value_low: 0,
372 conversion_resolution_mode: Mode::Data12Bits as u8, 370 conversion_resolution_mode: Mode::Data12Bits,
373 enable_wait_trigger: false, 371 enable_wait_trigger: false,
374 } 372 }
375 } 373 }
@@ -390,21 +388,21 @@ impl<'a, I: Instance> Adc<'a, I> {
390 paste! { 388 paste! {
391 adc.[<cmdl $idx>]().write(|w| unsafe { 389 adc.[<cmdl $idx>]().write(|w| unsafe {
392 w.adch() 390 w.adch()
393 .bits(config.channel_number) 391 .bits(config.channel_number.into())
394 .mode() 392 .mode()
395 .bit(config.conversion_resolution_mode != 0) 393 .bit(config.conversion_resolution_mode.into())
396 }); 394 });
397 adc.[<cmdh $idx>]().write(|w| unsafe { 395 adc.[<cmdh $idx>]().write(|w| unsafe {
398 w.next() 396 w.next()
399 .bits(config.chained_next_command_number) 397 .bits(config.chained_next_command_number.into())
400 .loop_() 398 .loop_()
401 .bits(config.loop_count) 399 .bits(config.loop_count)
402 .avgs() 400 .avgs()
403 .bits(config.hardware_average_mode) 401 .bits(config.hardware_average_mode.into())
404 .sts() 402 .sts()
405 .bits(config.sample_time_mode) 403 .bits(config.sample_time_mode.into())
406 .cmpen() 404 .cmpen()
407 .bits(config.hardware_compare_mode) 405 .bits(config.hardware_compare_mode.into())
408 .wait_trig() 406 .wait_trig()
409 .bit(config.enable_wait_trigger) 407 .bit(config.enable_wait_trigger)
410 .lwi() 408 .lwi()
diff --git a/examples/mcxa/src/bin/adc_interrupt.rs b/examples/mcxa/src/bin/adc_interrupt.rs
index 125e37690..9db1173e3 100644
--- a/examples/mcxa/src/bin/adc_interrupt.rs
+++ b/examples/mcxa/src/bin/adc_interrupt.rs
@@ -50,8 +50,8 @@ async fn main(_spawner: Spawner) {
50 adc.do_auto_calibration(); 50 adc.do_auto_calibration();
51 51
52 let mut conv_command_config = adc.get_default_conv_command_config(); 52 let mut conv_command_config = adc.get_default_conv_command_config();
53 conv_command_config.channel_number = Adch::SelectCorrespondingChannel8 as u8; 53 conv_command_config.channel_number = Adch::SelectCorrespondingChannel8;
54 conv_command_config.conversion_resolution_mode = Mode::Data16Bits as u8; 54 conv_command_config.conversion_resolution_mode = Mode::Data16Bits;
55 adc.set_conv_command_config(1, &conv_command_config); 55 adc.set_conv_command_config(1, &conv_command_config);
56 56
57 let mut conv_trigger_config = adc.get_default_conv_trigger_config(); 57 let mut conv_trigger_config = adc.get_default_conv_trigger_config();
diff --git a/examples/mcxa/src/bin/adc_polling.rs b/examples/mcxa/src/bin/adc_polling.rs
index 523035e0f..65b66c8dd 100644
--- a/examples/mcxa/src/bin/adc_polling.rs
+++ b/examples/mcxa/src/bin/adc_polling.rs
@@ -45,8 +45,8 @@ async fn main(_spawner: Spawner) {
45 adc.do_auto_calibration(); 45 adc.do_auto_calibration();
46 46
47 let mut conv_command_config = adc.get_default_conv_command_config(); 47 let mut conv_command_config = adc.get_default_conv_command_config();
48 conv_command_config.channel_number = Adch::SelectCorrespondingChannel8 as u8; 48 conv_command_config.channel_number = Adch::SelectCorrespondingChannel8;
49 conv_command_config.conversion_resolution_mode = Mode::Data16Bits as u8; 49 conv_command_config.conversion_resolution_mode = Mode::Data16Bits;
50 adc.set_conv_command_config(1, &conv_command_config); 50 adc.set_conv_command_config(1, &conv_command_config);
51 51
52 let mut conv_trigger_config = adc.get_default_conv_trigger_config(); 52 let mut conv_trigger_config = adc.get_default_conv_trigger_config();