ESPHome 2026.5.0b1
Loading...
Searching...
No Matches
ens160_spi.cpp
Go to the documentation of this file.
1#include <cstdint>
2#include <cstddef>
3
4#include "ens160_spi.h"
6
8
9static const char *const TAG = "ens160_spi.sensor";
10
11inline uint8_t reg_read(uint8_t reg) { return (reg << 1) | 0x01; }
12
13inline uint8_t reg_write(uint8_t reg) { return (reg << 1) & 0xFE; }
14
15void ENS160SPIComponent::setup() {
16 this->spi_setup();
17 ENS160Component::setup();
18};
19
20void ENS160SPIComponent::dump_config() {
21 ENS160Component::dump_config();
22 LOG_PIN(" CS Pin: ", this->cs_);
23}
24
25bool ENS160SPIComponent::read_byte(uint8_t a_register, uint8_t *data) {
26 this->enable();
27 this->transfer_byte(reg_read(a_register));
28 *data = this->transfer_byte(0);
29 this->disable();
30 return true;
31}
32
33bool ENS160SPIComponent::write_byte(uint8_t a_register, uint8_t data) {
34 this->enable();
35 this->transfer_byte(reg_write(a_register));
36 this->transfer_byte(data);
37 this->disable();
38 return true;
39}
40
41bool ENS160SPIComponent::read_bytes(uint8_t a_register, uint8_t *data, size_t len) {
42 this->enable();
43 this->transfer_byte(reg_read(a_register));
44 this->read_array(data, len);
45 this->disable();
46 return true;
47}
48
49bool ENS160SPIComponent::write_bytes(uint8_t a_register, uint8_t *data, size_t len) {
50 this->enable();
51 this->transfer_byte(reg_write(a_register));
52 this->transfer_array(data, len);
53 this->disable();
54 return true;
55}
56
57} // namespace esphome::ens160_spi
uint8_t reg_write(uint8_t reg)
uint8_t reg_read(uint8_t reg)
const std::vector< uint8_t > & data
std::string size_t len