From 729ade734f2c18af94181ad7bcb5076be3edef23 Mon Sep 17 00:00:00 2001 From: Mourad Latoundji Date: Mon, 27 Jun 2022 20:06:57 +0200 Subject: [PATCH] :sparkles: (interface): Add DACTouch --- include/interface/drivers/DACTouch.h | 29 ++++++++++++++++++++++ tests/unit/mocks/mocks/leka/CoreDACTouch.h | 28 +++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 include/interface/drivers/DACTouch.h create mode 100644 tests/unit/mocks/mocks/leka/CoreDACTouch.h diff --git a/include/interface/drivers/DACTouch.h b/include/interface/drivers/DACTouch.h new file mode 100644 index 0000000000..c1f5b12769 --- /dev/null +++ b/include/interface/drivers/DACTouch.h @@ -0,0 +1,29 @@ +// Leka - LekaOS +// Copyright 2022 APF France handicap +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include + +#include "array" + +namespace leka::interface { + +class DACTouch +{ + public: + virtual ~DACTouch() = default; + virtual void writeToAllInputRegister(std::array value) = 0; + virtual void writeToSpecificInputRegister(uint8_t channel, std::array value) = 0; + virtual void writeToMemoryRegisterUntilChannelD(uint8_t starting_channel, std::array value) = 0; + virtual void writeToSpecificMemoryRegister(uint8_t channel, std::array value) = 0; + + virtual void writeVoltageReference(uint8_t voltageReference) = 0; + virtual void writePowerMode(uint8_t powerMode) = 0; + virtual void writeGain(uint8_t gain) = 0; + + virtual void readMemory(std::array &value) = 0; +}; + +} // namespace leka::interface diff --git a/tests/unit/mocks/mocks/leka/CoreDACTouch.h b/tests/unit/mocks/mocks/leka/CoreDACTouch.h new file mode 100644 index 0000000000..bba0250710 --- /dev/null +++ b/tests/unit/mocks/mocks/leka/CoreDACTouch.h @@ -0,0 +1,28 @@ +// Leka - LekaOS +// Copyright 2022 APF France handicap +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "CoreBufferedSerial.h" +#include "gmock/gmock.h" + +namespace leka { + +class CoreDACTouchMock : public interface::DACTouch +{ + public: + MOCK_METHOD(void, setVoltageReference, (uint8_t), (override)); + MOCK_METHOD(void, setPowerMode, (uint8_t), (override)); + MOCK_METHOD(void, setGain, (uint8_t), (override)); + + MOCK_METHOD(void, writeToAllInputRegister, (std::array), (override)); + MOCK_METHOD(void, writeToSpecificInputRegister, (uint8_t, std::array), (override)); + + MOCK_METHOD(void, writeToMemoryRegisterUntilChannelD, (uint8_t, std::array), (override)); + MOCK_METHOD(void, writeToSpecificMemoryRegister, (uint8_t, std::array), (override)); + + MOCK_METHOD(void, readMemory, (std::array &), (override)); +}; + +} // namespace leka