mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Add support for libdivecomputer DC_FIELD_DIVEMODE
libdivecomputer recently gained a api for telling us which mode the divecomputer was running in, so this uses that to tell us if it was a OC or CCR dive. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									42d3ed0431
								
							
						
					
					
						commit
						df42f78486
					
				
					 1 changed files with 19 additions and 0 deletions
				
			
		|  | @ -569,6 +569,25 @@ static int dive_cb(const unsigned char *data, unsigned int size, | |||
| 	} | ||||
| #endif | ||||
| 
 | ||||
| #if DC_VERSION_CHECK(0, 5, 0) && defined(DC_GASMIX_UNKNOWN) | ||||
| 	dc_divemode_t divemode; | ||||
| 	rc = dc_parser_get_field(parser, DC_FIELD_DIVEMODE, 0, &divemode); | ||||
| 	if (rc != DC_STATUS_SUCCESS && rc != DC_STATUS_UNSUPPORTED) { | ||||
| 		dev_info(devdata, translate("gettextFromC", "Error obtaining divemode")); | ||||
| 		goto error_exit; | ||||
| 	} | ||||
| 	switch(divemode) { | ||||
| 	case DC_DIVEMODE_FREEDIVE: | ||||
| 	case DC_DIVEMODE_GAUGE: | ||||
| 	case DC_DIVEMODE_OC: /* Open circuit */ | ||||
| 		dive->dc.dctype = OC; | ||||
| 		break; | ||||
| 	case DC_DIVEMODE_CC:  /* Closed circuit */ | ||||
| 		dive->dc.dctype = CCR; | ||||
| 		break; | ||||
| 	} | ||||
| #endif | ||||
| 
 | ||||
| 	rc = parse_gasmixes(devdata, dive, parser, ngases, data); | ||||
| 	if (rc != DC_STATUS_SUCCESS) { | ||||
| 		dev_info(devdata, translate("gettextFromC", "Error parsing the gas mix")); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue