Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
cs_Config.h File Reference
#include <nrf_sdh_ble.h>
#include <protocol/cs_Typedefs.h>
Include dependency graph for cs_Config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CROWNSTONE_COMPANY_ID   0x038E
 Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: 4 Nov., 2014 Triple-license: LGPLv3+, Apache License, and/or MIT. More...
 
#define CS_CONNECTION_PROTOCOL_VERSION   5
 
#define DEFAULT_CHAR_VALUE_STRING_LENGTH   50
 maximum length of strings used for characteristic values More...
 
#define MAX_STRING_STORAGE_SIZE   31
 define the maximum size for strings to be stored More...
 
#define APP_TIMER_PRESCALER   0
 Priorities of the different peripherals. More...
 
#define APP_TIMER_OP_QUEUE_SIZE   16
 Size of queues holding timer operations that are pending execution Meaning: amount of timers that can be started simultaneously. More...
 
#define SCHED_MAX_EVENT_DATA_SIZE   (MAX(20, MAX(APP_TIMER_SCHED_EVENT_DATA_SIZE, NRF_SDH_BLE_EVT_BUF_SIZE)))
 Maximum size of scheduler events. More...
 
#define SCHED_QUEUE_SIZE   32
 Maximum number of events in the scheduler queue. More...
 
#define SCHEDULER_QUEUE_ALMOST_FULL   (SCHED_QUEUE_SIZE - 10)
 
#define APP_BLE_CONN_CFG_TAG   1
 
#define SEC_PARAM_TIMEOUT   30 /** < Timeout for Pairing Request or Security Request (in seconds). */
 
#define SEC_PARAM_BOND   1 /** < Perform bonding. */
 
#define SEC_PARAM_MITM   1 /** < Man In The Middle protection not required. */
 
#define SEC_PARAM_IO_CAPABILITIES   BLE_GAP_IO_CAPS_DISPLAY_ONLY /** < No I/O capabilities. */
 
#define SEC_PARAM_OOB   0 /** < Out Of Band data not available. */
 
#define SEC_PARAM_MIN_KEY_SIZE   7 /** < Minimum encryption key size. */
 
#define SEC_PARAM_MAX_KEY_SIZE   16 /** < Maximum encryption key size. */
 
#define SECURITY_REQUEST_DELAY   1500
 Delay after connection until security request is sent, if necessary (ms). More...
 
#define SWITCH_CLAIM_TIME_MS   2000
 Time that switch commands of other sources are ignored. More...
 
#define MAX_SCHEDULE_ENTRIES   10
 
#define SCHEDULE_BIG_TIME_JUMP   (75*60)
 
#define CS_PWM_MAX_CHANNELS   2
 
#define CS_PWM_TIMER   NRF_TIMER4
 
#define CS_PWM_TIMER_IRQ   TIMER4_IRQHandler
 
#define CS_PWM_IRQn   TIMER4_IRQn
 
#define CS_PWM_INSTANCE_INDEX   TIMER4_INSTANCE_INDEX
 
#define CS_PWM_TIMER_ID   4
 
#define CS_PWM_TIMER_IRQ_PRIORITY   APP_IRQ_PRIORITY_HIGH
 
#define CS_PWM_TIMER_FREQ   NRF_TIMER_FREQ_4MHz
 
#define CS_ADC_TIMER   NRF_TIMER1
 
#define CS_ADC_TIMER_IRQ   TIMER1_IRQHandler
 
#define CS_ADC_TIMER_IRQn   TIMER1_IRQn
 
#define CS_ADC_INSTANCE_INDEX   TIMER1_INSTANCE_INDEX
 
#define CS_ADC_TIMER_ID   1
 
#define CS_ADC_TIMER_FREQ   NRF_TIMER_FREQ_16MHz
 
#define CS_PWM_PPI_CHANNEL_START   0
 
#define CS_PWM_PPI_CHANNEL_COUNT   (1 + 2 * CS_PWM_MAX_CHANNELS)
 
#define CS_ADC_PPI_CHANNEL_START   12
 
#define CS_ADC_PPI_CHANNEL_COUNT   2
 
#define CS_PWM_PPI_GROUP_START   0
 
