Mercurial > public > ostc4
diff Discovery/Inc/base.h @ 38:5f11787b4f42
include in ostc4 repository
author | heinrichsweikamp |
---|---|
date | Sat, 28 Apr 2018 11:52:34 +0200 |
parents | |
children | b111fc4250e9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Discovery/Inc/base.h Sat Apr 28 11:52:34 2018 +0200 @@ -0,0 +1,112 @@ +/////////////////////////////////////////////////////////////////////////////// +/// -*- coding: UTF-8 -*- +/// +/// \file Discovery/Inc/base.h +/// \brief main(): init hardware and start sub-systems +/// \author MCD Application Team +/// \date 26-February-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/>. +////////////////////////////////////////////////////////////////////////////// +/// \par COPYRIGHT(c) 2014 STMicroelectronics +/// +/// Redistribution and use in source and binary forms, with or without modification, +/// are permitted provided that the following conditions are met: +/// 1. Redistributions of source code must retain the above copyright notice, +/// this list of conditions and the following disclaimer. +/// 2. Redistributions in binary form must reproduce the above copyright notice, +/// this list of conditions and the following disclaimer in the documentation +/// and/or other materials provided with the distribution. +/// 3. Neither the name of STMicroelectronics nor the names of its contributors +/// may be used to endorse or promote products derived from this software +/// without specific prior written permission. +/// +/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +/// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +/// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +/// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +/// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +/// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +/// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +/// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +/// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +/// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +////////////////////////////////////////////////////////////////////////////// + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef BASE_H +#define BASE_H + +/* Includes ------------------------------------------------------------------*/ +#include "stm32f4xx_hal.h" +#include "tStructure.h" + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ +/* Exported macro ------------------------------------------------------------*/ + +#define TOP_LAYER 1 +#define BACKGRD_LAYER 0 + +#define SURFMODE 1 +#define DIVEMODE 2 + +typedef enum +{ + ST_Boot = 0, + ST_Surface, + ST_Dive, + ST_Menu, + ST_END +} SState; + +typedef enum +{ + ACTION_IDLE_TICK = 0, + ACTION_IDLE_SECOND, + ACTION_MODE_CHANGE, + ACTION_TIMEOUT, + ACTION_BUTTON_CUSTOM, + ACTION_BUTTON_BACK, + ACTION_BUTTON_NEXT, + ACTION_BUTTON_ENTER, + ACTION_BUTTON_ENTER_FINAL, + ACTION_END +} SAction; + +/* Exported macro ------------------------------------------------------------*/ +/* Exported functions ------------------------------------------------------- */ + +uint32_t get_globalState(void); +void set_globalState(uint32_t newID); +void get_globalStateList(SStateList *output); +void set_globalState_Menu_Page(uint8_t page); +void set_globalState_Menu_Line(uint8_t line); +void get_idSpecificStateList(uint32_t id, SStateList *output); +void delayMicros(uint32_t micros); +void get_RTC_DateTime(RTC_DateTypeDef * sdatestructureget, RTC_TimeTypeDef * stimestructureget); +void set_RTC_DateTime(RTC_DateTypeDef * sdatestructure, RTC_TimeTypeDef * stimestructure); +uint8_t get_globalMode(void); +void set_globalMode(uint8_t newMode); +void set_globalState_Log_Page(uint8_t pageIsLine); +void set_returnFromComm(void); +uint8_t font_update_required(void); + +#endif /* BASE_H */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/