mirror of
https://github.com/m5stack/M5UnitUnified.git
synced 2026-05-20 11:24:51 -07:00
166 lines
3.2 KiB
C++
166 lines
3.2 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
/*
|
|
UnitTest for M5UnitComponent
|
|
*/
|
|
#ifndef M5_UNIT_COMPONENT_TEST_UNIT_DUMMY_HPP
|
|
#define M5_UNIT_COMPONENT_TEST_UNIT_DUMMY_HPP
|
|
|
|
#include <M5UnitComponent.hpp>
|
|
|
|
namespace m5 {
|
|
namespace unit {
|
|
|
|
//! Dummy I2C address for testing (any valid non-zero value)
|
|
constexpr uint8_t DUMMY_I2C_ADDR{0x01};
|
|
|
|
// DummyComponent for UnitTest (I2C accessible)
|
|
class UnitDummy : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummy, 0x00);
|
|
|
|
public:
|
|
UnitDummy() : Component(DUMMY_I2C_ADDR)
|
|
{
|
|
}
|
|
virtual ~UnitDummy()
|
|
{
|
|
}
|
|
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
++count;
|
|
}
|
|
uint32_t count{};
|
|
};
|
|
|
|
// DummyComponent for GPIO access
|
|
class UnitDummyGPIO : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummyGPIO, 0x00);
|
|
|
|
public:
|
|
UnitDummyGPIO() : Component(0x00)
|
|
{
|
|
}
|
|
virtual ~UnitDummyGPIO()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
// DummyComponent for UART access
|
|
class UnitDummyUART : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummyUART, 0x00);
|
|
|
|
public:
|
|
UnitDummyUART() : Component(0x00)
|
|
{
|
|
}
|
|
virtual ~UnitDummyUART()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
// DummyComponent for SPI access
|
|
class UnitDummySPI : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummySPI, 0x00);
|
|
|
|
public:
|
|
UnitDummySPI() : Component(0x00)
|
|
{
|
|
}
|
|
virtual ~UnitDummySPI()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
// DummyComponent with I2C + SPI access
|
|
class UnitDummyI2CSPI : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummyI2CSPI, 0x00);
|
|
|
|
public:
|
|
UnitDummyI2CSPI() : Component(DUMMY_I2C_ADDR)
|
|
{
|
|
}
|
|
virtual ~UnitDummyI2CSPI()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
// DummyComponent with all access (I2C + GPIO + UART + SPI)
|
|
class UnitDummyAll : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummyAll, 0x00);
|
|
|
|
public:
|
|
UnitDummyAll() : Component(DUMMY_I2C_ADDR)
|
|
{
|
|
}
|
|
virtual ~UnitDummyAll()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
// DummyComponent with no access (attr=0)
|
|
class UnitDummyNone : public m5::unit::Component {
|
|
M5_UNIT_COMPONENT_HPP_BUILDER(UnitDummyNone, 0x00);
|
|
|
|
public:
|
|
UnitDummyNone() : Component(DUMMY_I2C_ADDR)
|
|
{
|
|
}
|
|
virtual ~UnitDummyNone()
|
|
{
|
|
}
|
|
virtual bool begin() override
|
|
{
|
|
return true;
|
|
}
|
|
virtual void update(const bool force = false) override
|
|
{
|
|
}
|
|
};
|
|
|
|
} // namespace unit
|
|
} // namespace m5
|
|
#endif
|