pub fn with_config<P, CP>(
        self,
        mut rx_pins: P,
        mut clk_pin: CP,
        config: RxConfig,
    ) -> Result<ParlIoRx<'d, Dm>, ConfigError>
    where
        P: RxPins + ConfigurePins + 'd,
        CP: RxClkPin + 'd,
    {
        Instance::set_rx_sw_en(true);
        Instance::set_rx_sample_mode(SampleMode::InternalSoftwareEnable);

        rx_pins.configure();
        clk_pin.configure();

        let mut this = ParlIoRx {
            rx_channel: self.rx_channel,
            _guard: self._guard,
        };
        this.apply_config(&config)?;

        Ok(this)
    }
Configure RX to use the given pins and settings
esp-hal/src/parl_io.rs