Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: /* 2: MobaLedLib: LED library for model railways 3: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4: 5: Copyright (C) 2018 - 2021 Hardi Stengelin: https://forum.mobaledlib.de 6: 7: This library is free software; you can redistribute it and/or 8: modify it under the terms of the GNU Lesser General Public 9: License as published by the Free Software Foundation; either 10: version 2.1 of the License, or (at your option) any later version. 11: 12: This library is distributed in the hope that it will be useful, 13: but WITHOUT ANY WARRANTY; without even the implied warranty of 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15: Lesser General Public License for more details. 16: 17: You should have received a copy of the GNU Lesser General Public 18: License along with this library; if not, write to the Free Software 19: Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20: ------------------------------------------------------------------------------------------------------------- 21: 22: Lib_Config.h 23: ~~~~~~~~~~~~ 24: 25: This file contains configuration variables to change the bahavior of the MobaLedLib. 26: 27: */ 28: #ifndef __LIB_CONFIG_H__ 29: #define __LIB_CONFIG_H__ 30: 31: #include <Arduino.h> 32: 33: // *** Defines to enable certain functions of the library *** 34: 35: //#define _TEST_BUTTONS // Enable this to use three buttons connected to the Arduino pins for testing (04.08.18: FLASH: 1390, RAM 18 without DEBUG_PRINT_BUTTONS()) 36: 37: //#define _PRINT_DEBUG_MESSAGES // Enable this line to print debug messages to the PC (USB) 38: 39: //#define _DUMP_CONFIG // Enable this line to print the configuration memory on startup 40: 41: //#define _FAST_TIMES // Enable this for debugging with fast timing for the houses 42: 43: //#define _HOUSE_STATISTIC // Calculate the average number of active lights in the houses 44: 45: 46: //#define _USE_LOCAL_TX // The variables t4w, tw and t10 are calculated in each function instead of calculating them once in Int_Update() 47: // Saves 3 Bytes RAM, but uses 42 bytes FLASH 48: 49: #define _USE_SEP_CONST // Use a separate Const() function instead of the Pattern function. This saves 50: // 5 byte RAM and 10 Byte FLASH per line, but the separate function needs 144 bytes 51: // FLASH for the program code ;-( 52: // If more than 14 Const() lines are used and if not enough RAM is available this 53: // line could be enabled. 54: // On the other hand the separate Const() function ist faster 7us / 17us. 55: // 18.11.18: Enabled because of the saved RAM 56: 57: //#define _NEW_ROOM_COL // Saves 162 Byte FLASH and 43 Bytes RAM 58: 59: #define _NEW_INITIALIZE // allows to restore input state after constructor before first initialize run 60: 61: 62: // Memory usage tests / optimisation Flash Ram Attention _PRINT_DEBUG_MESSAGES must be disabled 63: #define _USE_COUNTER 1 // 28.10.18: 592 0 64: #define _USE_HOUSE 1 // 28.10.18: 2924 18? 65: #define _USE_SET_COLTAB 1 // 09.12.18: 66: #define _USE_SET_TVTAB 1 // 10.01.20: 176 4 67: #define _USE_DEF_NEON 1 // 12.01.20: 96 -31 ? 68: #define _USE_PATTERN 1 // 28.10.18: 2096 0 69: #define _USE_FIRE 1 // 28.10.18: 594 0 70: #define _USE_HSV_GROUP 1 // 28.10.18: 62 0 71: #define _USE_LOCAL_VAR 1 // 07.11.18: ?? 72: #define _USE_USE_GLOBALVAR 1 // 26.11.18: 124 2 73: #define _USE_INCH_TO_VAR 1 // 25.11.18: ?? 74: #define _USE_LOGIC 1 // 28.10.18: 172 0 75: #define _USE_RANDOM 1 // 28.10.18: 292 0 76: #define _USE_RANMUX 1 // 28.10.18: 364 0 77: #define _USE_WELDING 1 // 28.10.18: 430 0 78: #define _USE_COPYLED 1 // 28.10.18: 116 0 79: #define _USE_SCHEDULE 1 // 28.10.18: 264 0 80: #define _USE_STORE_STATUS 1 // 22.04.20: 138 5 // 19.05.20: Juergen 81: #define _USE_INCH_TRIGGER 1 // 08.06.20: -12 0 82: #define _USE_CANDLE 1 // 10.06.20: 352 2 // 09.06.20: 83: #define _USE_EXT_PROC 1 // 26.09.21: 48 4 // 26.09.21: Juergen 84: // 8800 Sum 85: 86: #define _USE_COPY_N_LEDS 1 // 18.09.23: 87: // Hardware pin definitions 88: 89: // Only used if _TEST_BUTTONS is enabled: 90: const uint8_t Buttons[] = { 7, 8, 9 }; // Up to 6 button pins (_TEST_BUTTONS must be defined) 91: #define LED_LEFT_PIN 3 // Yellow LED above the Left button 92: #define LED_MID_PIN 4 // White LED above the middle button 93: #define LED_RIGHT_PIN 5 // Blue LED above the Right button 94: #define RES_INP_PIN 15 95: 96: 97: 98: 99: #ifdef _FAST_TIMES // Fast times for tests 100: #ifndef HOUSE_MIN_T 101: #define HOUSE_MIN_T 1 // Minimal time [s] to the next event (1..255) 102: #endif 103: #ifndef HOUSE_MAX_T 104: #define HOUSE_MAX_T 5 // Maximal random time [s] " 105: #endif 106: #else // Normal times 107: #ifndef HOUSE_MIN_T 108: #define HOUSE_MIN_T 50 // Minimal time [s] to the next event (1..255) 109: #endif 110: #ifndef HOUSE_MAX_T 111: #define HOUSE_MAX_T 150 // Maximal random time [s] " 112: #endif 113: #endif 114: 115: #ifdef _HOUSE_STATISTIC 116: #undef HOUSE_MIN_T 117: #undef HOUSE_MAX_T 118: #define HOUSE_MIN_T 1 // Minimal time [s] to the next event (1..255) 119: #define HOUSE_MAX_T 1 // Maximal random time [s] " 120: #endif 121: 122: #define GAS_MIN_T 2 // Minimal time [s] to the next event (1..255) 123: #define GAS_MAX_T 5 // Maximal random time [s] " 124: 125: #endif // __LIB_CONFIG_H__ 126: