Skip to content

Commit

Permalink
sparkfun-pro-micro: Fixup wrong pins and update examples
Browse files Browse the repository at this point in the history
  • Loading branch information
cecton authored Oct 4, 2020
1 parent b91e05d commit 99fdf4d
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 38 deletions.
13 changes: 7 additions & 6 deletions boards/sparkfun-pro-micro/examples/pro-micro-adc.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
#![no_std]
#![no_main]

extern crate panic_halt;
use sparkfun_pro_micro::adc;
use sparkfun_pro_micro::prelude::*;
use panic_halt as _;

#[sparkfun_pro_micro::entry]
fn main() -> ! {
Expand All @@ -19,7 +20,7 @@ fn main() -> ! {

ufmt::uwriteln!(&mut serial, "Reading analog inputs ...\r").void_unwrap();

let mut adc = sparkfun_pro_micro::adc::Adc::new(dp.ADC, Default::default());
let mut adc = adc::Adc::new(dp.ADC, Default::default());

let (vbg, gnd, temp): (u16, u16, u16) = (
nb::block!(adc.read(&mut sparkfun_pro_micro::adc::channel::Vbg)).void_unwrap(),
Expand All @@ -35,17 +36,17 @@ fn main() -> ! {
let mut a1 = pins.a1.into_analog_input(&mut adc);
let mut a2 = pins.a2.into_analog_input(&mut adc);
let mut a3 = pins.a3.into_analog_input(&mut adc);
let mut a4 = pins.a4.into_analog_input(&mut adc);
let mut a5 = pins.a5.into_analog_input(&mut adc);
let mut d4 = pins.d4.into_analog_input(&mut adc);
let mut d8 = pins.d8.into_analog_input(&mut adc);

loop {
let values: [u16; 6] = [
nb::block!(adc.read(&mut a0)).void_unwrap(),
nb::block!(adc.read(&mut a1)).void_unwrap(),
nb::block!(adc.read(&mut a2)).void_unwrap(),
nb::block!(adc.read(&mut a3)).void_unwrap(),
nb::block!(adc.read(&mut a4)).void_unwrap(),
nb::block!(adc.read(&mut a5)).void_unwrap(),
nb::block!(adc.read(&mut d4)).void_unwrap(),
nb::block!(adc.read(&mut d8)).void_unwrap(),
];

for (i, v) in values.iter().enumerate() {
Expand Down
4 changes: 2 additions & 2 deletions boards/sparkfun-pro-micro/examples/pro-micro-interrupt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use sparkfun_pro_micro::prelude::*;

// This pin will be used from the interrupt handler
use sparkfun_pro_micro::hal::port;
static mut PIN: Option<port::portc::PC7<port::mode::Output>> = None;
static mut PIN: Option<port::portd::PD0<port::mode::Output>> = None;

#[sparkfun_pro_micro::entry]
fn main() -> ! {
Expand All @@ -18,7 +18,7 @@ fn main() -> ! {
let mut led0 = pins.led_rx.into_output(&mut pins.ddr);
let mut led1 = pins.led_tx.into_output(&mut pins.ddr);

let mut led = pins.d13.into_output(&mut pins.ddr);
let mut led = pins.d3.into_output(&mut pins.ddr);

led0.set_high().void_unwrap();
led1.set_low().void_unwrap();
Expand Down
4 changes: 2 additions & 2 deletions boards/sparkfun-pro-micro/examples/pro-micro-pwm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ fn main() -> ! {

let mut pins = sparkfun_pro_micro::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD, dp.PORTE, dp.PORTF);

let mut timer4 = pwm::Timer4Pwm::new(dp.TC4, pwm::Prescaler::Prescale64);
let mut timer0 = pwm::Timer0Pwm::new(dp.TC0, pwm::Prescaler::Prescale64);

let mut led = pins.d13.into_output(&mut pins.ddr).into_pwm(&mut timer4);
let mut led = pins.d3.into_output(&mut pins.ddr).into_pwm(&mut timer0);

led.set_duty(128);
led.enable();
Expand Down
44 changes: 16 additions & 28 deletions boards/sparkfun-pro-micro/src/pins.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,6 @@ avr_hal_generic::impl_board_pins! {

/// Reexport of the Pro Micro's pins, with the names they have on the board
pub struct Pins {
/// `A0`
pub a0: portf::pf7::PF7,
/// `A1`
pub a1: portf::pf6::PF6,
/// `A2`
pub a2: portf::pf5::PF5,
/// `A3`
pub a3: portf::pf4::PF4,
/// `A4`
pub a4: portf::pf1::PF1,
/// `A5`
pub a5: portf::pf0::PF0,
/// `D0` / `RX`
///
/// * `RX` (UART)
Expand Down Expand Up @@ -80,22 +68,6 @@ avr_hal_generic::impl_board_pins! {
/// * `OC1B`: Output Compare Channel `B` for Timer/Counter1
/// * `OC4B`: Output Compare Channel `B` for Timer/Counter4 (Not implemented)
pub d10: portb::pb6::PB6,
/// `D11`
///
/// * **PWM**: [atmega32u4_hal::timer::Timer0Pwm]
/// * `OC0A`: Output Compare Channel `B` for Timer/Counter0
/// * `OC1C`: Output Compare Channel `C` for Timer/Counter1
pub d11: portb::pb7::PB7,
/// `D12`
///
/// * `#OC4D`: Inverted Output Compare Channel `D` for Timer/Counter4 (Not implemented)
pub d12: portd::pd6::PD6,
/// `D13` / `LED_BUILTIN`
///
/// * Onboard LED
/// * **PWM**: [atmega32u4_hal::timer::Timer4Pwm]
/// * `OC4A`: Output Compare Channel `A` for Timer/Counter4
pub d13: portc::pc7::PC7,
/// `RX`
///
/// Led for indicating inbound data. Also the CS pin.
Expand All @@ -116,5 +88,21 @@ avr_hal_generic::impl_board_pins! {
///
/// ICSP MISO pin
pub miso: portb::pb3::PB3,
/// `A0`
///
/// * `ADC7` channel
pub a0: portf::pf7::PF7,
/// `A1`
///
/// * `ADC6` channel
pub a1: portf::pf6::PF6,
/// `A2`
///
/// * `ADC5` channel
pub a2: portf::pf5::PF5,
/// `A3`
///
/// * `ADC4` channel
pub a3: portf::pf4::PF4,
}
}

0 comments on commit 99fdf4d

Please sign in to comment.