static uint8_t i2c_mutex_installed = 0;
static osal_mutex i2c_mutex;
-void custom_i2c_reset(void)
+void custom_i2c_reset(uint8_t i2cbus, uint16_t i2c_clock)
{
errcode_t result;
if(i2c_mutex_installed == 0)
if(i2c_installed == 1)
{
- result = uapi_i2c_deinit(I2C_BUS_2);
+ result = uapi_i2c_deinit(i2cbus);
if (result != ERRCODE_SUCC)
{
PRINT(" i2c deinit fail! ret=0x%x\n", result);
if(i2c_installed == 0)
{
- result = uapi_i2c_master_init(I2C_BUS_2, 400000, I2C_SPEED_MODE_FS); /* 400000: 400KHz */
+ result = uapi_i2c_master_init(i2cbus, i2c_clock, I2C_SPEED_MODE_FS); /* 400000: 400KHz */
if (result != ERRCODE_SUCC) {
PRINT(" i2c init fail! ret=0x%x\n", result);
return ;
LOS_Mdelay(5);
osal_mutex_unlock(&i2c_mutex);
+ PRINT(" custom_iic_reset done! i2cbus %d clock %d\n",i2cbus,i2c_clock);
}
errcode_t custom_iic_init(void)
int uapi_delete_files(const char *file_path);
void uapi_restore_factory_setting(void);
-void custom_i2c_reset(void);
+void custom_i2c_reset(uint8_t i2cbus, uint16_t i2c_clock);
errcode_t custom_i2c_write_reg(uint16_t slaveAddr, uint16_t reg, int regLength, uint8_t *writeData, int writeDataSize, int busIndex);
errcode_t custom_i2c_read_regs(uint16_t slaveAddr, uint16_t reg, int regLength, uint8_t *readData, int readDataSize, int busIndex);
errcode_t custom_i2c_transfer(uint16_t slaveAddr, uint16_t reg, int regLength, uint8_t *writeData, int writeDataSize, uint8_t *readData, int readDataSize, int busIndex);
UNUSED(strCommonCmd);
- custom_i2c_reset();
-
+ uint8_t argv[CUSTOM_UTILS_MAX_ARGC][CUSTOM_UTILS_MAX_ARGV_LEN] = { 0 };
+ uint32_t argc = 0;
+
+ int ret = ConvertCmdToParam(para, paraLen, argv, &argc);
+ if (ret != CUSTOM_UTILS_SUCCESS) {
+ wstp_print("CUSTOM_UTILSTEST ATCMD Convert Command Failed\n");
+ return ERRCODE_FAIL;
+ }
+
+ if (argc != 2) {
+ wstp_print("CUSTOM_UTILSTEST ATCMD Set Parameter Failed argc %d\n",argc);
+ return ERRCODE_FAIL;
+ }
+
+ int32_t i2cbus = atoi((char*)argv[0]);
+ int32_t i2cclock = atoi((char*)argv[1]);
+
+ wstp_print("do i2c reset i2cbus %d clock %d\n",i2cbus,i2cclock);
+ custom_i2c_reset(i2cbus,i2cclock);
+
return ERRCODE_SUCC;
}