10#include "bus_wrapper/include/nm_bus_wrapper.h"
19 chThdSleepMilliseconds(u32TimeMsec);
75 .cr1 = SPI_BaudRatePrescaler_2,
86 if (spi == SPI_NONE) {
87 return M2M_ERR_BUS_FAIL;
97 chThdSleepMilliseconds(10);
99 chThdSleepMilliseconds(10);
127sint8
nm_spi_rw(uint8* pu8Mosi, uint8* pu8Miso, uint16 u16Sz) {
131 for (
size_t i = 0; i < u16Sz; i++) {
132 uint8 tx = pu8Mosi ? pu8Mosi[i] : 0;
134 uint8 rx = spiPolledExchange(
wifiSpi, tx);
154 if (pu8Mosi && pu8Miso) {
155 spiExchange(
wifiSpi, u16Sz, pu8Mosi, pu8Miso);
156 }
else if (pu8Mosi) {
157 spiSend(
wifiSpi, u16Sz, pu8Mosi);
158 }
else if (pu8Miso) {
159 spiReceive(
wifiSpi, u16Sz, pu8Miso);
162 osalSysHalt(
"wifi neither mosi nor miso");
Single output pin reference and state.
void initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e outputMode, bool forceInitWithFatalError=false)
void setValue(const char *msg, int logicValue, bool isForce=false)
SPIDriver * getSpiDevice(spi_device_e spiDevice)
static void isrAdapter(void *, efitick_t)
void nm_bsp_register_isr(tpfNmBspIsr pfIsr)
static tpfNmBspIsr gpfIsr
void resetSpiDevice(SPIDriver *spi)
sint8 nm_bus_init(void *)
sint8 nm_bus_deinit(void)
sint8 nm_spi_rw(uint8 *pu8Mosi, uint8 *pu8Miso, uint16 u16Sz)
spi_device_e getWifiSpiDevice()
sint8 nm_bus_speed(uint8)
static SPIDriver * wifiSpi
static OutputPin wifiReset
void nm_bsp_interrupt_ctrl(uint8 u8Enable)
void nm_bsp_sleep(uint32 u32TimeMsec)
tstrNmBusCapabilities egstrNmBusCapabilities