mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Don't assume that pressures are always positive
When planning a dive, the dive could use more gas than is in the cylinder. So getting a negative end pressure is a useful indication to the user that there plan might not be a good one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
		
							parent
							
								
									45725d1c30
								
							
						
					
					
						commit
						56395b3894
					
				
					 5 changed files with 7 additions and 7 deletions
				
			
		
							
								
								
									
										4
									
								
								dive.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								dive.c
									
										
									
									
									
								
							|  | @ -76,7 +76,7 @@ void remove_event(struct event* event) | |||
| 	} | ||||
| } | ||||
| 
 | ||||
| int get_pressure_units(unsigned int mb, const char **units) | ||||
| int get_pressure_units(int mb, const char **units) | ||||
| { | ||||
| 	int pressure; | ||||
| 	const char *unit; | ||||
|  | @ -454,7 +454,7 @@ void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *me | |||
| 
 | ||||
| static void fixup_pressure(struct dive *dive, struct sample *sample) | ||||
| { | ||||
| 	unsigned int pressure, index; | ||||
| 	int pressure, index; | ||||
| 	cylinder_t *cyl; | ||||
| 
 | ||||
| 	pressure = sample->cylinderpressure.mbar; | ||||
|  |  | |||
							
								
								
									
										2
									
								
								dive.h
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								dive.h
									
										
									
									
									
								
							|  | @ -68,7 +68,7 @@ typedef struct | |||
| 	const char *description; /* "integrated", "belt", "ankle" */ | ||||
| } weightsystem_t; | ||||
| 
 | ||||
| extern int get_pressure_units(unsigned int mb, const char **units); | ||||
| extern int get_pressure_units(int mb, const char **units); | ||||
| extern double get_depth_units(int mm, int *frac, const char **units); | ||||
| extern double get_volume_units(unsigned int ml, int *frac, const char **units); | ||||
| extern double get_temp_units(unsigned int mk, const char **units); | ||||
|  |  | |||
|  | @ -19,7 +19,7 @@ QString get_weight_unit(); | |||
| QString get_cylinder_used_gas_string(cylinder_t *cyl, bool showunit = false); | ||||
| QString get_temperature_string(temperature_t temp, bool showunit = false); | ||||
| QString get_temp_unit(); | ||||
| QString get_volume_string(volume_t volume, bool showunit = false, unsigned int mbar = 0); | ||||
| QString get_volume_string(volume_t volume, bool showunit = false, int mbar = 0); | ||||
| QString get_volume_unit(); | ||||
| QString get_pressure_string(pressure_t pressure, bool showunit = false); | ||||
| QString get_pressure_unit(); | ||||
|  |  | |||
|  | @ -683,7 +683,7 @@ struct plot_info calculate_max_limits_new(struct dive *dive, struct divecomputer | |||
| 
 | ||||
| 	/* Get the per-cylinder maximum pressure if they are manual */ | ||||
| 	for (cyl = 0; cyl < MAX_CYLINDERS; cyl++) { | ||||
| 		unsigned int mbar = dive->cylinder[cyl].start.mbar; | ||||
| 		int mbar = dive->cylinder[cyl].start.mbar; | ||||
| 		if (mbar > maxpressure) | ||||
| 			maxpressure = mbar; | ||||
| 		if (mbar < minpressure) | ||||
|  | @ -964,7 +964,7 @@ static void populate_pressure_information(struct dive *dive, struct divecomputer | |||
| 	current = NULL; | ||||
| 	for (i = 0; i < pi->nr; i++) { | ||||
| 		struct plot_data *entry = pi->entry + i; | ||||
| 		unsigned pressure = SENSOR_PRESSURE(entry); | ||||
| 		int pressure = SENSOR_PRESSURE(entry); | ||||
| 
 | ||||
| 		/* discrete integration of pressure over time to get the SAC rate equivalent */ | ||||
| 		if (current) { | ||||
|  |  | |||
|  | @ -286,7 +286,7 @@ QString get_temp_unit() | |||
| 		return QString(UTF8_DEGREE "F"); | ||||
| } | ||||
| 
 | ||||
| QString get_volume_string(volume_t volume, bool showunit, unsigned int mbar) | ||||
| QString get_volume_string(volume_t volume, bool showunit, int mbar) | ||||
| { | ||||
| 	if (prefs.units.volume == units::LITER) { | ||||
| 		double liter = volume.mliter / 1000.0; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue