Code: Select all
spi.write(bytearray([PAGE_FLAG | page]))
spi.write(bytearray([address]))
return spi.read(3, 0xff)
Code: Select all
spi_transaction_t page_transaction = {
.tx_data={PAGE_FLAG | page},
.length=1 * 8,
.flags = SPI_TRANS_USE_TXDATA,
};
spi_transaction_t address_transaction = {
.tx_data={address},
.length=1 * 8,
.flags = SPI_TRANS_USE_TXDATA,
};
spi_transaction_t read_transaction = {
.tx_data={0xff, 0xff, 0xff},
.length=3 * 8,
.rx_buffer=rx_buffer,
.rxlength=3 * 8,
.flags = SPI_TRANS_USE_TXDATA,
};
pin_low(CS_METER34);
ESP_ERROR_CHECK(spi_device_transmit(powermeter_device_handle, &page_transaction));
ESP_ERROR_CHECK(spi_device_transmit(powermeter_device_handle, &address_transaction));
ESP_ERROR_CHECK(spi_device_transmit(powermeter_device_handle, &read_transaction));
pin_high(CS_METER34);
Code: Select all
I (1372) CS5480: 82 02 00
I (1472) CS5480: 5c 00 02
I (1572) CS5480: 82 02 00
I (1682) CS5480: 5c 00 02
I have tried to look at the code for spi.read but can't even find the source file.