view Common/Inc/calc_crush.h @ 214:51a3aeffc6b3 edit-fix

Bugfix: handle rounding of TTS and future TTS consistently There was a bug with futureTTS with an extended bottom time of 0 minutes (so same TTS and the main schedule) being not in sync with each other. This was simply caused by inconsistent rounding of seconds to minute conversions. And when fixing this, I noticed also inconsistent handling of huge 1000+ minutes TTS values. At some places, the presentation changed to hours notation, and other places not. I doubt that any OSTC4 user ever made a dive that had more than 1000 minutes of deco, but fixed this presentation as well, simply because of consistency. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Thu, 28 Mar 2019 08:26:17 +0100
parents 5f11787b4f42
children
line wrap: on
line source

///////////////////////////////////////////////////////////////////////////////
/// -*- coding: UTF-8 -*-
///
/// \file   Common/Inc/calc_crush.h
/// \brief  VPM Desaturation code
/// \author Heinrichs Weikamp
/// \date   2018
///
/// $Id$
///////////////////////////////////////////////////////////////////////////////
/// \par Copyright (c) 2014-2018 Heinrichs Weikamp gmbh
///
///     This program is free software: you can redistribute it and/or modify
///     it under the terms of the GNU General Public License as published by
///     the Free Software Foundation, either version 3 of the License, or
///     (at your option) any later version.
///
///     This program is distributed in the hope that it will be useful,
///     but WITHOUT ANY WARRANTY; without even the implied warranty of
///     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
///     GNU General Public License for more details.
///
///     You should have received a copy of the GNU General Public License
///     along with this program.  If not, see <http://www.gnu.org/licenses/>.
//////////////////////////////////////////////////////////////////////////////

#ifndef CALC_CRUSH_H
#define CALC_CRUSH_H

#include "data_central.h"

void vpm_init(SVpm* pVpm,
							short conservatism, short repetitive_dive,
							long seconds_since_last_dive);

int calc_crushing_pressure(SLifeData* lifeData,  SVpm* vpm,
													 float * initial_helium_pressure,
													 float * initial_nitrogen_pressure,
													 float starting_ambient_pressure,
													 float rate );

#endif // CALC_CRUSH_H