ESP32-PaxCounter/src/paxcounter.conf

111 lines
7.4 KiB
Plaintext
Raw Normal View History

2018-04-19 15:17:23 +02:00
// ----- Paxcounter user config file ------
//
// --> adapt to your needs and use case <--
2018-06-16 20:25:49 +02:00
//
// Note: After editing, before "build", use "clean" button in PlatformIO!
2018-04-19 15:17:23 +02:00
2018-09-17 17:23:02 +02:00
#define PRODUCTNAME "PAXCNT"
2018-04-19 15:17:23 +02:00
// Verbose enables serial output
2019-03-07 14:57:21 +01:00
#define VERBOSE 1 // set to 0 to silence the device, for mute use build option
2018-04-19 15:17:23 +02:00
2018-07-21 17:14:27 +02:00
// Payload send cycle and encoding
2019-03-03 13:07:48 +01:00
#define SENDCYCLE 30 // payload send cycle [seconds/2], 0 .. 255
2019-02-24 13:35:22 +01:00
#define PAYLOAD_ENCODER 2 // payload encoder: 1=Plain, 2=Packed, 3=Cayenne LPP dynamic, 4=Cayenne LPP packed
2018-07-21 17:14:27 +02:00
2019-04-13 17:39:08 +02:00
// Set this to include BLE counting and vendor filter functions, or to switch off WIFI counting
2019-03-07 14:57:21 +01:00
#define VENDORFILTER 1 // set to 0 if you want to count things, not people
2019-04-13 17:39:08 +02:00
#define BLECOUNTER 0 // set it to 1 if you want to use BLE count, at expense of power & memory
#define WIFICOUNTER 1 // set it to 0 if you want to switch off WIFI count
2018-04-19 15:17:23 +02:00
// BLE scan parameters
2018-05-19 16:55:18 +02:00
#define BLESCANTIME 0 // [seconds] scan duration, 0 means infinite [default], see note below
2018-05-20 21:21:47 +02:00
#define BLESCANWINDOW 80 // [milliseconds] scan window, see below, 3 .. 10240, default 80ms
#define BLESCANINTERVAL 80 // [illiseconds] scan interval, see below, 3 .. 10240, default 80ms = 100% duty cycle
2018-04-19 15:17:23 +02:00
/* Note: guide for setting bluetooth parameters
*
2018-05-19 16:55:18 +02:00
* |< Scan Window > |< Scan Window > | ... |< Scan Window > |
* |< Scan Interval >|< Scan Interval >| ... |< Scan Interval >|
* |< Scan duration >|
2018-04-19 15:17:23 +02:00
*
2018-05-19 16:55:18 +02:00
* Scan duration sets how long scanning should be going on, before starting a new scan cycle. 0 means infinite (default).
* Scan window sets how much of the interval should be occupied by scanning. Should be >= BLESCANINTERVAL.
2018-04-19 15:17:23 +02:00
* Scan interval is how long scanning should be done on each channel. BLE uses 3 channels for advertising.
* -> Adjust these values with power consumption in mind if power is limited.
2018-05-20 13:50:00 +02:00
* -> Scan interval can be changed during runtime by remote comammand.
2018-04-19 15:17:23 +02:00
*/
// WiFi scan parameters
#define WIFI_CHANNEL_MIN 1 // start channel number where scan begings
#define WIFI_CHANNEL_MAX 13 // total channel number to scan
#define WIFI_MY_COUNTRY "EU" // select locale for Wifi RF settings
#define WIFI_CHANNEL_SWITCH_INTERVAL 50 // [seconds/100] -> 0,5 sec.
2018-07-14 19:12:20 +02:00
// LoRa payload default parameters
2018-04-28 14:33:27 +02:00
#define MEM_LOW 2048 // [Bytes] low memory threshold triggering a send cycle
2018-06-08 22:41:37 +02:00
#define RETRANSMIT_RCMD 5 // [seconds] wait time before retransmitting rcommand results
2018-06-16 19:50:36 +02:00
#define PAYLOAD_BUFFER_SIZE 51 // maximum size of payload block per transmit
2018-04-19 15:17:23 +02:00
#define LORASFDEFAULT 9 // 7 ... 12 SF, according to LoRaWAN specs
#define MAXLORARETRY 500 // maximum count of TX retries if LoRa busy
#define SEND_QUEUE_SIZE 10 // maximum number of messages in payload send queue [1 = no queue]
2018-07-15 19:08:18 +02:00
2019-02-24 13:35:22 +01:00
// Hardware settings
2018-07-22 11:08:55 +02:00
#define RGBLUMINOSITY 30 // RGB LED luminosity [default = 30%]
#define DISPLAYREFRESH_MS 40 // OLED refresh cycle in ms [default = 40] -> 1000/40 = 25 frames per second
2018-07-25 00:17:31 +02:00
#define HOMECYCLE 30 // house keeping cycle in seconds [default = 30 secs]
2018-04-19 15:17:23 +02:00
2019-02-24 13:35:22 +01:00
// Settings for BME680 environmental sensor
#define BME_TEMP_OFFSET 5.0f // Offset sensor on chip temp <-> ambient temp [default = 5°C]
#define STATE_SAVE_PERIOD UINT32_C(360 * 60 * 1000) // update every 360 minutes = 4 times a day
#define BMECYCLE 1 // bme sensor read cycle in seconds [default = 1 secs]
2018-09-16 12:18:11 +02:00
// OTA settings
2019-03-07 14:57:21 +01:00
#define USE_OTA 1 // set to 0 to disable OTA update
2018-11-04 15:12:39 +01:00
#define WIFI_MAX_TRY 5 // maximum number of wifi connect attempts for OTA update [default = 20]
2018-11-05 00:03:47 +01:00
#define OTA_MAX_TRY 5 // maximum number of attempts for OTA download and write to flash [default = 3]
2018-11-05 21:40:07 +01:00
#define OTA_MIN_BATT 3600 // minimum battery level for OTA [millivolt]
#define RESPONSE_TIMEOUT_MS 60000 // firmware binary server connection timeout [milliseconds]
2018-09-16 12:18:11 +02:00
2019-02-24 01:44:55 +01:00
// settings for syncing time of node with external time source
#define TIME_SYNC_INTERVAL 60 // sync time attempt each .. minutes from time source (GPS/LORA/RTC) [default = 60], 0 means off
#define TIME_SYNC_INTERVAL_RETRY 10 // retry time sync after lost sync each .. minutes [default = 10], 0 means off
#define TIME_SYNC_COMPILEDATE 0 // set to 1 to use compile date to initialize RTC after power outage [default = 0]
2019-03-09 00:53:11 +01:00
#define TIME_SYNC_LORAWAN 0 // set to 1 to use LORA network as time source, 0 means off [default = 0]
2019-08-03 14:01:25 +02:00
#define TIME_SYNC_LORASERVER 1 // set to 1 to use LORA timeserver as time source, 0 means off [default = 0]
2019-01-28 23:59:52 +01:00
// settings for syncing time with timeserver applications
#define TIME_SYNC_SAMPLES 1 // number of time requests for averaging
2019-04-07 16:14:19 +02:00
#define TIME_SYNC_CYCLE 60 // delay between two time samples [seconds]
#define TIME_SYNC_TIMEOUT 300 // timeout waiting for timeserver answer [seconds]
2019-03-24 20:14:32 +01:00
2019-01-28 00:38:31 +01:00
// time zone, see https://github.com/JChristensen/Timezone/blob/master/examples/WorldClock/WorldClock.ino
#define DAYLIGHT_TIME {"CEST", Last, Sun, Mar, 2, 120} // Central European Summer Time
#define STANDARD_TIME {"CET ", Last, Sun, Oct, 3, 60} // Central European Standard Time
2018-11-16 09:43:47 +01:00
2019-02-24 13:35:22 +01:00
// Ports on which the device sends and listenes on LoRaWAN and SPI
#define COUNTERPORT 1 // counts
#define RCMDPORT 2 // remote commands
#define STATUSPORT 2 // remote command results
#define CONFIGPORT 3 // config query results
#define GPSPORT 4 // gps
#define BUTTONPORT 5 // button pressed signal
#define BEACONPORT 6 // beacon alarms
#define BMEPORT 7 // BME680 sensor
#define BATTPORT 8 // battery voltage
2019-04-06 16:43:12 +02:00
#define TIMEPORT 9 // time query
2019-05-07 18:20:12 +02:00
#define TIMEDIFFPORT 13 // time adjust diff
2019-04-06 16:43:12 +02:00
#define TIMEANSWERPORT_MIN 0xA0 // time answer, start of port range
#define TIMEANSWERPORT_MAX 0xDF // time answer, end of port range
2019-02-24 13:35:22 +01:00
#define SENSOR1PORT 10 // user sensor #1
#define SENSOR2PORT 11 // user sensor #2
#define SENSOR3PORT 12 // user sensor #3
// Cayenne LPP Ports, see https://community.mydevices.com/t/cayenne-lpp-2-0/7510
#define CAYENNE_LPP1 1 // dynamic sensor payload (LPP 1.0)
#define CAYENNE_LPP2 2 // packed sensor payload (LPP 2.0)
#define CAYENNE_GPS 3 // full scale GPS payload
#define CAYENNE_ACTUATOR 10 // actuator commands
#define CAYENNE_DEVICECONFIG 11 // device period configuration
#define CAYENNE_SENSORREAD 13 // sensor period configuration
#define CAYENNE_SENSORENABLE 14 // sensor enable configuration