#define CS_PWM_PPI_GROUP_COUNT   0
 
#define CS_ADC_PPI_GROUP_START   (CS_PWM_PPI_GROUP_START + CS_PWM_PPI_GROUP_COUNT)
 
#define CS_ADC_PPI_GROUP_COUNT   0
 
#define CS_ADC_GPIOTE_CHANNEL_START   0
 
#define CS_ADC_GPIOTE_CHANNEL_COUNT   1
 
#define CS_PWM_GPIOTE_CHANNEL_START   (CS_ADC_GPIOTE_CHANNEL_START + CS_ADC_GPIOTE_CHANNEL_COUNT)
 
#define CS_PWM_GPIOTE_CHANNEL_COUNT   (CS_PWM_MAX_CHANNELS)
 
#define CS_ADC_RESOLUTION   NRF_SAADC_RESOLUTION_12BIT
 
#define CS_ADC_IRQ_PRIORITY   APP_IRQ_PRIORITY_HIGH
 
#define CS_ADC_IRQ   SAADC_IRQHandler
 
#define CS_WATCHDOG_PRIORITY   APP_IRQ_PRIORITY_HIGH
 
#define CS_WATCHDOG_TIMEOUT_MS   60000
 
#define CS_ADC_SAMPLE_INTERVAL_US   200
 
#define CS_ADC_NUM_CHANNELS   2
 
#define CS_ADC_NUM_SAMPLES_PER_CHANNEL   (20000 / CS_ADC_SAMPLE_INTERVAL_US)
 
#define CS_ADC_NUM_BUFFERS   9
 
#define CS_ADC_TIMEOUT_SAMPLES   2
 
#define STORAGE_REQUEST_BUFFER_SIZE   5
 
#define FACTORY_RESET_CODE   0xdeadbeef
 
#define FACTORY_RESET_TIMEOUT   60000
 
#define FACTORY_PROCESS_TIMEOUT   200
 
#define ENCRYPTION_KEY_LENGTH   16
 
#define BROWNOUT_TRIGGER_THRESHOLD   NRF_POWER_THRESHOLD_V27
 
#define VOLTAGE_ZERO_EXP_AVG_DISCOUNT   20
 
#define CURRENT_ZERO_EXP_AVG_DISCOUNT   100
 
#define POWER_EXP_AVG_DISCOUNT   200
 
#define POWER_SAMPLING_RMS_WINDOW_SIZE   9
 
#define POWER_SAMPLING_CURVE_HALF_WINDOW_SIZE   5
 
#define POWER_DIFF_THRESHOLD_PART   0.10f
 
#define POWER_DIFF_THRESHOLD_MIN_WATT   10.0f
 
#define NEGATIVE_POWER_THRESHOLD_WATT   -10.0f
 
#define POWER_DIFF_THRESHOLD_PART_CS_ZERO   0.10f
 
#define POWER_DIFF_THRESHOLD_MIN_WATT_CS_ZERO   15.0f
 
#define NEGATIVE_POWER_THRESHOLD_WATT_CS_ZERO   -20.0f
 
#define CURRENT_USAGE_THRESHOLD   (16000)
 
#define CURRENT_USAGE_THRESHOLD_DIMMER   (1000)
 
#define CURRENT_THRESHOLD_CONSECUTIVE   100
 
#define CURRENT_THRESHOLD_DIMMER_CONSECUTIVE   20
 
#define SWITCHCRAFT_THRESHOLD   (500000)
 
#define PWM_PERIOD   10000L
 
#define SWITCH_DELAYED_STORE_MS   (10 * 1000)
 
#define STATE_RETRY_STORE_DELAY_MS   200
 
#define MESH_SEND_TIME_INTERVAL_MS   (50 * 1000)
 
#define MESH_SEND_TIME_INTERVAL_MS_VARIATION   (20 * 1000)
 
#define MESH_SEND_STATE_INTERVAL_MS   (50 * 1000)
 
#define MESH_SEND_STATE_INTERVAL_MS_VARIATION   (20 * 1000)
 
#define MESH_SYNC_RETRY_INTERVAL_MS   (2500)
 
