add Chapter17

This commit is contained in:
Amar Mahmutbegovic
2025-01-11 12:48:14 +01:00
parent 73bfdb5bfa
commit a1b36d343e
1391 changed files with 1058470 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
#pragma once
#include <expected>
#include <units.hpp>
namespace hal
{
class adc {
public:
enum class error {
timeout
};
virtual void init() = 0;
virtual std::expected<units::voltage, adc::error> get_reading() = 0;
};
};

View File

@@ -0,0 +1,22 @@
#pragma once
#include <adc.hpp>
#include <units.hpp>
#include <stm32f0xx_hal.h>
#include <stm32f072xb.h>
namespace hal
{
class adc_stm32 : public adc{
public:
adc_stm32(units::voltage ref_voltage) : ref_voltage_(ref_voltage) {}
void init() override;
std::expected<units::voltage, adc::error> get_reading() override;
private:
ADC_HandleTypeDef adc_handle_;
units::voltage ref_voltage_;
};
};