diff Discovery/Inc/tStructure.h @ 38:5f11787b4f42

include in ostc4 repository
author heinrichsweikamp
date Sat, 28 Apr 2018 11:52:34 +0200
parents
children cc9c18075e00
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Discovery/Inc/tStructure.h	Sat Apr 28 11:52:34 2018 +0200
@@ -0,0 +1,357 @@
+///////////////////////////////////////////////////////////////////////////////
+/// -*- coding: UTF-8 -*-
+///
+/// \file   Discovery/Inc/tStructure.h
+/// \brief  Header file for All
+/// \author heinrichs weikamp gmbh
+/// \date   04-July-2014
+///
+/// $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/>.
+//////////////////////////////////////////////////////////////////////////////
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef TSTRUCTURE_H
+#define TSTRUCTURE_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stdint.h"
+
+/** @addtogroup Template
+	* @{
+	*/
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#define _MB(base,menuPage,menuLine,menuEditField,menuEditWhichMode) ((base << 28) + (menuPage << 24) + (menuLine << 16) + (menuEditField << 8) + menuEditWhichMode)
+
+#define BaseInfo 0
+#define BaseHome 1
+#define BaseMenu 2
+#define BaseComm 3
+#define BaseStop 6
+#define BaseBoot 7
+
+#define PageDebug 0
+#define PageSurface 1
+#define PageDive 2
+
+#define MaskLineFieldDigit 	_MB(7,15,0,0,0)
+#define MaskFieldDigit 			_MB(7,15,255,0,0)
+#define MaskAllButLine 			_MB(0,0,255,0,0)
+#define MaskLineDigit		 		_MB(7,15,0,255,0)
+#define InfoPageLogList 2
+#define InfoPageLogShow 3
+#define InfoPageCompass 6
+
+#define StI 				_MB(0,1,0,0,0)
+#define StILOGLIST	_MB(0,2,0,0,0)
+#define StILOGSHOW	_MB(0,3,0,0,0)
+#define StIDIVE 		_MB(0,4,0,0,0)
+#define StISIM			_MB(0,5,0,0,0)
+#define StICOMPASS	_MB(0,6,0,0,0)
+#define StIDEBUG		_MB(0,7,0,0,0)
+
+#define StI_GoToLogbook			_MB(0,1,1,0,0)
+#define StI_GoToPlanner			_MB(0,1,2,0,0)
+#define StI_StartSimulator	_MB(0,1,3,0,0)
+
+#define StISIM_Descend			_MB(0,5,1,0,0)
+#define StISIM_Ascend				_MB(0,5,2,0,0)
+#define StISIM_Divetime			_MB(0,5,3,0,0)
+#define StISIM_Exit					_MB(0,5,4,0,0)
+#define StISIM_FollowDeco		_MB(0,5,5,0,0)
+
+
+#define StDEBUG	_MB(1,0,0,0,0)
+#define StS			_MB(1,1,0,0,0)
+#define StD			_MB(1,2,0,0,0)
+#define StDMGAS	_MB(1,2,1,0,0)
+#define StDMSPT	_MB(1,2,2,0,0)
+#define StDMENU	_MB(1,2,3,0,0)
+#define StDSIM1	_MB(1,2,4,0,0)
+#define StDSIM2	_MB(1,2,5,0,0)
+#define StDSIM3	_MB(1,2,6,0,0)
+#define StDSIM4	_MB(1,2,7,0,0)
+#define StDBEAR	_MB(1,2,8,0,0)
+#define StDRAVG	_MB(1,2,9,0,0)
+#define StDQUIT	_MB(1,2,10,0,0)
+
+
+#define StUART_STANDARD		_MB(3,1,0,0,0)
+#define StUART_RTECONNECT	_MB(3,2,0,0,0)
+
+#define StStop			_MB(6,0,0,0,0)
+#define StBoot0			_MB(7,0,0,0,0)
+
+/* globalState defines in which visible range the cursor can move */
+/* position of the cursor does not affect globalState */
+/* next page is a different globalState */
+/* next line, field or digit is not a different state */
+/* digit is empty at the moment and be reused for future features */
+
+/* PAGE 1 */
+#define StMOG 		_MB(2,1,0,0,0)
+
+/* PAGE 1 MENU EDIT */
+
+/* PAGE 1 EDIT FIELD CONTENT */
+/* used for PAGE 2 AS WELL */
+#define StMOG_Mix						_MB(2,1,255,1,0)
+#define StMOG_GasType				_MB(2,1,255,2,0)
+#define StMOG_ChangeDepth		_MB(2,1,255,3,0)
+#define StMOG_SetToMOD			_MB(2,1,255,4,0)
+#define StMOG_Bottle				_MB(2,1,255,5,0)
+#define StMOG_Wireless			_MB(2,1,255,6,0)
+
+#define StMOG_MOD						_MB(2,1,255,9,0)
+
+#define StMOG_First					_MB(2,1,255,21,0)
+#define StMOG_Deco					_MB(2,1,255,22,0)
+#define StMOG_Travel				_MB(2,1,255,23,0)
+#define StMOG_Inactive			_MB(2,1,255,24,0)
+
+#define StMOG_NoTransmitter	_MB(2,1,255,30,0)
+#define StMOG_Transmitter1	_MB(2,1,255,31,0)
+#define StMOG_Transmitter2	_MB(2,1,255,32,0)
+#define StMOG_Transmitter3	_MB(2,1,255,33,0)
+#define StMOG_Transmitter4	_MB(2,1,255,34,0)
+#define StMOG_Transmitter5	_MB(2,1,255,35,0)
+//#define StMOG_Transmitter6	_MB(2,1,255,36,0)
+//#define StMOG_Transmitter7	_MB(2,1,255,37,0)
+//#define StMOG_Transmitter8	_MB(2,1,255,38,0)
+//#define StMOG_Transmitter9	_MB(2,1,255,39,0)
+
+#define StMOG_DM_ActiveBase	_MB(2,1,6,255,0)
+#define StMOG_DM_ExtraMix		_MB(2,1,6,6,0)
+/*
+#define StMOG_DM_Active1		_MB(2,1,6,255,1)
+#define StMOG_DM_Active2		_MB(2,1,6,255,2)
+#define StMOG_DM_Active3		_MB(2,1,6,255,3)
+#define StMOG_DM_Active4		_MB(2,1,6,255,4)
+#define StMOG_DM_Active5		_MB(2,1,6,255,5)
+#define StMOG_DM_Active6		_MB(2,1,6,255,6)
+#define StMOG_DM_Active7		_MB(2,1,6,255,7)
+#define StMOG_DM_Active8		_MB(2,1,6,1,8)
+#define StMOG_DM_Active9		_MB(2,1,6,1,9)
+#define StMOG_DM_Active10		_MB(2,1,6,1,10)
+*/
+
+/*
+#define StMOG_Depth					_MB(2,1,255, 2,0)
+#define StMOG_DefaultDepth	_MB(2,1,255, 4,0)
+#define StMOG_Reset					_MB(2,1,255, 5,0)
+#define StMOG_ToggleDefault	_MB(2,1,255, 6,0)
+#define StMOG_SensorLink		_MB(2,1,255, 9,0)
+#define StMOG_Size					_MB(2,1,255,10,0)
+*/
+
+/* PAGE 2 */
+#define StMCG			_MB(2,2,0,0,0)
+/* PAGE 3 */
+#define StMSP			_MB(2,3,0,0,0)
+
+/* PAGE 3 EDIT FIELD CONTENT */
+#define StMSP_ppo2_setting	_MB(2,3,255,1,0)
+#define StMSP_Depth					_MB(2,3,255,2,0)
+#define StMSP_Active				_MB(2,3,255,3,0)
+#define StMSP_First					_MB(2,3,255,4,0)
+#define StMSP_Select				_MB(2,3,255,5,0)
+#define StMSP_Sensor1				_MB(2,3,255,6,0)
+#define StMSP_Sensor2				_MB(2,3,255,7,0)
+#define StMSP_Sensor3				_MB(2,3,255,8,0)
+
+/* PAGE 4 */
+#define StMXTRA   _MB(2,4,0,0,0)
+
+/* PAGE 4 MENU EDIT */
+#define StMXTRA_ResetStopwatch	_MB(2,4,1,1,0)
+#define StMXTRA_CompassHeading	_MB(2,4,2,1,0)
+
+/* PAGE 5 */
+#define StMDECO		_MB(2,5,0,0,0)
+
+/* PAGE 5 MENU EDIT */
+/*
+#define StMDECO1	_MB(2,5,1,0,0)
+#define StMDECO2	_MB(2,5,2,0,0)
+#define StMDECO3	_MB(2,5,3,0,0)
+#define StMDECO4	_MB(2,5,4,0,0)
+#define StMDECO5	_MB(2,5,5,0,0)
+#define StMDECO6	_MB(2,5,6,0,0)
+*/
+
+/* PAGE 5 EDIT FIELD CONTENT */
+#define StMDECO1_OC						_MB(2,5,1,1,0)
+#define StMDECO1_CC						_MB(2,5,1,2,0)
+#define StMDECO1_Apnea				_MB(2,5,1,3,0)
+#define StMDECO1_Gauge				_MB(2,5,1,4,0)
+
+#define StMDECO2_CCRmode			_MB(2,5,2,1,0)
+#define StMDECO3_PPO2Max			_MB(2,5,3,1,0)
+#define StMDECO4_SafetyStop		_MB(2,5,4,1,0)
+#define StMDECO5_FUTURE				_MB(2,5,5,1,0)
+#define StMDECO6_SALINITY			_MB(2,5,6,1,0)
+
+/* PAGE 6 */
+#define StMDECOP	_MB(2,6,0,0,0)
+
+#define StMDECOP1_Algorithm		_MB(2,6,1,1,0)
+#define StMDECOP2_VPM					_MB(2,6,2,1,0)
+#define StMDECOP3_GF					_MB(2,6,3,1,0)
+#define StMDECOP4_AltGF				_MB(2,6,4,1,0)
+#define StMDECOP5_LASTSTOP		_MB(2,6,5,1,0)
+
+#define StMDECOP7_ActiveGF		_MB(2,6,7,1,0)
+#define StMDECOP8_ActiveVPM		_MB(2,6,8,1,0)
+#define StMDECOP9_ActiveAltGF	_MB(2,6,9,1,0)
+
+/* PAGE 7 */
+#define StMHARD		_MB(2,7,0,0,0)
+
+/* PAGE 7 EDIT FIELD CONTENT */
+
+
+#define StMHARD1_Bluetooth			_MB(2,7,1,1,0)
+
+#define StMHARD2_Compass_SetCourse		_MB(2,7,2,2,0)
+#define StMHARD2_Compass_ResetCourse	_MB(2,7,2,3,0)
+#define StMHARD2_Compass_Calibrate		_MB(2,7,2,4,0)
+
+//#define StMHARD2_Exit						_MB(2,7,2,2,0)
+
+#define StMHARD3_O2_Sensor1			_MB(2,7,3,1,0)
+#define StMHARD3_O2_Sensor2			_MB(2,7,3,2,0)
+#define StMHARD3_O2_Sensor3			_MB(2,7,3,3,0)
+#define StMHARD3_O2_Fallback		_MB(2,7,3,4,0)
+
+#define StMHARD4_BrightnessEco	_MB(2,7,4,1,0)
+#define StMHARD4_BrightnessStd	_MB(2,7,4,2,0)
+#define StMHARD4_BrightnessHigh	_MB(2,7,4,3,0)
+#define StMHARD4_BrightnessMax	_MB(2,7,4,4,0)
+
+#define StMHARD5_Button1				_MB(2,7,5,1,0)
+#define StMHARD5_ButtonBalance1	_MB(2,7,5,2,0)
+#define StMHARD5_ButtonBalance2	_MB(2,7,5,3,0)
+#define StMHARD5_ButtonBalance3	_MB(2,7,5,4,0)
+
+#define StMHARD6_ScooterDrag		_MB(2,7,6,1,0)
+#define StMHARD6_ScooterLoad		_MB(2,7,6,2,0)
+#define StMHARD6_ScooterBatt		_MB(2,7,6,3,0)
+
+//#define StMHARD6_UpdateCPU2_No	_MB(2,7,6,1,0)
+//#define StMHARD6_UpdateCPU2_Yes	_MB(2,7,6,2,0)
+//#define StMHARD6_UpdateCPU2_Now	_MB(2,7,6,3,0)
+
+/* PAGE 8 */
+#define StMSYS		_MB(2,8,0,0,0)
+
+/* PAGE 8 EDIT FIELD CONTENT */
+#define StMSYS1_Date		_MB(2,8,1,1,0)
+#define StMSYS1_Time		_MB(2,8,1,2,0)
+#define StMSYS1_DDMMYY	_MB(2,8,1,3,0)
+#define StMSYS1_MMDDYY	_MB(2,8,1,4,0)
+#define StMSYS1_YYMMDD	_MB(2,8,1,5,0)
+#define StMSYS1_DST			_MB(2,8,1,6,0)
+
+#define StMSYS2_English	_MB(2,8,2,1,0)
+#define StMSYS2_German	_MB(2,8,2,2,0)
+#define StMSYS2_French	_MB(2,8,2,3,0)
+#define StMSYS2_Italian	_MB(2,8,2,4,0)
+#define StMSYS2_Espanol	_MB(2,8,2,5,0)
+
+#define StMSYS3_Units		_MB(2,8,3,1,0)
+#define StMSYS3_Colors	_MB(2,8,3,2,0)
+#define StMSYS3_Debug		_MB(2,8,3,3,0)
+
+#define StMSYS4_CViewTimeout		_MB(2,8,4,1,0)
+#define StMSYS4_CViewStandard		_MB(2,8,4,2,0)
+#define StMSYS4_CornerTimeout		_MB(2,8,4,3,0)
+#define StMSYS4_CornerStandard	_MB(2,8,4,4,0)
+#define StMSYS4_ExtraDisplay		_MB(2,8,4,5,0)
+
+#define StMSYS5_Info		_MB(2,8,5,1,0)
+
+
+#define StMSYS6_Exit					_MB(2,8,6,1,0)
+#define StMSYS6_LogbookOffset	_MB(2,8,6,7,0)
+#define StMSYS6_ResetAll			_MB(2,8,6,2,0)
+#define StMSYS6_ResetDeco			_MB(2,8,6,3,0)
+#define StMSYS6_Reboot				_MB(2,8,6,4,0)
+#define StMSYS6_Maintenance		_MB(2,8,6,5,0)
+#define StMSYS6_ResetLogbook	_MB(2,8,6,6,0)
+#define StMSYS6_SetBattCharge	_MB(2,8,6,7,0)
+#define StMSYS6_RebootRTE			_MB(2,8,6,8,0)
+#define StMSYS6_RebootMainCPU	_MB(2,8,6,9,0)
+#define StMSYS6_ScreenTest		_MB(2,8,6,10,0)
+#define StMSYS6_SetFactoryBC	_MB(2,8,6,11,0)
+
+
+/* PAGE 9 */
+#define StMPLAN		_MB(2,9,0,0,0)
+
+/* PAGE 9 EDIT FIELD CONTENT */
+#define StMPLAN2_Interval			_MB(2,9,2,1,0)
+#define StMPLAN3_DiveTime			_MB(2,9,3,1,0)
+#define StMPLAN4_MaxDepth			_MB(2,9,4,1,0)
+#define StMPLAN5_ExitResult		_MB(2,9,5,1,0)
+#define StMPLAN4_Settings			_MB(2,9,6,1,0)
+
+
+//#define StMDECO6_SALINITY			_MB(2,5,6,1,0)
+//#define StMDECO6_DefaultSAL		_MB(2,5,6,2,0)
+
+
+
+
+//#define StMDECO7_AMV					_MB(2,5,7,1,0)
+//#define StMDECO7_DefaultAMV		_MB(2,5,7,2,0)
+//#define StMDECO7_RESERVE			_MB(2,5,7,3,0)
+
+
+/*
+typedef struct
+{
+	uint32_t 	id;
+	int8_t 		implemented;
+	int8_t 		enabled;
+	uint32_t 	pointer;
+	uint8_t		type;
+} SStateOfMachine;
+*/
+
+typedef struct
+{
+	uint8_t 	base;
+	uint8_t 	page;
+	uint8_t 	line;
+	uint8_t 	field;
+	uint8_t		mode;
+} SStateList;
+
+
+
+#endif /* TSTRUCTURE_H */
+
+/************************ (C) COPYRIGHT heinrichs weikamp *****END OF FILE****/