#pragma once
#include "driver/i2c_master.h"
#include "esp_err.h"
#include <cstdint>

class Rx8130Rtc {
public:
    esp_err_t begin(i2c_master_bus_handle_t bus,uint8_t address=0x32);
    esp_err_t read_utc_ms(uint64_t& epoch_ms);
    esp_err_t write_utc_ms(uint64_t epoch_ms);
    bool ready() const {return device_!=nullptr;}
private:
    esp_err_t read(uint8_t reg,uint8_t* data,size_t size);
    esp_err_t write(uint8_t reg,const uint8_t* data,size_t size);
    i2c_master_dev_handle_t device_=nullptr;
};
