.. _program_listing_file_include_mcp3x0x_mcp3x0x.hh: Program Listing for File mcp3x0x.hh =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/mcp3x0x/mcp3x0x.hh``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef IPLO_MCP3X0X_H #define IPLO_MCP3X0X_H #include #include "spi_bus/spi.hh" namespace iplo { class MCP3X0X { protected: std::uint8_t _channels{}; std::int16_t _maxValue{}; SPI& _spi; virtual std::uint8_t buildRequest(std::uint8_t channel, bool single, std::uint8_t* data) = 0; std::int16_t readAnalogValue(std::uint8_t channel, bool single); public: explicit MCP3X0X(SPI& spi); std::int16_t analogRead(std::uint8_t channel); std::int16_t differentialRead(std::uint8_t channel); std::int16_t deltaRead(std::uint8_t channel); std::uint8_t channels(); }; } /* namespace iplo */ #endif /* IPLO_MCP3X0X_H */