uint32_t read_reg( const uint32_t addr)
{
uint32_t value;
if(lseek(file_desc_, addr, SEEK_SET) < 0)
{
throw std::runtime_error( "lseek error: " + ErrnoToStr() + "\n");
}
if(read(file_desc_, &value, sizeof(value)) < 0)
{
throw std::runtime_error("read error: " + ErrnoToStr() + "\n");
}
return value;
}
void write_reg( const uint32_t addr, const uint32_t value )
{
if(lseek(file_desc_, addr, SEEK_SET) < 0)
{
throw std::runtime_error( "lseek error: " + ErrnoToStr() + "\n");
}
if(write(file_desc_, &value, sizeof(value)) < 0)
{
throw std::runtime_error("write error: " + ErrnoToStr() + "\n");
}
}
void write_reg(const uint32_t addr, const uint8_t* value )
{
if(lseek(file_desc_, addr, SEEK_SET) < 0)
{
throw std::runtime_error( "lseek error: " + ErrnoToStr() + "\n");
}
if(write(file_desc_, value, 4) < 0)
{
throw std::runtime_error("write error: " + ErrnoToStr() + "\n");
}
}