view Discovery/Src/gfx_colors.c @ 250:822416168585 bm-2

Buelmann: new implementation for ceiling Since my first functional fix in the ceiling computation in commit ceecabfddb57, I noticed that the computation used a linear search, that became rather computational expensive after that commit. The simple question is: why not a binary search? So, this commit implements the binary search. But there is a long story attached to this. Comparing ceiling results from hwOS and this OSTC4 code were very different. Basically, the original OSTC4 algorithm computed the ceiling using the same GFlow to GFhigh slope, in such a way, that the ceiling was in sync with the presented deco stops, where the hwOS code presents a GFhigh based ceiling. This said, it is more logical when the OSTC4 and hwOS code give similar results. This new recursive algorithm gives very similar results for the ceiling compared to hwOS. To be complete here, the Buelmann ceiling is the depth to which you can ascend, so that the leading tissue reaches GFhigh. This also explains why the deepest deco stop is normally deeper than the ceiling (unless one dives with GF like 80/80). The code implemented here is rather straightforward recursion. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author Jan Mulder <jlmulder@xs4all.nl>
date Thu, 11 Apr 2019 17:48:48 +0200
parents 5f11787b4f42
children 998529b3e142
line wrap: on
line source

/**
  ******************************************************************************
  * @file    gfx_colors.c
  * @author  heinrichs weikamp gmbh
  * @version V0.0.1
  * @date    02-May-2014
  * @brief   All colors used are defined here
  *
  @verbatim
  ==============================================================================
                        ##### How to use #####
  ==============================================================================
  @endverbatim
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; COPYRIGHT(c) 2014 heinrichs weikamp</center></h2>
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "gfx_colors.h"

/* Exported variables --------------------------------------------------------*/

/*
	0x0000FF00,   gr�n
	0x00FF0000,    rot
	0x000000FF,   blau
	0x00FFFF00,   gelb
	0x0000FFFF,   cyan
	0x00000000,  black
	0x000092D0,  hw hellblau f�r Beschriftun
*/


