added gyrol3gd20h stm32 test file
This commit is contained in:
35
stm32h7/devicetest/GyroL3GD20H.cpp
Normal file
35
stm32h7/devicetest/GyroL3GD20H.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
#include "GyroL3GD20H.h"
|
||||
|
||||
#include "fsfw/serviceinterface/ServiceInterface.h"
|
||||
#include "stm32h7xx_nucleo.h"
|
||||
#include "stm32h7xx_hal_spi.h"
|
||||
|
||||
uint8_t ALIGN_32BYTES(GyroL3GD20H::recvBuffer[recvBufferSize]);
|
||||
|
||||
GyroL3GD20H::GyroL3GD20H(SPI_HandleTypeDef *spiHandle): spiHandle(spiHandle) {
|
||||
}
|
||||
|
||||
ReturnValue_t GyroL3GD20H::performOperation() {
|
||||
/*##-1- Configure the SPI peripheral #######################################*/
|
||||
/* Set the SPI parameters */
|
||||
spiHandle->Instance = SPI1;
|
||||
spiHandle->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
||||
spiHandle->Init.Direction = SPI_DIRECTION_2LINES;
|
||||
spiHandle->Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||
spiHandle->Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
spiHandle->Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
spiHandle->Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
spiHandle->Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
spiHandle->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
spiHandle->Init.CRCPolynomial = 7;
|
||||
spiHandle->Init.CRCLength = SPI_CRC_LENGTH_8BIT;
|
||||
spiHandle->Init.NSS = SPI_NSS_SOFT;
|
||||
spiHandle->Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
|
||||
/* Recommended setting to avoid glitches */
|
||||
spiHandle->Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_ENABLE;
|
||||
spiHandle->Init.Mode = SPI_MODE_MASTER;
|
||||
if(HAL_SPI_Init(spiHandle) != HAL_OK) {
|
||||
sif::printWarning("Error initializing SPI\n");
|
||||
}
|
||||
return HasReturnvaluesIF::RETURN_OK;
|
||||
}
|
Reference in New Issue
Block a user