Smart Remote 3 nRF52 v1.2
Introduction
API Reference
Modules
Data Structures
All
Data Structures
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
sr3_config.h
1
/*$$$LICENCE_NORDIC_STANDARD<2016>$$$*/
2
3
#ifndef _SR3_CONFIG_H
4
#define _SR3_CONFIG_H
5
6
#include "nordic_common.h"
7
8
// SoC configuration:
9
#define APP_TIMER_PRESCALER 0
10
#define IS_IO_VALID(io) (((io) & ~0x1F) == 0)
11
12
// Audio codecs:
13
#define CONFIG_AUDIO_CODEC_ADPCM 1
14
#define CONFIG_AUDIO_CODEC_BV32FP 2
15
#define CONFIG_AUDIO_CODEC_OPUS 3
16
#define CONFIG_AUDIO_CODEC_SBC 4
17
18
// OPUS modes:
19
#define CONFIG_OPUS_MODE_CELT (1 << 0)
20
#define CONFIG_OPUS_MODE_SILK (1 << 1)
21
#define CONFIG_OPUS_MODE_HYBRID (CONFIG_OPUS_MODE_CELT | CONFIG_OPUS_MODE_SILK)
22
23
// SBC modes:
24
#define CONFIG_SBC_MODE_MSBC 0
25
#define CONFIG_SBC_MODE_CUSTOM 1
26
27
// PDM microphones:
28
#define CONFIG_PDM_MIC_LEFT 1
29
#define CONFIG_PDM_MIC_RIGHT 2
30
31
// Keyboard drivers:
32
#define CONFIG_KBD_DRIVER_GPIO 1
33
#define CONFIG_KBD_DRIVER_SX1509 2
34
35
// Accelerometer drivers:
36
#define CONFIG_ACC_DRIVER_LIS3DH 1
37
#define CONFIG_ACC_DRIVER_BMA222E 2
38
39
// IR TX protocols:
40
#define CONFIG_IR_TX_PROTOCOL_SIRC 1
41
#define CONFIG_IR_TX_PROTOCOL_NEC 2
42
43
// CLI Logger interface:
44
#define CONFIG_CL_INTERFACE_LOGGER 1
45
#define CONFIG_CL_INTERFACE_CLI 2
46
47
// Connection bandwidth tag:
48
#define CONFIG_CONN_CFG_HIGH_BW_TAG 1
49
50
// Fetch board configuration:
51
#if defined(CONFIG_BOARD_NRF52832_PCA20023)
52
# define CONFIG_BOARD "PCA20023 (Smart Remote 3 nRF52832 Product Example)"
53
# include "sr3_config_nrf52832_pca20023.h"
54
#elif defined(CONFIG_BOARD_NRF52832_PCA63519)
55
# define CONFIG_BOARD "PCA63519 (Smart Remote 3 nRF52832 Shield)"
56
# include "sr3_config_nrf52832_pca63519.h"
57
#elif defined(CONFIG_BOARD_NRF52832_CUSTOM)
58
# define CONFIG_BOARD "CUSTOM (Smart Remote 3 nRF52832 Custom version)"
59
# include "sr3_config_nrf52832_custom.h"
60
#elif defined(CONFIG_BOARD_NRF52810_PCA20031)
61
# define CONFIG_BOARD "PCA20031 (Smart Remote 3 nRF52810 Product Example)"
62
# include "sr3_config_nrf52810_pca20031.h"
63
#elif defined(CONFIG_BOARD_NRF52810_CUSTOM)
64
# define CONFIG_BOARD "CUSTOM (Smart Remote 3 nRF52810 Custom version)"
65
# include "sr3_config_nrf52810_custom.h"
66
#else
67
# define CONFIG_BOARD "UNKNOWN"
68
# error "CONFIG_BOARD_xxx is not defined!"
69
#endif
70
71
// Fetch audio configuration:
72
#include "sr3_config_audio.h"
73
74
// Obtain Logger configuration.
75
#define CONFIG_LOG_RTT_ENABLED (CONFIG_CL_RTT_ENABLED && \
76
((CONFIG_CL_RTT_INTERFACE == CONFIG_CL_INTERFACE_LOGGER) || \
77
((CONFIG_CL_RTT_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CLI_RTT_LOG_BACKEND_ENABLED)))
78
79
#define CONFIG_LOG_UART_ENABLED (CONFIG_CL_UART_ENABLED && \
80
((CONFIG_CL_UART_INTERFACE == CONFIG_CL_INTERFACE_LOGGER) || \
81
((CONFIG_CL_UART_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CLI_UART_LOG_BACKEND_ENABLED)))
82
83
#define CONFIG_LOG_CLI_ENABLED ((((CONFIG_CL_RTT_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CLI_RTT_LOG_BACKEND_ENABLED) && CONFIG_CL_RTT_ENABLED) || \
84
(((CONFIG_CL_UART_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CLI_UART_LOG_BACKEND_ENABLED) && CONFIG_CL_UART_ENABLED) || \
85
(CONFIG_CLI_BLE_LOG_BACKEND_ENABLED && CONFIG_CLI_BLE_ENABLED))
86
87
#define CONFIG_LOG_ENABLED (CONFIG_LOG_RTT_ENABLED || CONFIG_LOG_UART_ENABLED || CONFIG_LOG_CLI_ENABLED)
88
89
#if CONFIG_LOG_CLI_ENABLED
90
# define CONFIG_LOG_COMPILED_IN_LEVEL CONFIG_LOG_LEVEL_CAP
91
#elif (CONFIG_LOG_RTT_ENABLED && CONFIG_LOG_UART_ENABLED)
92
# define CONFIG_LOG_COMPILED_IN_LEVEL MIN(CONFIG_LOG_LEVEL_CAP, MAX(CONFIG_LOG_RTT_SEVERITY, CONFIG_LOG_UART_SEVERITY))
93
#elif CONFIG_LOG_RTT_ENABLED
94
# define CONFIG_LOG_COMPILED_IN_LEVEL MIN(CONFIG_LOG_LEVEL_CAP, CONFIG_LOG_RTT_SEVERITY)
95
#elif CONFIG_LOG_UART_ENABLED
96
# define CONFIG_LOG_COMPILED_IN_LEVEL MIN(CONFIG_LOG_LEVEL_CAP, CONFIG_LOG_UART_SEVERITY)
97
#else
98
# define CONFIG_LOG_COMPILED_IN_LEVEL 0
99
#endif
100
101
// Obtain CLI configuration.
102
#define CONFIG_CLI_RTT_ENABLED ((CONFIG_CL_RTT_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CL_RTT_ENABLED)
103
#define CONFIG_CLI_UART_ENABLED ((CONFIG_CL_UART_INTERFACE == CONFIG_CL_INTERFACE_CLI) && CONFIG_CL_UART_ENABLED)
104
105
#define CONFIG_CLI_ENABLED (CONFIG_CLI_BLE_ENABLED || CONFIG_CLI_RTT_ENABLED || CONFIG_CLI_UART_ENABLED)
106
107
// Obtain PWM configuration.
108
#define CONFIG_PWM_INSTANCES_NEEDED (CONFIG_IR_TX_ENABLED + CONFIG_BUZZER_ENABLED)
109
#define CONFIG_PWM0_ENABLED (CONFIG_PWM_INSTANCES_NEEDED > 0)
110
#define CONFIG_PWM1_ENABLED (CONFIG_PWM_INSTANCES_NEEDED > 1)
111
112
#if CONFIG_IR_TX_ENABLED && CONFIG_BUZZER_ENABLED
113
# ifdef NRF52810_XXAA
114
# error "The nRF52810 does not have enough PWM instances for the selected configuration!"
115
# endif
116
# define CONFIG_IR_TX_PWM_INSTANCE NRF_DRV_PWM_INSTANCE(0)
117
# define CONFIG_BUZZER_PWM_INSTANCE NRF_DRV_PWM_INSTANCE(1)
118
#elif CONFIG_BUZZER_ENABLED
119
# define CONFIG_BUZZER_PWM_INSTANCE NRF_DRV_PWM_INSTANCE(0)
120
#else
121
# define CONFIG_IR_TX_PWM_INSTANCE NRF_DRV_PWM_INSTANCE(0)
122
#endif
123
124
// Obtain TWI configuration.
125
#define CONFIG_TWI0_ENABLED ((CONFIG_ACC_ENABLED && (CONFIG_ACC_TWI_BUS == 0)) || \
126
(CONFIG_GYRO_ENABLED && (CONFIG_GYRO_TWI_BUS == 0)) || \
127
(CONFIG_KBD_ENABLED && (CONFIG_KBD_DRIVER == CONFIG_KBD_DRIVER_SX1509) && (CONFIG_KBD_TWI_BUS == 0)) || \
128
(CONFIG_TOUCHPAD_ENABLED && (CONFIG_TOUCHPAD_TWI_BUS == 0)))
129
130
#define CONFIG_TWI1_ENABLED ((CONFIG_ACC_ENABLED && (CONFIG_ACC_TWI_BUS == 1)) || \
131
(CONFIG_GYRO_ENABLED && (CONFIG_GYRO_TWI_BUS == 1)) || \
132
(CONFIG_KBD_ENABLED && (CONFIG_KBD_DRIVER == CONFIG_KBD_DRIVER_SX1509) && (CONFIG_KBD_TWI_BUS == 1)) || \
133
(CONFIG_TOUCHPAD_ENABLED && (CONFIG_TOUCHPAD_TWI_BUS == 1)))
134
135
// Obtain stack guard configuration.
136
#if CONFIG_STACK_GUARD_ENABLED
137
# define CONFIG_STACK_SIZE_GUARD (1 << CONFIG_STACK_GUARD_CONFIG_SIZE)
138
#else
/* !NRF_STACK_GUARD_ENABLED */
139
# define CONFIG_STACK_SIZE_GUARD 0
140
#endif
/* NRF_STACK_GUARD_ENABLED */
141
142
#define CONFIG_STACK_SIZE (CONFIG_STACK_SIZE_BASE + CONFIG_STACK_SIZE_AUDIO + CONFIG_STACK_SIZE_GUARD)
143
144
// Check if dynamic BLE address management is needed.
145
#define CONFIG_BLE_DYNAMIC_ADDR_ENABLED (CONFIG_SEC_BOND && (CONFIG_MAX_BONDS > 1) && CONFIG_CHANGE_ADDRESS)
146
147
// Check if peer rank management is needed.
148
#define CONFIG_BLE_PEER_RANK_ENABLED (CONFIG_SEC_BOND && (CONFIG_MAX_BONDS > 1))
149
150
// Check if RNG monitor is needed.
151
#define CONFIG_RNG_MONITOR_ENABLED (CONFIG_SEC_LESC_PAIRING || CONFIG_NFC_ENABLED)
152
153
// Fetch HID configuration:
154
#include "sr3_config_hid.h"
155
156
// Fetch IR configuration:
157
#include "sr3_config_ir.h"
158
159
// Fetch buzzer configuration:
160
#include "sr3_config_buzzer.h"
161
162
#endif
/* _SR3_CONFIG_H */
Documentation feedback
|
Developer Zone
|
Subscribe
| Updated