rmk-config 0.2.1

Config crate of RMK
Documentation
use embassy_nrf::{
    gpio::{Input, Output},
    saadc::Saadc,
};

pub struct BleBatteryConfig<'a> {
    pub charge_state_pin: Option<Input<'a>>,
    pub charge_led_pin: Option<Output<'a>>,
    pub charge_state_low_active: bool,
    pub charge_led_low_active: bool,
    pub saadc: Option<Saadc<'a, 1>>,
    pub adc_divider_measured: u32,
    pub adc_divider_total: u32,
}

impl<'a> Default for BleBatteryConfig<'a> {
    fn default() -> Self {
        Self {
            charge_state_pin: None,
            charge_led_pin: None,
            charge_state_low_active: false,
            charge_led_low_active: false,
            saadc: None,
            adc_divider_measured: 1,
            adc_divider_total: 1,
        }
    }
}

impl<'a> BleBatteryConfig<'a> {
    pub fn new(
        charge_state_pin: Option<Input<'a>>,
        charge_state_low_active: bool,
        charge_led_pin: Option<Output<'a>>,
        charge_led_low_active: bool,
        saadc: Option<Saadc<'a, 1>>,
        adc_divider_measured: u32,
        adc_divider_total: u32,
    ) -> Self {
        Self {
            charge_state_pin,
            charge_state_low_active,
            charge_led_pin,
            charge_led_low_active,
            saadc,
            adc_divider_measured,
            adc_divider_total,
        }
    }
}