#define MESH_SYNC_GIVE_UP_MS   (60 * 1000)
 
#define CS_MESH_DEFAULT_TTL   10
 
#define PWM_BOOT_DELAY_MS   60000
 
#define DIMMER_BOOT_CHECK_DELAY_MS   5000
 
#define DIMMER_BOOT_CHECK_POWER_MW   3000
 
#define DIMMER_BOOT_CHECK_POWER_MW_UNCALIBRATED   10000
 
#define DIMMER_SOFT_ON_SPEED   8
 
#define MIN_CONNECTION_INTERVAL   6
 
#define MAX_CONNECTION_INTERVAL   6
 
#define CONNECTION_SUPERVISION_TIMEOUT   100
 
#define SLAVE_LATENCY   0
 
#define ADVERTISING_REFRESH_PERIOD   500
 
#define ADVERTISING_REFRESH_PERIOD_SETUP   500
 
#define EXTERNAL_STATE_LIST_COUNT   10
 
#define EXTERNAL_STATE_TIMEOUT_MS   60000
 
#define SWITCH_ON_AT_SETUP_BOOT_DELAY   3600
 
#define SUN_TIME_THROTTLE_PERIOD_SECONDS   (60*60*24)
 
#define CS_CLEAR_GPREGRET_COUNTER_TIMEOUT_S   60
 
#define TICK_INTERVAL_MS   100
 Interval in milliseconds at which tick events are dispatched. More...
 
#define CONFIG_POWER_ZERO_INVALID   0x7FFFFFFF
 
#define STATE_SWITCH_STATE_DEFAULT   0
 
#define STATE_ACCUMULATED_ENERGY_DEFAULT   0
 
#define STATE_POWER_USAGE_DEFAULT   0
 
#define STATE_RESET_COUNTER_DEFAULT   0
 
#define STATE_OPERATION_MODE_DEFAULT   0
 
#define STATE_TEMPERATURE_DEFAULT   0
 
#define STATE_FACTORY_RESET_DEFAULT   0
 
#define STATE_ERRORS_DEFAULT   0
 
#define STATE_BEHAVIOUR_SETTINGS_DEFAULT   1
 
#define STATE_BEHAVIOUR_MASTER_HASH_DEFAULT   0
 
#define STATE_HUB_MODE_DEFAULT   0
 

Variables

static const uint32_t SWITCHCRAFT_DOUBLE_TAP_TIMEOUT_MS = 1000
 If 2 switchcraft events happen within this time, it will be regarded as a double tap. More...
 
static const uint8_t DEFAULT_DIM_VALUE = 40
 The default default dim value. More...
 

Macro Definition Documentation

◆ ADVERTISING_REFRESH_PERIOD

#define ADVERTISING_REFRESH_PERIOD   500

◆ ADVERTISING_REFRESH_PERIOD_SETUP

#define ADVERTISING_REFRESH_PERIOD_SETUP   500

◆ APP_BLE_CONN_CFG_TAG

#define APP_BLE_CONN_CFG_TAG   1

◆ APP_TIMER_OP_QUEUE_SIZE

#define APP_TIMER_OP_QUEUE_SIZE   16

Size of queues holding timer operations that are pending execution Meaning: amount of timers that can be started simultaneously.

◆ APP_TIMER_PRESCALER

#define APP_TIMER_PRESCALER   0

Priorities of the different peripherals.

◆ BROWNOUT_TRIGGER_THRESHOLD

#define BROWNOUT_TRIGGER_THRESHOLD   NRF_POWER_THRESHOLD_V27

◆ CONFIG_POWER_ZERO_INVALID

#define CONFIG_POWER_ZERO_INVALID   0x7FFFFFFF

◆ CONNECTION_SUPERVISION_TIMEOUT

#define CONNECTION_SUPERVISION_TIMEOUT   100

◆ CROWNSTONE_COMPANY_ID

#define CROWNSTONE_COMPANY_ID   0x038E

