/* Setup the SPI interface as the spi handle defines */ #if defined(_SPIA_EN) || defined(_SPIB_EN) void HAL_setupSPI(HAL_MTR_Handle handle) { HAL_MTR_Obj *obj = (HAL_MTR_Obj *)handle; //Must put SPI into reset before configuring it SPI_disableModule(obj->spiHandle); //SPI configuration. Use a 15kHz STECLK and 16-bit word size, 30MHz SPI_setConfig(obj->spiHandle, SPISTECLK_FREQ, SPI_PROT_POL0PHA0, SPI_MODE_MASTER, 600000, 16); //SPI_enableHighSpeedMode(obj->spiHandle); SPI_disableLoopback(obj->spiHandle); SPI_setEmulationMode(obj->spiHandle, SPI_EMULATION_FREE_RUN); SPI_enableFIFO(obj->spiHandle); SPI_setFIFOInterruptLevel(obj->spiHandle, SPI_FIFO_TX0, SPI_FIFO_RX0); SPI_setTxFifoTransmitDelay(obj->spiHandle, 0x10); SPI_clearInterruptStatus(obj->spiHandle, (SPI_INT_TXFF | SPI_FIFO_RX0)); //Configuration complete. Enable the module. SPI_enableModule(obj->spiHandle); return; } // end of HAL_setupSPI() function