Bluenet
5.7.0
Bluenet, firmware for nRF52 smart home devices
|
Go to the source code of this file.
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... | |
#define ADVERTISING_REFRESH_PERIOD 500 |
#define ADVERTISING_REFRESH_PERIOD_SETUP 500 |
#define APP_BLE_CONN_CFG_TAG 1 |
#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.
#define APP_TIMER_PRESCALER 0 |
Priorities of the different peripherals.
#define BROWNOUT_TRIGGER_THRESHOLD NRF_POWER_THRESHOLD_V27 |
#define CONFIG_POWER_ZERO_INVALID 0x7FFFFFFF |
#define CONNECTION_SUPERVISION_TIMEOUT 100 |
#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:
#define CS_ADC_GPIOTE_CHANNEL_COUNT 1 |
#define CS_ADC_GPIOTE_CHANNEL_START 0 |
#define CS_ADC_INSTANCE_INDEX TIMER1_INSTANCE_INDEX |
#define CS_ADC_IRQ SAADC_IRQHandler |
#define CS_ADC_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH |
#define CS_ADC_NUM_BUFFERS 9 |
#define CS_ADC_NUM_CHANNELS 2 |
#define CS_ADC_NUM_SAMPLES_PER_CHANNEL (20000 / CS_ADC_SAMPLE_INTERVAL_US) |
#define CS_ADC_PPI_CHANNEL_COUNT 2 |
#define CS_ADC_PPI_CHANNEL_START 12 |
#define CS_ADC_PPI_GROUP_COUNT 0 |
#define CS_ADC_PPI_GROUP_START (CS_PWM_PPI_GROUP_START + CS_PWM_PPI_GROUP_COUNT) |
#define CS_ADC_RESOLUTION NRF_SAADC_RESOLUTION_12BIT |
#define CS_ADC_SAMPLE_INTERVAL_US 200 |
#define CS_ADC_TIMEOUT_SAMPLES 2 |
#define CS_ADC_TIMER NRF_TIMER1 |
#define CS_ADC_TIMER_FREQ NRF_TIMER_FREQ_16MHz |
#define CS_ADC_TIMER_ID 1 |
#define CS_ADC_TIMER_IRQ TIMER1_IRQHandler |
#define CS_ADC_TIMER_IRQn TIMER1_IRQn |
#define CS_CLEAR_GPREGRET_COUNTER_TIMEOUT_S 60 |
#define CS_CONNECTION_PROTOCOL_VERSION 5 |
#define CS_MESH_DEFAULT_TTL 10 |
#define CS_PWM_GPIOTE_CHANNEL_COUNT (CS_PWM_MAX_CHANNELS) |
#define CS_PWM_GPIOTE_CHANNEL_START (CS_ADC_GPIOTE_CHANNEL_START + CS_ADC_GPIOTE_CHANNEL_COUNT) |
#define CS_PWM_INSTANCE_INDEX TIMER4_INSTANCE_INDEX |
#define CS_PWM_IRQn TIMER4_IRQn |
#define CS_PWM_MAX_CHANNELS 2 |
#define CS_PWM_PPI_CHANNEL_COUNT (1 + 2 * CS_PWM_MAX_CHANNELS) |
#define CS_PWM_PPI_CHANNEL_START 0 |
#define CS_PWM_PPI_GROUP_COUNT 0 |
#define CS_PWM_PPI_GROUP_START 0 |
#define CS_PWM_TIMER NRF_TIMER4 |
#define CS_PWM_TIMER_FREQ NRF_TIMER_FREQ_4MHz |
#define CS_PWM_TIMER_ID 4 |
#define CS_PWM_TIMER_IRQ TIMER4_IRQHandler |
#define CS_PWM_TIMER_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH |
#define CS_WATCHDOG_PRIORITY APP_IRQ_PRIORITY_HIGH |
#define CS_WATCHDOG_TIMEOUT_MS 60000 |
#define CURRENT_THRESHOLD_CONSECUTIVE 100 |
#define CURRENT_THRESHOLD_DIMMER_CONSECUTIVE 20 |
#define CURRENT_USAGE_THRESHOLD (16000) |
#define CURRENT_USAGE_THRESHOLD_DIMMER (1000) |
#define CURRENT_ZERO_EXP_AVG_DISCOUNT 100 |
#define DEFAULT_CHAR_VALUE_STRING_LENGTH 50 |
maximum length of strings used for characteristic values
#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 ENCRYPTION_KEY_LENGTH 16 |
#define EXTERNAL_STATE_LIST_COUNT 10 |
#define EXTERNAL_STATE_TIMEOUT_MS 60000 |
#define FACTORY_PROCESS_TIMEOUT 200 |
#define FACTORY_RESET_CODE 0xdeadbeef |
#define FACTORY_RESET_TIMEOUT 60000 |
#define MAX_CONNECTION_INTERVAL 6 |
#define MAX_SCHEDULE_ENTRIES 10 |
#define MAX_STRING_STORAGE_SIZE 31 |
define the maximum size for strings to be stored
#define MESH_SEND_STATE_INTERVAL_MS (50 * 1000) |
#define MESH_SEND_STATE_INTERVAL_MS_VARIATION (20 * 1000) |
#define MESH_SEND_TIME_INTERVAL_MS (50 * 1000) |
#define MESH_SEND_TIME_INTERVAL_MS_VARIATION (20 * 1000) |
#define MESH_SYNC_GIVE_UP_MS (60 * 1000) |
#define MESH_SYNC_RETRY_INTERVAL_MS (2500) |
#define MIN_CONNECTION_INTERVAL 6 |
#define NEGATIVE_POWER_THRESHOLD_WATT -10.0f |
#define NEGATIVE_POWER_THRESHOLD_WATT_CS_ZERO -20.0f |
#define POWER_DIFF_THRESHOLD_MIN_WATT 10.0f |
#define POWER_DIFF_THRESHOLD_MIN_WATT_CS_ZERO 15.0f |
#define POWER_DIFF_THRESHOLD_PART 0.10f |
#define POWER_DIFF_THRESHOLD_PART_CS_ZERO 0.10f |
#define POWER_EXP_AVG_DISCOUNT 200 |
#define POWER_SAMPLING_CURVE_HALF_WINDOW_SIZE 5 |
#define POWER_SAMPLING_RMS_WINDOW_SIZE 9 |
#define PWM_BOOT_DELAY_MS 60000 |
#define PWM_PERIOD 10000L |
#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?
#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)
#define SCHEDULE_BIG_TIME_JUMP (75*60) |
#define SCHEDULER_QUEUE_ALMOST_FULL (SCHED_QUEUE_SIZE - 10) |
#define SEC_PARAM_BOND 1 /** < Perform bonding. */ |
#define SEC_PARAM_IO_CAPABILITIES BLE_GAP_IO_CAPS_DISPLAY_ONLY /** < No I/O capabilities. */ |
#define SEC_PARAM_MAX_KEY_SIZE 16 /** < Maximum encryption key size. */ |
#define SEC_PARAM_MIN_KEY_SIZE 7 /** < Minimum encryption key size. */ |
#define SEC_PARAM_MITM 1 /** < Man In The Middle protection not required. */ |
#define SEC_PARAM_OOB 0 /** < Out Of Band data not available. */ |
#define SEC_PARAM_TIMEOUT 30 /** < Timeout for Pairing Request or Security Request (in seconds). */ |
#define SECURITY_REQUEST_DELAY 1500 |
Delay after connection until security request is sent, if necessary (ms).
#define SLAVE_LATENCY 0 |
#define STATE_ACCUMULATED_ENERGY_DEFAULT 0 |
#define STATE_BEHAVIOUR_MASTER_HASH_DEFAULT 0 |
#define STATE_BEHAVIOUR_SETTINGS_DEFAULT 1 |
#define STATE_ERRORS_DEFAULT 0 |
#define STATE_FACTORY_RESET_DEFAULT 0 |
#define STATE_HUB_MODE_DEFAULT 0 |
#define STATE_OPERATION_MODE_DEFAULT 0 |
#define STATE_POWER_USAGE_DEFAULT 0 |
#define STATE_RESET_COUNTER_DEFAULT 0 |
#define STATE_RETRY_STORE_DELAY_MS 200 |
#define STATE_SWITCH_STATE_DEFAULT 0 |
#define STATE_TEMPERATURE_DEFAULT 0 |
#define STORAGE_REQUEST_BUFFER_SIZE 5 |
#define SUN_TIME_THROTTLE_PERIOD_SECONDS (60*60*24) |
#define SWITCH_CLAIM_TIME_MS 2000 |
Time that switch commands of other sources are ignored.
#define SWITCH_DELAYED_STORE_MS (10 * 1000) |
#define SWITCH_ON_AT_SETUP_BOOT_DELAY 3600 |
#define SWITCHCRAFT_THRESHOLD (500000) |
#define TICK_INTERVAL_MS 100 |
Interval in milliseconds at which tick events are dispatched.
#define VOLTAGE_ZERO_EXP_AVG_DISCOUNT 20 |
|
static |
The default default dim value.
|
static |
If 2 switchcraft events happen within this time, it will be regarded as a double tap.