esp-hal icon indicating copy to clipboard operation
esp-hal copied to clipboard

Expose SPI sio() setting

Open ElDonad opened this issue 1 year ago • 2 comments

Hello, I was trying to setup three wires SPI for my application using an ESP32-S3, and it appears that the esp-hal API doesn't expose this setting. Would it be possible to expose this functionality ? I don't think it would be very hard, there could be a helper function akin to Spi::with_sio() that would resemble something like

fun with_sio(self) -> Self{
    let reg_block = self.register_block();
    reg_block.user().modify(|_,w| unsafe {
        w.sio().set_bit();
    }
    self
}

I'm fairly new to ESP and Rust dev and I don't have the means to thoroughly test this PoC currently, so I hope it's not too far from correct...

ElDonad avatar Jul 17 '24 19:07 ElDonad

That would be a useful addition

bjoernQ avatar Jul 18 '24 07:07 bjoernQ

By the way there is not much information about it in the technical manual, but I assume this should only be available for the Half Duplex mode, it wouldn't make sense otherwise. I'll try to get it to work on a ESP32S3 I have, maybe then I can issue a PR...

ElDonad avatar Jul 22 '24 10:07 ElDonad

As per the pending PR, this can be done, and if we wanted it could even be added post 1.0.

MabezDev avatar Jan 10 '25 15:01 MabezDev