OpenRGB/i2c_smbus/i2c_smbus_nvapi.h
1000001101000 e36b52136c Add functions to i2c_smbus for pure i2c block transactions
Commit amended to rework API and change for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-11-24 15:42:54 -06:00

26 lines
869 B
C++

/*-----------------------------------------*\
| i2c_smbus_nvapi.h |
| |
| Definitions and types for NVidia NvAPI |
| I2C driver |
| |
| Adam Honse (CalcProgrammer1) 2/21/2020 |
\*-----------------------------------------*/
#include "i2c_smbus.h"
#include "nvapi.h"
#pragma once
class i2c_smbus_nvapi : public i2c_smbus_interface
{
public:
i2c_smbus_nvapi(NV_PHYSICAL_GPU_HANDLE handle);
s32 i2c_read_block_data(u8 addr, u8 length, u8 *values);
s32 i2c_write_block_data(u8 addr, u8 length, u8 *values);
private:
s32 i2c_smbus_xfer(u8 addr, char read_write, u8 command, int mode, i2c_smbus_data* data);
s32 i2c_xfer(u8 addr, char read_write, int* size, u8* data);
NV_PHYSICAL_GPU_HANDLE handle;
};