Drivers: skip initialization if bq27220 is unresponsive (#435)
This commit is contained in:
		
							parent
							
								
									724b738048
								
							
						
					
					
						commit
						eb82748d50
					
				| @ -64,10 +64,12 @@ bool bq27220_set_parameter_u16(uint16_t address, uint16_t value) { | |||||||
|     return ret; |     return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void bq27220_init(const ParamCEDV* cedv) { | bool bq27220_init(const ParamCEDV* cedv) { | ||||||
|     uint32_t timeout = 100; |     uint32_t timeout = 100; | ||||||
|     OperationStatus status = {}; |     OperationStatus status = {}; | ||||||
|     bq27220_control(Control_ENTER_CFG_UPDATE); |     if(!bq27220_control(Control_ENTER_CFG_UPDATE)) { | ||||||
|  |         return false; | ||||||
|  |     }; | ||||||
|     while((status.CFGUPDATE != 1) && (timeout-- > 0)) { |     while((status.CFGUPDATE != 1) && (timeout-- > 0)) { | ||||||
|         bq27220_get_operation_status(&status); |         bq27220_get_operation_status(&status); | ||||||
|     } |     } | ||||||
| @ -111,6 +113,7 @@ void bq27220_init(const ParamCEDV* cedv) { | |||||||
|     delay_us(15000); |     delay_us(15000); | ||||||
| 
 | 
 | ||||||
|     bq27220_control(Control_EXIT_CFG_UPDATE); |     bq27220_control(Control_EXIT_CFG_UPDATE); | ||||||
|  |     return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| uint16_t bq27220_get_voltage() { | uint16_t bq27220_get_voltage() { | ||||||
|  | |||||||
| @ -66,8 +66,10 @@ typedef struct { | |||||||
|     uint16_t DOD100; |     uint16_t DOD100; | ||||||
| } ParamCEDV; | } ParamCEDV; | ||||||
| 
 | 
 | ||||||
| /** Initialize Driver */ | /** Initialize Driver
 | ||||||
| void bq27220_init(const ParamCEDV* cedv); |  * @return true on success, false otherwise | ||||||
|  |  */ | ||||||
|  | bool bq27220_init(const ParamCEDV* cedv); | ||||||
| 
 | 
 | ||||||
| /** Get battery voltage in mV or error */ | /** Get battery voltage in mV or error */ | ||||||
| uint16_t bq27220_get_voltage(); | uint16_t bq27220_get_voltage(); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 あく
						あく