Mercurial > public > ostc4
view Common/Inc/global_constants.h @ 238:a9d798e8c11f div-fixes-5
cleanup, bugfix: do not mask I2C_SystemStatus with local variable
This commit is partly cleanup, and partly possible bugfix. Masking
the global I2C_SystemStatus with a local variable is (very) bad practice,
but more importantly, dangerous, as other code uses this I2C_SystemStatus
to base decisions on. So, this is definitely non-trivial, as it can
possibly change the flow of control. This said, its tested and seems to
have no negative effects (but also no positive, as I sort of hoped for),
so that is why I mark it cleanup as well. Constructs like this shall
be heavily documented in the code, when there is a reason to do things
like this.
Further, remove a 2nd rather useless construct. There is no reason
to & 0x03 the output of I2C_SystemStatus. This is the only location
in the entire code base where this is done, so, its not only useless
but also inconsistent and confusing the true intentions here.
Finally, littered to code with todo's that I will take care of in
next commits.
Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
author | Jan Mulder <jlmulder@xs4all.nl> |
---|---|
date | Mon, 08 Apr 2019 10:16:17 +0200 |
parents | 9fc06e1e0f66 |
children | a6c0375bc950 |
line wrap: on
line source
/////////////////////////////////////////////////////////////////////////////// /// -*- coding: UTF-8 -*- /// /// \file Common/Inc/global_constants.h /// \brief /// \author Dmitry Romanov<kitt@bk.ru> /// \date 11.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 GLOBAL_CONSTANTS_H #define GLOBAL_CONSTANTS_H //Rename it ahead. //Buttons section #define DEFAULT_BUTTONRESPONSIVENESS_GUI 85 #define MIN_BUTTONRESPONSIVENESS_GUI 30 //50 (-10correction) #define MAX_BUTTONRESPONSIVENESS_GUI 110//100 (+10correction) #define MIN_BUTTONRESPONSIVENESS MIN_BUTTONRESPONSIVENESS_GUI-20 //MIN_BUTTONRESPONSIVENESS_GUI-20 correction #define MAX_BUTTONRESPONSIVENESS MAX_BUTTONRESPONSIVENESS_GUI+20//MIN_BUTTONRESPONSIVENESS_GUI+20correction #define BUTTON_DEBOUNCE_DELAY 50 //Delay for debounce filter for piezo buttons // Spi sync data debug #define SPI_SHOW_SYNC_STATS 0 #define SPI_MIN_ERROR_SHOW 10 /* Define INDEX for information exchanged within the header */ #define SPI_HEADER_INDEX_RX_STATE (1) #define SPI_HEADER_INDEX_FRAME_CNT (2) #define SPI_RX_STATE_OK (0) #define SPI_RX_STATE_SHIFTED (1) #define SPI_RX_STATE_OFFLINE (2) #define SPI_RX_STATE_INVALID (3) //Text data #define TEXT_PRESSURE_UNIT "hPa" #endif