#pragma once

#include <fsfw/controller/ExtendedControllerBase.h>
#include <mission/devices/devicedefinitions/Max31865Definitions.h>

class TemperatureSensorsDummy : public ExtendedControllerBase {
 public:
  TemperatureSensorsDummy();

  ReturnValue_t initialize() override;

 protected:
  virtual ReturnValue_t handleCommandMessage(CommandMessage* message) override;
  virtual void performControlOperation() override;
  virtual ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
                                                LocalDataPoolManager& poolManager) override;
  virtual LocalPoolDataSetBase* getDataSetHandle(sid_t sid) override;

  // Mode abstract functions
  virtual ReturnValue_t checkModeCommand(Mode_t mode, Submode_t submode,
                                         uint32_t* msToReachTheMode) override;

 private:
  int iteration = 0;
  float value = 0;
  MAX31865::Max31865Set max31865Set;

  void noise();
};