Author: Crownstone Team Copyright: Crownstone (https://crownstone.rocks) Date: 4 Nov., 2014 Triple-license: LGPLv3+, Apache License, and/or MIT.

TODO: For now formatting is turned off, but the actual configurations should be:

  • loaded from one single file, CMakeBuild.config.default
  • configured in files like include/cfg/cs_StaticConfig.h.in, shared/cs_MemoryLayout.h.in, etc. This would make the values easier accessible when required (configuration time, build time, bootloader, firmware).

◆ CS_ADC_GPIOTE_CHANNEL_COUNT

#define CS_ADC_GPIOTE_CHANNEL_COUNT   1

◆ CS_ADC_GPIOTE_CHANNEL_START

#define CS_ADC_GPIOTE_CHANNEL_START   0

◆ CS_ADC_INSTANCE_INDEX

#define CS_ADC_INSTANCE_INDEX   TIMER1_INSTANCE_INDEX

◆ CS_ADC_IRQ

#define CS_ADC_IRQ   SAADC_IRQHandler

◆ CS_ADC_IRQ_PRIORITY

#define CS_ADC_IRQ_PRIORITY   APP_IRQ_PRIORITY_HIGH

◆ CS_ADC_NUM_BUFFERS

#define CS_ADC_NUM_BUFFERS   9

◆ CS_ADC_NUM_CHANNELS

#define CS_ADC_NUM_CHANNELS   2

◆ CS_ADC_NUM_SAMPLES_PER_CHANNEL

#define CS_ADC_NUM_SAMPLES_PER_CHANNEL   (20000 / CS_ADC_SAMPLE_INTERVAL_US)

◆ CS_ADC_PPI_CHANNEL_COUNT

#define CS_ADC_PPI_CHANNEL_COUNT   2

◆ CS_ADC_PPI_CHANNEL_START

#define CS_ADC_PPI_CHANNEL_START   12

◆ CS_ADC_PPI_GROUP_COUNT

#define CS_ADC_PPI_GROUP_COUNT   0

◆ CS_ADC_PPI_GROUP_START

#define CS_ADC_PPI_GROUP_START   (CS_PWM_PPI_GROUP_START + CS_PWM_PPI_GROUP_COUNT)

◆ CS_ADC_RESOLUTION

#define CS_ADC_RESOLUTION   NRF_SAADC_RESOLUTION_12BIT

◆ CS_ADC_SAMPLE_INTERVAL_US

#define CS_ADC_SAMPLE_INTERVAL_US   200

◆ CS_ADC_TIMEOUT_SAMPLES

#define CS_ADC_TIMEOUT_SAMPLES   2

◆ CS_ADC_TIMER

#define CS_ADC_TIMER   NRF_TIMER1

◆ CS_ADC_TIMER_FREQ

#define CS_ADC_TIMER_FREQ   NRF_TIMER_FREQ_16MHz

◆ CS_ADC_TIMER_ID

#define CS_ADC_TIMER_ID   1

◆ CS_ADC_TIMER_IRQ

#define CS_ADC_TIMER_IRQ   TIMER1_IRQHandler

◆ CS_ADC_TIMER_IRQn

#define CS_ADC_TIMER_IRQn   TIMER1_IRQn

◆ CS_CLEAR_GPREGRET_COUNTER_TIMEOUT_S

#define CS_CLEAR_GPREGRET_COUNTER_TIMEOUT_S   60

◆ CS_CONNECTION_PROTOCOL_VERSION

#define CS_CONNECTION_PROTOCOL_VERSION   5

◆ CS_MESH_DEFAULT_TTL

#define CS_MESH_DEFAULT_TTL   10

◆ CS_PWM_GPIOTE_CHANNEL_COUNT

#define CS_PWM_GPIOTE_CHANNEL_COUNT   (CS_PWM_MAX_CHANNELS)

◆ CS_PWM_GPIOTE_CHANNEL_START

#define CS_PWM_GPIOTE_CHANNEL_START   (CS_ADC_GPIOTE_CHANNEL_START + CS_ADC_GPIOTE_CHANNEL_COUNT)

◆ CS_PWM_INSTANCE_INDEX

#define CS_PWM_INSTANCE_INDEX   TIMER4_INSTANCE_INDEX

◆ CS_PWM_IRQn

#define CS_PWM_IRQn   TIMER4_IRQn

◆ CS_PWM_MAX_CHANNELS

#define CS_PWM_MAX_CHANNELS   2

◆ CS_PWM_PPI_CHANNEL_COUNT

#define CS_PWM_PPI_CHANNEL_COUNT   (1 + 2 * CS_PWM_MAX_CHANNELS)

◆ CS_PWM_PPI_CHANNEL_START

#define CS_PWM_PPI_CHANNEL_START   0

◆ CS_PWM_PPI_GROUP_COUNT

#define CS_PWM_PPI_GROUP_COUNT   0

◆ CS_PWM_PPI_GROUP_START

#define CS_PWM_PPI_GROUP_START   0

◆ CS_PWM_TIMER

#define CS_PWM_TIMER   NRF_TIMER4

◆ CS_PWM_TIMER_FREQ

#define CS_PWM_TIMER_FREQ   NRF_TIMER_FREQ_4MHz

◆ CS_PWM_TIMER_ID

#define CS_PWM_TIMER_ID   4

◆ CS_PWM_TIMER_IRQ

#define CS_PWM_TIMER_IRQ   TIMER4_IRQHandler

◆ CS_PWM_TIMER_IRQ_PRIORITY

#define CS_PWM_TIMER_IRQ_PRIORITY   APP_IRQ_PRIORITY_HIGH

◆ CS_WATCHDOG_PRIORITY

#define CS_WATCHDOG_PRIORITY   APP_IRQ_PRIORITY_HIGH

◆ CS_WATCHDOG_TIMEOUT_MS

#define CS_WATCHDOG_TIMEOUT_MS   60000

◆ CURRENT_THRESHOLD_CONSECUTIVE

#define CURRENT_THRESHOLD_CONSECUTIVE   100

◆ CURRENT_THRESHOLD_DIMMER_CONSECUTIVE

#define CURRENT_THRESHOLD_DIMMER_CONSECUTIVE   20

◆ CURRENT_USAGE_THRESHOLD

#define CURRENT_USAGE_THRESHOLD   (16000)

◆ CURRENT_USAGE_THRESHOLD_DIMMER

#define CURRENT_USAGE_THRESHOLD_DIMMER   (1000)

◆ CURRENT_ZERO_EXP_AVG_DISCOUNT

#define CURRENT_ZERO_EXP_AVG_DISCOUNT   100

◆ DEFAULT_CHAR_VALUE_STRING_LENGTH

#define DEFAULT_CHAR_VALUE_STRING_LENGTH   50

maximum length of strings used for characteristic values

◆ DIMMER_BOOT_CHECK_DELAY_MS

#define DIMMER_BOOT_CHECK_DELAY_MS   5000

◆ DIMMER_BOOT_CHECK_POWER_MW

#define DIMMER_BOOT_CHECK_POWER_MW   3000

◆ DIMMER_BOOT_CHECK_POWER_MW_UNCALIBRATED

#define DIMMER_BOOT_CHECK_POWER_MW_UNCALIBRATED   10000

◆ DIMMER_SOFT_ON_SPEED

#define DIMMER_SOFT_ON_SPEED   8

◆ ENCRYPTION_KEY_LENGTH

#define ENCRYPTION_KEY_LENGTH   16

◆ EXTERNAL_STATE_LIST_COUNT

#define EXTERNAL_STATE_LIST_COUNT   10

◆ EXTERNAL_STATE_TIMEOUT_MS

#define EXTERNAL_STATE_TIMEOUT_MS   60000

◆ FACTORY_PROCESS_TIMEOUT

#define FACTORY_PROCESS_TIMEOUT   200

◆ FACTORY_RESET_CODE

#define FACTORY_RESET_CODE   0xdeadbeef

◆ FACTORY_RESET_TIMEOUT

#define FACTORY_RESET_TIMEOUT   60000

◆ MAX_CONNECTION_INTERVAL

#define MAX_CONNECTION_INTERVAL   6

◆ MAX_SCHEDULE_ENTRIES

#define MAX_SCHEDULE_ENTRIES   10

◆ MAX_STRING_STORAGE_SIZE

#define MAX_STRING_STORAGE_SIZE   31

define the maximum size for strings to be stored

◆ MESH_SEND_STATE_INTERVAL_MS

#define MESH_SEND_STATE_INTERVAL_MS   (50 * 1000)

◆ MESH_SEND_STATE_INTERVAL_MS_VARIATION

#define MESH_SEND_STATE_INTERVAL_MS_VARIATION   (20 * 1000)

◆ MESH_SEND_TIME_INTERVAL_MS

#define MESH_SEND_TIME_INTERVAL_MS   (50 * 1000)

◆ MESH_SEND_TIME_INTERVAL_MS_VARIATION

#define MESH_SEND_TIME_INTERVAL_MS_VARIATION   (20 * 1000)

◆ MESH_SYNC_GIVE_UP_MS

#define MESH_SYNC_GIVE_UP_MS   (60 * 1000)

◆ MESH_SYNC_RETRY_INTERVAL_MS

#define MESH_SYNC_RETRY_INTERVAL_MS   (2500)

◆ MIN_CONNECTION_INTERVAL

#define MIN_CONNECTION_INTERVAL   6

◆ NEGATIVE_POWER_THRESHOLD_WATT

#define NEGATIVE_POWER_THRESHOLD_WATT   -10.0f

◆ NEGATIVE_POWER_THRESHOLD_WATT_CS_ZERO

#define NEGATIVE_POWER_THRESHOLD_WATT_CS_ZERO   -20.0f

◆ POWER_DIFF_THRESHOLD_MIN_WATT

#define POWER_DIFF_THRESHOLD_MIN_WATT   10.0f

◆ POWER_DIFF_THRESHOLD_MIN_WATT_CS_ZERO

#define POWER_DIFF_THRESHOLD_MIN_WATT_CS_ZERO   15.0f

◆ POWER_DIFF_THRESHOLD_PART

#define POWER_DIFF_THRESHOLD_PART   0.10f

◆ POWER_DIFF_THRESHOLD_PART_CS_ZERO

#define POWER_DIFF_THRESHOLD_PART_CS_ZERO   0.10f

◆ POWER_EXP_AVG_DISCOUNT

#define POWER_EXP_AVG_DISCOUNT   200

◆ POWER_SAMPLING_CURVE_HALF_WINDOW_SIZE

#define POWER_SAMPLING_CURVE_HALF_WINDOW_SIZE   5

◆ POWER_SAMPLING_RMS_WINDOW_SIZE

#define POWER_SAMPLING_RMS_WINDOW_SIZE   9

◆ PWM_BOOT_DELAY_MS

#define PWM_BOOT_DELAY_MS   60000

◆ PWM_PERIOD

#define PWM_PERIOD   10000L

◆ SCHED_MAX_EVENT_DATA_SIZE

#define SCHED_MAX_EVENT_DATA_SIZE   (MAX(20, MAX(APP_TIMER_SCHED_EVENT_DATA_SIZE, NRF_SDH_BLE_EVT_BUF_SIZE)))

Maximum size of scheduler events.

TODO: NRF_SDH_BLE_EVT_BUF_SIZE is very large, examples don't use it. Maybe we can use a smaller size?

◆ SCHED_QUEUE_SIZE

#define SCHED_QUEUE_SIZE   32

Maximum number of events in the scheduler queue.

The scheduler will require a buffer of size: (SCHED_MAX_EVENT_DATA_SIZE + APP_SCHED_EVENT_HEADER_SIZE) * (SCHED_QUEUE_SIZE + 1)

◆ SCHEDULE_BIG_TIME_JUMP

#define SCHEDULE_BIG_TIME_JUMP   (75*60)

◆ SCHEDULER_QUEUE_ALMOST_FULL

#define SCHEDULER_QUEUE_ALMOST_FULL   (SCHED_QUEUE_SIZE - 10)

◆ SEC_PARAM_BOND

#define SEC_PARAM_BOND   1 /** < Perform bonding. */

◆ SEC_PARAM_IO_CAPABILITIES

#define SEC_PARAM_IO_CAPABILITIES   BLE_GAP_IO_CAPS_DISPLAY_ONLY /** < No I/O capabilities. */

◆ SEC_PARAM_MAX_KEY_SIZE

#define SEC_PARAM_MAX_KEY_SIZE   16 /** < Maximum encryption key size. */

◆ SEC_PARAM_MIN_KEY_SIZE

#define SEC_PARAM_MIN_KEY_SIZE   7 /** < Minimum encryption key size. */

◆ SEC_PARAM_MITM

#define SEC_PARAM_MITM   1 /** < Man In The Middle protection not required. */

◆ SEC_PARAM_OOB

#define SEC_PARAM_OOB   0 /** < Out Of Band data not available. */

◆ SEC_PARAM_TIMEOUT

#define SEC_PARAM_TIMEOUT   30 /** < Timeout for Pairing Request or Security Request (in seconds). */

◆ SECURITY_REQUEST_DELAY

#define SECURITY_REQUEST_DELAY   1500

Delay after connection until security request is sent, if necessary (ms).

◆ SLAVE_LATENCY

#define SLAVE_LATENCY   0

◆ STATE_ACCUMULATED_ENERGY_DEFAULT

#define STATE_ACCUMULATED_ENERGY_DEFAULT   0

◆ STATE_BEHAVIOUR_MASTER_HASH_DEFAULT

#define STATE_BEHAVIOUR_MASTER_HASH_DEFAULT   0

◆ STATE_BEHAVIOUR_SETTINGS_DEFAULT

#define STATE_BEHAVIOUR_SETTINGS_DEFAULT   1

◆ STATE_ERRORS_DEFAULT

#define STATE_ERRORS_DEFAULT   0

◆ STATE_FACTORY_RESET_DEFAULT

#define STATE_FACTORY_RESET_DEFAULT   0

◆ STATE_HUB_MODE_DEFAULT

#define STATE_HUB_MODE_DEFAULT   0

◆ STATE_OPERATION_MODE_DEFAULT

#define STATE_OPERATION_MODE_DEFAULT   0

◆ STATE_POWER_USAGE_DEFAULT

#define STATE_POWER_USAGE_DEFAULT   0

◆ STATE_RESET_COUNTER_DEFAULT

#define STATE_RESET_COUNTER_DEFAULT   0

◆ STATE_RETRY_STORE_DELAY_MS

#define STATE_RETRY_STORE_DELAY_MS   200

◆ STATE_SWITCH_STATE_DEFAULT

#define STATE_SWITCH_STATE_DEFAULT   0

◆ STATE_TEMPERATURE_DEFAULT

#define STATE_TEMPERATURE_DEFAULT   0

◆ STORAGE_REQUEST_BUFFER_SIZE

#define STORAGE_REQUEST_BUFFER_SIZE   5

◆ SUN_TIME_THROTTLE_PERIOD_SECONDS

#define SUN_TIME_THROTTLE_PERIOD_SECONDS   (60*60*24)

◆ SWITCH_CLAIM_TIME_MS

#define SWITCH_CLAIM_TIME_MS   2000

Time that switch commands of other sources are ignored.

◆ SWITCH_DELAYED_STORE_MS

#define SWITCH_DELAYED_STORE_MS   (10 * 1000)

◆ SWITCH_ON_AT_SETUP_BOOT_DELAY

#define SWITCH_ON_AT_SETUP_BOOT_DELAY   3600

◆ SWITCHCRAFT_THRESHOLD

#define SWITCHCRAFT_THRESHOLD   (500000)

◆ TICK_INTERVAL_MS

#define TICK_INTERVAL_MS   100

Interval in milliseconds at which tick events are dispatched.

◆ VOLTAGE_ZERO_EXP_AVG_DISCOUNT

#define VOLTAGE_ZERO_EXP_AVG_DISCOUNT   20

Variable Documentation

◆ DEFAULT_DIM_VALUE

const uint8_t DEFAULT_DIM_VALUE = 40
static

The default default dim value.

◆ SWITCHCRAFT_DOUBLE_TAP_TIMEOUT_MS

const uint32_t SWITCHCRAFT_DOUBLE_TAP_TIMEOUT_MS = 1000
static

If 2 switchcraft events happen within this time, it will be regarded as a double tap.