ESP-1ch-Gateway-v5.0--OLD/ESP-sc-gway/loraFiles.h

92 wiersze
3.3 KiB
C

// 1-channel LoRa Gateway for ESP8266
// Copyright (c) 2016, 2017, 2018 Maarten Westenberg version for ESP8266
// Version 5.3.2
// Date: 2018-07-07
//
// based on work done by Thomas Telkamp for Raspberry PI 1ch gateway
// and many others.
//
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the MIT License
// which accompanies this distribution, and is available at
// https://opensource.org/licenses/mit-license.php
//
// NO WARRANTY OF ANY KIND IS PROVIDED
//
// Author: Maarten Westenberg (mw12554@hotmail.com)
//
// This file contains a number of compile-time settings that can be set on (=1) or off (=0)
// The disadvantage of compile time is minor compared to the memory gain of not having
// too much code compiled and loaded on your ESP8266.
//
// ----------------------------------------------------------------------------------------
// At this moment there is only one record written to the ESP8266
// filesystem. We can add more info, whcich makes the gateway even more usable,
// however for large data we should only append to the existing file used.
// This also means we'll have to check for available space so we won't run out of
// storage space to quickly.
// One way would be to use let's say 10 files of each 10000 lines and when full
// delete the first file and start sriting on a new one (for example)
//
// Define Pattern debug settings, this allows debugging per
// module rather than per level. See also pdebug.
//
#define P_SCAN 0x01
#define P_CAD 0x02
#define P_RX 0x04
#define P_TX 0x08
#define P_PRE 0x10
#define P_MAIN 0x20
#define P_GUI 0x40
#define P_RADIO 0x80
// Definition of the configuration record that is read at startup and written
// when settings are changed.
struct espGwayConfig {
uint16_t fcnt; // =0 as init value XXX Could be 32 bit in size
uint16_t boots; // Number of restarts made by the gateway after reset
uint16_t resets; // Number of statistics resets
uint16_t views; // Number of sendWebPage() calls
uint16_t wifis; // Number of WiFi Setups
uint16_t reents; // Number of re-entrant interrupt handler calls
uint16_t ntpErr; // Number of UTP requests that failed
uint16_t ntps;
uint32_t ntpErrTime; // Record the time of the last NTP error
uint8_t ch; // index to freqs array, freqs[ifreq]=868100000 default
uint8_t sf; // range from SF7 to SF12
uint8_t debug; // range 0 to 4
uint8_t pdebug; // pattern debug,
uint16_t logFileRec; // Logging File Record number
uint16_t logFileNo; // Logging File Number
uint16_t logFileNum; // Number of log files
bool cad; // is CAD enabled?
bool hop; // Is HOP enabled (Note: default be disabled)
bool isNode; // Is gateway node enabled
bool refresh; // Is WWW browser refresh enabled
String ssid; // SSID of the last connected WiFi Network
String pass; // Password of WiFi network
} gwayConfig;
// Define a log record to be written to the log file
// Keep logfiles SHORT in name! to save memory
#if STAT_LOG == 1
// We do keep admin of logfiles by number
//
//uint32_t logFileNo = 1; // Included in struct espGwayConfig LogFile number
//uint32_t logFileRec = 0; // Number of records in a single logfile
//uint32_t logFileNum = 1; // Number of log files
#define LOGFILEMAX 10
#define LOGFILEREC 100
#endif