This code works:
self.cs.set_high().map_err(SpiError::ChipSelect)?;
self.reset.set_high().map_err(SpiError::Reset)?;
self.delay(time::Duration::from_millis(10))?;
self.reset.set_low().map_err(SpiError::Reset)?;
self.delay(time::Duration::from_millis(750))?;
This does not:
self.cs.set_high().map_err(SpiError::ChipSelect)?;
self.reset.set_low().map_err(SpiError::Reset)?;
self.delay(time::Duration::from_millis(10))?;
self.reset.set_high().map_err(SpiError::Reset)?;
self.delay(time::Duration::from_millis(750))?;
Also, when you look at the variant header file you provided:
#define SPIWIFI_SS PIN_SPI1_SS
#define SPIWIFI_ACK NINA_ACK
#define SPIWIFI_RESET (~NINA_RESETN) // fixme! Inverted logic