Proper thermo driver init

This commit is contained in:
@CarlWachter 2024-02-25 10:23:17 +01:00
parent a23e573e64
commit ca953ee8c4
2 changed files with 14 additions and 14 deletions

View File

@ -25,6 +25,12 @@ namespace demo
private:
sta::STM32GpioPin cs_pin = sta::STM32GpioPin(GPIOE, GPIO_PIN_13);
sta::RtosMutex* mutex;
sta::STM32SPI* spi2;
sta::STM32SPIDevice* device_;
sta::MAX31855 tc*;
};
} // namespace demo

View File

@ -27,8 +27,11 @@ namespace demo
void ThermoTask::init()
{
mutex = new sta::RtosMutex("spi2");
spi2 = new sta::STM32SPI(&hspi2, 16000000, &mutex);
device_ = new sta::STM32SPIDevice(spi2, &cs_pin);
tc = new sta::MAX31855(&device_); //create driver object
}
void ThermoTask::func()
@ -38,24 +41,15 @@ namespace demo
//STA_DEBUG_HEAP_STATS();
//fuck off other pins
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_12, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_15, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOE,GPIO_PIN_14, GPIO_PIN_SET);
sta::STM32GpioPin cs_pin(GPIOE, GPIO_PIN_13);
sta::RtosMutex mutex("spi2");
sta::STM32SPI spi2_ptr(&hspi2, 16000000, &mutex);
sta::STM32SPIDevice device_(&spi2_ptr, &cs_pin);
sta::MAX31855 tc = sta::MAX31855(&device_); //create driver object
tc.update(); // update internal values
float temperature = tc.getTemp(); //read out temperature in degrees Celsius
float referenceTemperature = tc.getReferenceTemp(); // read out reference temperature in degrees Celsius
uint8_t status = tc.getStatus(); //read out status of the update
tc->update(); // update internal values
float temperature = tc->getTemp(); //read out temperature in degrees Celsius
float referenceTemperature = tc->getReferenceTemp(); // read out reference temperature in degrees Celsius
uint8_t status = tc->getStatus(); //read out status of the update
HAL_Delay(1000);
}