Make SAC values in planner settings respect unit settings

So far, the fields for the two SAC rates did not show a unit and were implictly l/min.
Now they respect the settings for volume units. This was harder than I thought for two reasons:

1) Imperial units for SAC are cuft/min but a typical value would be .70. So I made the point
the field prefix and what is entered is actually hundreth of cuft per minute.

2) I had to get the rounding right in order not to get effects like 20l/min become .70 cuft/min (19800 ml/min
internally) which would then become 19l/min when switching back.

While being at it, I gave the gradient factors '%'-signs as units.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2014-08-06 10:16:12 +02:00 committed by Dirk Hohndel
parent d453d5cb37
commit ecf0408aae
4 changed files with 52 additions and 8 deletions

11
dive.c
View file

@ -188,6 +188,17 @@ double get_volume_units(unsigned int ml, int *frac, const char **units)
return vol;
}
int units_to_sac(int volume)
{
if(get_units()->volume == CUFT)
if (volume < 10)
return cuft_to_l(volume) * 100;
else
return cuft_to_l(volume) * 10;
else
return volume * 1000;
}
unsigned int units_to_depth(double depth)
{
if (get_units()->length == METERS)