diff --git a/server/src/Peripherals/I2cClient.cs b/server/src/Peripherals/I2cClient.cs index c64642e..7863f70 100644 --- a/server/src/Peripherals/I2cClient.cs +++ b/server/src/Peripherals/I2cClient.cs @@ -196,15 +196,15 @@ public class I2c /// /// I2C设备地址 /// 要写入的数据(dummy数据) - /// 要读取的数据长度 + /// 要读取的数据长度 /// I2C协议类型 /// 操作结果,成功返回读取到的数据,否则返回异常信息 - public async ValueTask> ReadData(UInt32 devAddr, byte[] data, int length, I2cProtocol proto) + public async ValueTask> ReadData(UInt32 devAddr, byte[] data, int dataReadLength, I2cProtocol proto) { - if (length <= 0 || length > 0x0000_FFFF) + if (dataReadLength <= 0 || dataReadLength > 0x0000_FFFF) { - logger.Error($"Read length {length} is invalid or exceeds maximum allowed 0x0000_FFFF"); - return new(new ArgumentException($"Read length {length} is invalid or exceeds maximum allowed 0x0000_FFFF")); + logger.Error($"Read length {dataReadLength} is invalid or exceeds maximum allowed 0x0000_FFFF"); + return new(new ArgumentException($"Read length {dataReadLength} is invalid or exceeds maximum allowed 0x0000_FFFF")); } if (data.Length > 0x0000_FFFF) @@ -244,9 +244,9 @@ public class I2c } } - // 配置本次传输数据量:[15:0]为dummy长度(data.Length-1),[31:16]为读长度(length-1) + // 配置本次传输数据量:[15:0]为读长度(length-1),[31:16]为dummy长度(data.Length-1) { - uint tranConfig = ((uint)(data.Length - 1)) | (((uint)(length - 1)) << 16); + uint tranConfig = ((uint)(dataReadLength - 1)) | (((uint)(data.Length - 1)) << 16); var ret = await UDPClientPool.WriteAddr(this.ep, this.taskID, I2cAddr.TranConfig, tranConfig); if (!ret.IsSuccessful) { @@ -296,14 +296,14 @@ public class I2c // 读取数据 { - var ret = await UDPClientPool.ReadAddr(this.ep, this.taskID, I2cAddr.Read, length); + var ret = await UDPClientPool.ReadAddr(this.ep, this.taskID, I2cAddr.Read, dataReadLength); if (!ret.IsSuccessful) { logger.Error($"Failed to read data from I2C FIFO: {ret.Error}"); return new(ret.Error); } - if (ret.Value.Options.Data == null || ret.Value.Options.Data.Length != length) + if (ret.Value.Options.Data == null || ret.Value.Options.Data.Length != dataReadLength) { logger.Error($"ReadAddr returned unexpected data length: {ret.Value.Options.Data?.Length ?? 0}"); return new(new Exception("Failed to read expected amount of data from I2C FIFO"));