Loading files
66c1bda98This file is pinned to the selected release. Download the original to open it in your design tool.
#pragma once
#include "BusAwareDevice.hpp"
#include "Hal/BusDevice.hpp"
#include <cstdint>
namespace Espfc::Device {
class BusSlave : public Hal::BusDevice, public BusAwareDevice
{
public:
BusSlave();
int begin(Hal::BusDevice* dev, uint8_t addr);
Hal::BusType getType() const override;
int8_t read(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t* data) override;
// readFast() ignores devAddr and regAddr args and read ext sensor data reg from master
int8_t readFast(uint8_t devAddr, uint8_t regAddr, uint8_t length, uint8_t* data) override;
// writes only one byte, length is ignored
bool write(uint8_t devAddr, uint8_t regAddr, uint8_t length, const uint8_t* data) override;
int8_t writeMaster(uint8_t regAddr, uint8_t data);
int8_t readMaster(uint8_t regAddr, uint8_t length, uint8_t* data);
};
} // namespace Espfc::Device