Browse Source

Revert "加入I2c的出错恢复和log"
合并到dev进行测试
This reverts commit e5a0d0a28da791894253c6cbeebc32e33f43b8d1.

huhui 4 years ago
parent
commit
d1797db441
3 changed files with 2 additions and 23 deletions
  1. 0 2
      Application/app/sox/state.c
  2. 1 11
      Application/bsp/AT24CXX.c
  3. 1 10
      Application/bsp/i2c.c

+ 0 - 2
Application/app/sox/state.c

@@ -23,7 +23,6 @@
 #define IGNORE_DISCHARGER_LOW_VOL 0 //ºöÂԷŵçǷѹ
 extern uint32_t bsp_get_rst_reson(void);
 extern uint32_t bsp_get_backup(void);
-extern void gd32_i2c_log(void);
 static void _current_notify(void);
 static void _voltage_notify(void);
 static void _temperature_notify(void);
@@ -138,7 +137,6 @@ void bms_state_log(void){
 	state_debug("Debug: %d, %d. uart reinit=%d\n", shark_uart_timeout(), io_state()->hall_detect, uart_reinit_count);
 	log_no_hall_time();
 	nv_storage_log();
-	gd32_i2c_log();
 #if 0
 	state_debug("Charging: %d\n", _bms_state.charging);
 	state_debug("WorkMode %d\n", _bms_state.work_mode);

+ 1 - 11
Application/bsp/AT24CXX.c

@@ -1,6 +1,5 @@
 #include "i2c.h"
 #include "AT24CXX.h"
-#include "libs/shark_task.h"
 
 void AT24CXX_Init(void)
 {
@@ -46,11 +45,6 @@ int AT24CXX_Read(uint16_t ReadAddr,uint8_t *pBuffer,uint16_t NumToRead)
 		if (try_count-- <= 0){
 			return -1;
 		}
-		if ((try_count % 20) == 0) {
-			AT24CXX_DeInit();
-			task_udelay(1000);
-			AT24CXX_Init();
-		}
 	};
 	return NumToRead;
 }  
@@ -63,11 +57,7 @@ static int AT24CXX_Write_Pages(uint16_t WriteAddr,uint8_t *pBuffer,uint16_t NumT
 		if (try_count-- <= 0){
 			return -1;
 		}
-		if ((try_count % 20) == 0) {
-			AT24CXX_DeInit();
-			task_udelay(1000);
-			AT24CXX_Init();
-		}
+
 	};
 	return 0;
 }

+ 1 - 10
Application/bsp/i2c.c

@@ -2,15 +2,13 @@
 #include "gd32f3x0_i2c.h"
 #include "gpio.h"
 #include "i2c.h"
-#include "libs/logger.h"
 
 static int _gd32_i2c_rw_bytes(uint32_t index, uint8_t address, uint8_t reg, uint8_t *buffer, int length, int write);
 
 #define iic_device(id) ((id == 0)?I2C0:I2C1)
 static uint32_t i2c_clk[2];
 static uint8_t i2c_busy_count[2];
-static int i2c_busy_error = 0;
-static int i2c_other_error = 0;
+
 static void _delay_1us(uint32_t n)
 {
 	while(n-->0)
@@ -61,9 +59,6 @@ static void gd32_i2c_busy_recovery(uint32_t i2c_periph){
 	i2c_software_reset_config(i2c_periph, 0);
 }
 
-void gd32_i2c_log(void) {
-	sys_debug("i2c error %d - %d\n", i2c_busy_error, i2c_other_error);
-}
 
 void gd32_i2c_init(uint32_t i2c_device, uint32_t rate){
 	uint32_t device = iic_device(i2c_device);
@@ -170,7 +165,6 @@ static int _gd32_i2c_rw_bytes(uint32_t i2c_index, uint8_t address, uint8_t reg,
 
 	if (gd32_i2c_wait_flags(device, I2C_FLAG_I2CBSY, RESET) < 0){
 		i2c_busy_count[i2c_index]++;
-		i2c_busy_error ++;
 		if (i2c_busy_count[i2c_index] >= 10) {
 			gd32_i2c_deinit(i2c_index);
 			gd32_i2c_init(i2c_index, i2c_clk[i2c_index]);
@@ -270,9 +264,6 @@ static int _gd32_i2c_rw_bytes(uint32_t i2c_index, uint8_t address, uint8_t reg,
 out_i2c_stop_on_bus:
  	i2c_stop_on_bus(device);
 	gd32_i2c_wait_stop(device);
-	if (ret < 0) {
-		i2c_other_error++;
-	}
  	return ret;
 }