uint32_t ColorLUT[] =
{
	// ARGB
	0x00FFFFFF, // \020 wei�
	0x00777777, // \021 grau f�r inaktiv / hw 151027: war zuvor 0x00555555 grau
	0x0050FF50, // \022 units
	0x003060FF, // \023 blau
	0x00FFFF00, // \024 + CLUT_WarningYellow
	0x00FF0000, // \025 + CLUT_WarningRed
	0x0000FF00, // \026 + CLUT_NiceGreen
	0x00FFFFFF, // \027 DIVE_MainColorIfNotWhite\020
	0x00FFFFFF, // \030 DIVE_PluginBoxMainColor
	0x00777777, // \031 DIVE_PluginBoxGrey
	0x0050FF50, // \032 DIVE_LabelColor
	0x00FFFFFF, // CLUT_DIVE_FieldSeperatorLines
	0x0050FF50, // CLUT_DIVE_pluginbox // old pink 0x00FF20FF
	0x00FF00FF, // CLUT_NiceBlue descent graph (apnoe)
	0x00FFFFFF, // CLUT_DIVE_SPARE22 - UNUSED
	0x0000FF00, // CLUT_DiveMainLabel - fast nur Debugmode
	0x00555555, // CLUT_pluginboxSurface
	0x00101010, // CLUT_MenuLineUnselected
	0x00000000, // CLUT_MenuLineUnselectedSeperator
	0x00000000, // CLUT_MenuLineSelected
	0x00000000, // CLUT_MenuEditLineSelected
	0x008F8F00, // CLUT_MenuLineSelectedSides
	0x008F8F00, // CLUT_MenuLineSelectedSeperator
	0x00000000, // CLUT_MenuTopBackground
	0x00FFFF00, // CLUT_Group0 - UNUSED
	0x00646464, // CLUT_MenuEditCursor,
	0x008C8C8C, // CLUT_MenuEditInfo,
	0x0068F10D, // CLUT_MenuEditActive, - UNUSED
	0x00FFFFFF, // CLUT_MenuEditButtonColor1,
	0x00FFFFFF, // CLUT_MenuEditFieldRegular,
	0x00000000, // CLUT_MenuEditFieldSelected,
	0x00000000, // CLUT_MenuEditField0,
	0x00FFFFFF, // CLUT_MenuEditField1,
	0x00FFFFFF, // CLUT_MenuEditField2,
	0x00FFFFFF, // CLUT_MenuEditField3,
	0x00FFFFFF, // CLUT_MenuEditField4,
	0x00FFFFFF, // CLUT_MenuEditField5,
	0x00FFFFFF, // CLUT_MenuEditField6,
	0x00FFFFFF, // CLUT_MenuEditField7,
	0x00FFFFFF, // CLUT_MenuEditField8,
	0x00FFFFFF, // CLUT_MenuEditField9,
	0x00FFFFFF, // CLUT_MenuEditDigit,
	0x0000AEFF,	// CLUT_MenuPageGasOC
	0x0000AE7D,	// CLUT_MenuPageGasCC
	0x00A7D744,	// CLUT_MenuPageGasSP
	0x00EEAA00, // CLUT_MenuPageXtra
	0x00FF0000, // CLUT_MenuPageDeco
	0x00FFC000,//0x00C4EACC, // CLUT_MenuPageDecoParameter
	0x00AC00ff,//0x00E5AE18, // CLUT_MenuPageHardware
	0x00ff00ff,//0x00E5AEFF, // CLUT_MenuPageSystem 
	0x00C4EACC,//0x00FFFF00, // CLUT_MenuPageDivePlanner 
	0x00000000, // CLUT_MenuPage9 - UNUSED
	0x00000000, // CLUT_MenuPage10 - UNUSED
	0x00FFFFFF, // CLUT_ButtonSymbols
	0x000092D0, // CLUT_InfoSurface
	0x000092D0, // CLUT_InfoDive - UNUSED
	0x000092D0, // CLUT_InfoCompass
	0x00A0A0A0, // CLUT_InfoCursor
	0x008C8C8C, // CLUT_InfoInActive,
	0x0068F10D, // CLUT_InfoActive,
	0x00FFFFFF, // CLUT_InfoButtonColor1,
	0x00FFFFFF, // CLUT_InfoFieldRegular,
	0x00000000, // CLUT_InfoFieldSelected, - UNUSED
	0x00FFFFFF, // CLUT_InfoField0
	0x00FFFFFF, // CLUT_InfoField1
	0x00FFFFFF, // CLUT_InfoField2
	0x00FFFFFF, // CLUT_InfoField3
	0x00FFFFFF, // CLUT_InfoField4
	0x00FFFFFF, // CLUT_InfoField5
	0x00FFFFFF, // CLUT_InfoField6
	0x00FFFFFF, // CLUT_InfoField7
	0x00FFFFFF, // CLUT_InfoField8
	0x00FFFFFF, // CLUT_InfoField9
	0x003060FF,	// CLUT_InfoPageLogbook
	0x00AAAAAA,	// CLUT_LogbookGrid,
	0x00FFFFFF, // CLUT_LogbookText
	0x00FF0000, // CLUT_LogbookTemperature
	0x00FF8000, // CLUT_GasSensor0
	0x00FFFFFF, // CLUT_GasSensor1
	0x0000FF00, // CLUT_GasSensor2
	0x00FF0000, // CLUT_GasSensor3
	0x000000FF, // CLUT_GasSensor4
	0x00FFFF00, // CLUT_GasSensor5
	0x0000FFFF, // CLUT_GasSensor6
	0x00FF00FF, // CLUT_GasSensor7
	0x00FFFFFF, // CLUT_GasSensor8
	0x00FFFFFF, // CLUT_GasSensor9
	0x00FFFFFF, // CLUT_GasSensor10
	0x00FFFFFF, // CLUT_GasSensor11
	0x00FFFFFF, // CLUT_GasSensor12
	0x00FFFFFF, // CLUT_GasSensor13
	0x00FFFFFF, // CLUT_GasSensor14
	0x00FFFFFF, // CLUT_GasSensor15
	0x00FF5050, // CLUT_CompassUserBackHeadingTick
	0x00888888, // CLUT_CompassSubTick
	0x00FFFFFF, // CLUT_CompassNorthTick
	0x0050FF50, // CLUT_CompassUserHeadingTick
	0x0000FF00, // CLUT_EverythingOkayGreen
	0x000092D0, // CLUT_ButtonSurfaceScreen
	0x00FFFFFF, // CLUT_BatteryStandard
	0x0000FF00, // CLUT_BatteryCharging
	0x00FF8000, // CLUT_BatteryProblem
	0x00FFFFFF, // \027 CLUT_MainColor ---------- colorscheme 0
	0x00FFFFFF, // \030 DIVE_PluginBoxMainColor	 	colorscheme 0
	0x00777777, // \031 DIVE_PluginBoxGrey				colorscheme 0
	0x0050FF50, // \032 DIVE_LabelColor 					colorscheme 0
	0x00FFFFFF, // CLUT_DIVE_FieldSeperatorLines	colorscheme 0
	0x0050FF50, // CLUT_DIVE_pluginbox						colorscheme 0
	0x00FFFFFF, // CLUT_DIVE_SPARE21							colorscheme 0
	0x00FFFFFF, // CLUT_DIVE_SPARE22							colorscheme 0
	0x00F29400, // CLUT_MainColor --------------- colorscheme 1
	0x00F29400, // \030 DIVE_PluginBoxMainColor	 	colorscheme 1
	0x00E2001A, // \031 DIVE_PluginBoxGrey				colorscheme 1
	0x00E2001A, // \032 DIVE_LabelColor 					colorscheme 1
	0x00F29400, // CLUT_DIVE_FieldSeperatorLines	colorscheme 1
	0x00E2001A, // CLUT_DIVE_pluginbox						colorscheme 1
	0x00FFFFFF, // CLUT_DIVE_SPARE21							colorscheme 1
	0x00FFFFFF, // CLUT_DIVE_SPARE22							colorscheme 1
	0x0000FF00, // \027 CLUT_MainColor ---------- colorscheme 2
	0x0000FF00, // \030 DIVE_PluginBoxMainColor	 	colorscheme 2
	0x0000948D, // \031 DIVE_PluginBoxGrey				colorscheme 2
	0x0000948D, // \032 DIVE_LabelColor 					colorscheme 2
	0x0000FF00, // CLUT_DIVE_FieldSeperatorLines	colorscheme 2
	0x0000948D, // CLUT_DIVE_pluginbox						colorscheme 2
	0x00FFFFFF, // CLUT_DIVE_SPARE21							colorscheme 2
	0x00FFFFFF, // CLUT_DIVE_SPARE22							colorscheme 2
	0x0033A1D6, // CLUT_MainColor --------------- colorscheme 3
	0x00FFFFFF, // \030 DIVE_PluginBoxMainColor	 	colorscheme 3
	0x00777777, // \031 DIVE_PluginBoxGrey				colorscheme 3
	0x000000FF, // \032 DIVE_LabelColor 					colorscheme 3
	0x0033A1D6, // CLUT_DIVE_FieldSeperatorLines	colorscheme 3
	0x000000FF, // CLUT_DIVE_pluginbox						colorscheme 3
	0x00FFFFFF, // CLUT_DIVE_SPARE21							colorscheme 3
	0x00FFFFFF, // CLUT_DIVE_SPARE22							colorscheme 3
};




/* Exported functions --------------------------------------------------------*/