43 #include "sdk_config.h" 44 #include "drv_ext_light.h" 45 #include "drv_ext_gpio.h" 47 #include "nrf_saadc.h" 49 #define MPU9250_ADDR 0x68 50 #define LPS22HB_ADDR 0x5C 51 #define BH1745_ADDR 0x38 52 #define SX1509_ADDR 0x3E 53 #define CCS811_ADDR 0x5A 54 #define HTS221_ADDR 0x5F 56 #if defined(THINGY_HW_v0_8_0) 57 #define LIS2DH12_ADDR 0x18 58 #elif defined(THINGY_HW_v0_9_0) 59 #define LIS2DH12_ADDR 0x18 61 #define LIS2DH12_ADDR 0x19 64 #define TWI_SENSOR_INSTANCE 0 76 #define NRF_PIN_OUTPUT_CLEAR {NRF_GPIO_PIN_DIR_OUTPUT, \ 77 NRF_GPIO_PIN_INPUT_DISCONNECT, \ 78 NRF_GPIO_PIN_NOPULL, \ 80 NRF_GPIO_PIN_NOSENSE, \ 83 #define NRF_PIN_OUTPUT_SET {NRF_GPIO_PIN_DIR_OUTPUT, \ 84 NRF_GPIO_PIN_INPUT_DISCONNECT, \ 85 NRF_GPIO_PIN_NOPULL, \ 87 NRF_GPIO_PIN_NOSENSE, \ 90 #define NRF_PIN_DISCON_PULLUP {NRF_GPIO_PIN_DIR_INPUT, \ 91 NRF_GPIO_PIN_INPUT_DISCONNECT, \ 92 NRF_GPIO_PIN_PULLUP, \ 94 NRF_GPIO_PIN_NOSENSE, \ 97 #define NRF_PIN_DISCON_NOPULL {NRF_GPIO_PIN_DIR_INPUT, \ 98 NRF_GPIO_PIN_INPUT_DISCONNECT, \ 99 NRF_GPIO_PIN_NOPULL, \ 101 NRF_GPIO_PIN_NOSENSE, \ 104 #define NRF_PIN_DISCON_PULLDOWN {NRF_GPIO_PIN_DIR_INPUT, \ 105 NRF_GPIO_PIN_INPUT_DISCONNECT, \ 106 NRF_GPIO_PIN_PULLDOWN, \ 108 NRF_GPIO_PIN_NOSENSE, \ 112 #define SX_PIN_OUTPUT_CLEAR {DRV_EXT_GPIO_PIN_DIR_OUTPUT, \ 113 DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED, \ 114 DRV_EXT_GPIO_PIN_NOPULL, \ 115 DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL, \ 116 DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED, \ 119 #define SX_PIN_OUTPUT_SET {DRV_EXT_GPIO_PIN_DIR_OUTPUT, \ 120 DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED, \ 121 DRV_EXT_GPIO_PIN_NOPULL, \ 122 DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL, \ 123 DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED, \ 126 #define SX_PIN_INPUT_NOPULL {DRV_EXT_GPIO_PIN_DIR_INPUT, \ 127 DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED, \ 128 DRV_EXT_GPIO_PIN_NOPULL, \ 129 DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL, \ 130 DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED, \ 133 #define SX_PIN_INPUT_PULLDOWN {DRV_EXT_GPIO_PIN_DIR_INPUT, \ 134 DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED, \ 135 DRV_EXT_GPIO_PIN_PULLDOWN, \ 136 DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL, \ 137 DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED, \ 140 #define SX_PIN_INPUT_PULLUP {DRV_EXT_GPIO_PIN_DIR_INPUT, \ 141 DRV_EXT_GPIO_PIN_INPUT_BUF_ENABLED, \ 142 DRV_EXT_GPIO_PIN_PULLUP, \ 143 DRV_EXT_GPIO_PIN_DRIVE_PUSHPULL, \ 144 DRV_EXT_GPIO_PIN_INCREASED_SLEWRATE_DISABLED, \ 149 nrf_gpio_pin_dir_t dir;
150 nrf_gpio_pin_input_t input;
151 nrf_gpio_pin_pull_t pull;
152 nrf_gpio_pin_drive_t drive;
153 nrf_gpio_pin_sense_t sense;
154 pin_output_state_t state;
164 pin_output_state_t state;
174 #define SX_IOEXT_NUM_PINS 16 177 #define IOEXT_PIN00_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 180 #define IOEXT_PIN01_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 183 #define IOEXT_PIN02_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 185 #if defined(THINGY_HW_v0_7_0) 186 #define SX_BAT_CHG_EN 3 187 #define IOEXT_PIN03_SYSTEM_DEFAULT_CFG SX_PIN_INPUT_NOPULL 188 #elif defined(THINGY_HW_v0_8_0) 189 #define SX_BAT_CHG_EN 3 190 #define IOEXT_PIN03_SYSTEM_DEFAULT_CFG SX_PIN_INPUT_NOPULL 193 #define IOEXT_PIN03_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 196 #if defined(THINGY_HW_v0_7_0) 197 #define SX_SPK_PWR_CTRL 4 198 #define IOEXT_PIN04_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 199 #elif defined(THINGY_HW_v0_8_0) 200 #define SX_SPK_PWR_CTRL 4 201 #define IOEXT_PIN04_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 203 #define SX_BAT_MON_EN 4 204 #define IOEXT_PIN04_SYSTEM_DEFAULT_CFG SX_PIN_INPUT_NOPULL 207 #define SX_LIGHTWELL_G 5 208 #define IOEXT_PIN05_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 210 #define SX_LIGHTWELL_B 6 211 #define IOEXT_PIN06_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 213 #define SX_LIGHTWELL_R 7 214 #define IOEXT_PIN07_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 216 #if defined(THINGY_HW_v0_7_0) 217 #define SX_MPU_PWR_CTRL 8 218 #define IOEXT_PIN08_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 219 #elif defined(THINGY_HW_v0_8_0) 220 #define SX_MPU_PWR_CTRL 8 221 #define IOEXT_PIN08_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 222 #elif defined(THINGY_HW_v0_9_0) 223 #define SX_MPU_PWR_CTRL 8 224 #define IOEXT_PIN08_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 226 #define SX_MPU_PWR_CTRL 8 227 #define IOEXT_PIN08_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 230 #if defined(THINGY_HW_v0_7_0) 231 #define SX_MIC_PWR_CTRL 9 232 #define IOEXT_PIN09_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 233 #elif defined(THINGY_HW_v0_8_0) 234 #define SX_MIC_PWR_CTRL 9 235 #define IOEXT_PIN09_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 236 #elif defined(THINGY_HW_v0_9_0) 237 #define SX_MIC_PWR_CTRL 9 238 #define IOEXT_PIN09_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 240 #define SX_MIC_PWR_CTRL 9 241 #define IOEXT_PIN09_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 244 #if defined(THINGY_HW_v0_7_0) 245 #define SX_CCS_PWR_CTRL 10 246 #define IOEXT_PIN10_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 247 #elif defined(THINGY_HW_v0_8_0) 248 #define SX_CCS_PWR_CTRL 10 249 #define IOEXT_PIN10_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 250 #elif defined(THINGY_HW_v0_9_0) 251 #define SX_CCS_PWR_CTRL 10 252 #define IOEXT_PIN10_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 254 #define SX_CCS_PWR_CTRL 10 255 #define IOEXT_PIN10_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_CLEAR 258 #define SX_CCS_RESET 11 259 #define IOEXT_PIN11_SYSTEM_DEFAULT_CFG SX_PIN_INPUT_PULLDOWN 261 #define SX_CCS_WAKE 12 262 #define IOEXT_PIN12_SYSTEM_DEFAULT_CFG SX_PIN_INPUT_PULLDOWN 264 #define SX_SENSE_LED_R 13 265 #define IOEXT_PIN13_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 267 #define SX_SENSE_LED_G 14 268 #define IOEXT_PIN14_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 270 #define SX_SENSE_LED_B 15 271 #define IOEXT_PIN15_SYSTEM_DEFAULT_CFG SX_PIN_OUTPUT_SET 273 #define IOEXT_SYSTEM_DEFAULT_PIN_CFG \ 275 IOEXT_PIN00_SYSTEM_DEFAULT_CFG, \ 276 IOEXT_PIN01_SYSTEM_DEFAULT_CFG, \ 277 IOEXT_PIN02_SYSTEM_DEFAULT_CFG, \ 278 IOEXT_PIN03_SYSTEM_DEFAULT_CFG, \ 279 IOEXT_PIN04_SYSTEM_DEFAULT_CFG, \ 280 IOEXT_PIN05_SYSTEM_DEFAULT_CFG, \ 281 IOEXT_PIN06_SYSTEM_DEFAULT_CFG, \ 282 IOEXT_PIN07_SYSTEM_DEFAULT_CFG, \ 283 IOEXT_PIN08_SYSTEM_DEFAULT_CFG, \ 284 IOEXT_PIN09_SYSTEM_DEFAULT_CFG, \ 285 IOEXT_PIN10_SYSTEM_DEFAULT_CFG, \ 286 IOEXT_PIN11_SYSTEM_DEFAULT_CFG, \ 287 IOEXT_PIN12_SYSTEM_DEFAULT_CFG, \ 288 IOEXT_PIN13_SYSTEM_DEFAULT_CFG, \ 289 IOEXT_PIN14_SYSTEM_DEFAULT_CFG, \ 290 IOEXT_PIN15_SYSTEM_DEFAULT_CFG \ 294 #define NRF_NUM_GPIO_PINS 32 297 #define PIN00_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 300 #define PIN01_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 303 #define PIN02_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 306 #define PIN03_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 309 #define PIN04_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 311 #if defined(THINGY_HW_v0_7_0) 313 #define PIN05_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 314 #elif defined(THINGY_HW_v0_8_0) 316 #define PIN05_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 317 #elif defined(THINGY_HW_v0_9_0) 319 #define PIN05_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 321 #define IOEXT_OSCIO 5 322 #define PIN05_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 326 #define PIN06_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 329 #define PIN07_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 332 #define PIN08_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 335 #define PIN09_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 338 #define PIN10_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 341 #define PIN11_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLUP 344 #define PIN12_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 346 #define USB_DETECT 13 347 #define PIN13_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 349 #define TWI_SDA_EXT 14 350 #define PIN14_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 352 #define TWI_SCL_EXT 15 353 #define PIN15_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 356 #define PIN16_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 358 #define BAT_CHG_STAT 17 359 #define PIN17_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 362 #define PIN18_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 365 #define PIN19_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 368 #define PIN20_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 371 #define PIN21_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 374 #define PIN22_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 377 #if defined(THINGY_HW_v0_7_0) 378 #define PIN23_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 379 #elif defined(THINGY_HW_v0_8_0) 380 #define PIN23_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 381 #elif defined(THINGY_HW_v0_9_0) 382 #define PIN23_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 384 #define PIN23_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 388 #if defined(THINGY_HW_v0_7_0) 389 #define PIN24_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 390 #elif defined(THINGY_HW_v0_8_0) 391 #define PIN24_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 392 #elif defined(THINGY_HW_v0_9_0) 393 #define PIN24_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 395 #define PIN24_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 399 #define PIN25_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 402 #define PIN26_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 405 #define PIN27_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 408 #define BATTERY_AIN NRF_SAADC_INPUT_AIN4 409 #define PIN28_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 411 #if defined(THINGY_HW_v0_7_0) 413 #define PIN29_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 414 #elif defined(THINGY_HW_v0_8_0) 416 #define PIN29_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 417 #elif defined(THINGY_HW_v0_9_0) 418 #define SPK_PWR_CTRL 29 419 #define PIN29_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 421 #define SPK_PWR_CTRL 29 422 #define PIN29_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 428 #define VDD_PWR_CTRL 30 429 #if defined(THINGY_HW_v0_7_0) 430 #define PIN30_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_SET 431 #elif defined(THINGY_HW_v0_8_0) 432 #define PIN30_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_SET 433 #elif defined(THINGY_HW_v0_9_0) 434 #define PIN30_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_SET 436 #define PIN30_SYSTEM_DEFAULT_CFG NRF_PIN_OUTPUT_CLEAR 440 #if defined(THINGY_HW_v0_7_0) 441 #define PIN31_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 442 #elif defined(THINGY_HW_v0_8_0) 443 #define PIN31_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 444 #elif defined(THINGY_HW_v0_9_0) 445 #define PIN31_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_NOPULL 447 #define PIN31_SYSTEM_DEFAULT_CFG NRF_PIN_DISCON_PULLDOWN 450 #define NRF_SYSTEM_DEFAULT_PIN_CFG \ 452 PIN00_SYSTEM_DEFAULT_CFG, \ 453 PIN01_SYSTEM_DEFAULT_CFG, \ 454 PIN02_SYSTEM_DEFAULT_CFG, \ 455 PIN03_SYSTEM_DEFAULT_CFG, \ 456 PIN04_SYSTEM_DEFAULT_CFG, \ 457 PIN05_SYSTEM_DEFAULT_CFG, \ 458 PIN06_SYSTEM_DEFAULT_CFG, \ 459 PIN07_SYSTEM_DEFAULT_CFG, \ 460 PIN08_SYSTEM_DEFAULT_CFG, \ 461 PIN09_SYSTEM_DEFAULT_CFG, \ 462 PIN10_SYSTEM_DEFAULT_CFG, \ 463 PIN11_SYSTEM_DEFAULT_CFG, \ 464 PIN12_SYSTEM_DEFAULT_CFG, \ 465 PIN13_SYSTEM_DEFAULT_CFG, \ 466 PIN14_SYSTEM_DEFAULT_CFG, \ 467 PIN15_SYSTEM_DEFAULT_CFG, \ 468 PIN16_SYSTEM_DEFAULT_CFG, \ 469 PIN17_SYSTEM_DEFAULT_CFG, \ 470 PIN18_SYSTEM_DEFAULT_CFG, \ 471 PIN19_SYSTEM_DEFAULT_CFG, \ 472 PIN20_SYSTEM_DEFAULT_CFG, \ 473 PIN21_SYSTEM_DEFAULT_CFG, \ 474 PIN22_SYSTEM_DEFAULT_CFG, \ 475 PIN23_SYSTEM_DEFAULT_CFG, \ 476 PIN24_SYSTEM_DEFAULT_CFG, \ 477 PIN25_SYSTEM_DEFAULT_CFG, \ 478 PIN26_SYSTEM_DEFAULT_CFG, \ 479 PIN27_SYSTEM_DEFAULT_CFG, \ 480 PIN28_SYSTEM_DEFAULT_CFG, \ 481 PIN29_SYSTEM_DEFAULT_CFG, \ 482 PIN30_SYSTEM_DEFAULT_CFG, \ 483 PIN31_SYSTEM_DEFAULT_CFG \ 486 #define DRV_EXT_RGB_LED_SENSE 0 487 #define DRV_EXT_RGB_LED_LIGHTWELL 1 488 #define DRV_EXT_LIGHT_NUM 2 490 #define BATT_VOLTAGE_DIVIDER_R1 1500000 491 #define BATT_VOLTAGE_DIVIDER_R2 180000 494 #pragma GCC diagnostic push 495 #pragma GCC diagnostic ignored "-Wunused-variable" 501 #define DRV_EXT_LIGHT_CFG \ 504 .type = DRV_EXT_LIGHT_TYPE_RGB, \ 506 .r = SX_SENSE_LED_R, \ 507 .g = SX_SENSE_LED_G, \ 508 .b = SX_SENSE_LED_B }, \ 509 .p_data = &my_led_0 \ 512 .type = DRV_EXT_LIGHT_TYPE_RGB, \ 514 .r = SX_LIGHTWELL_R, \ 515 .g = SX_LIGHTWELL_G, \ 516 .b = SX_LIGHTWELL_B }, \ 517 .p_data = &my_led_1 \ 521 #define BATT_MEAS_INTERVAL_MS 5000 // Measurement interval [ms]. 522 #define BATT_MEAS_LOW_BATT_LIMIT_MV 3100 // Cutoff voltage [mV]. 523 #define BATT_MEAS_FULL_BATT_LIMIT_MV 4190 // Full charge definition [mV]. 524 #define BATT_MEAS_INVALID_PIN 255 // Invalid pin definition. 525 #define BATT_MEAS_VOLTAGE_TO_SOC_ELEMENTS 111 // Number of elements in the state of charge vector. 526 #define BATT_MEAS_VOLTAGE_TO_SOC_DELTA_MV 10 // mV between each element in the SoC vector. 531 static const uint8_t BATT_MEAS_VOLTAGE_TO_SOC[] = {
532 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
533 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4,
534 4, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 12, 13, 13, 14, 15, 16,
535 18, 19, 22, 25, 28, 32, 36, 40, 44, 47, 51, 53, 56, 58, 60, 62, 64, 66, 67, 69,
536 71, 72, 74, 76, 77, 79, 81, 82, 84, 85, 85, 86, 86, 86, 87, 88, 88, 89, 90, 91,
537 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100};
539 #if defined(THINGY_HW_v0_8_0) 540 #define BAT_MON_EN_PIN_USED false 541 #define BAT_MON_EN_PIN_NO BATT_MEAS_INVALID_PIN 543 #define BAT_MON_EN_PIN_USED true 544 #define BAT_MON_EN_PIN_NO SX_BAT_MON_EN 548 #define BATT_MEAS_PARAM_CFG \ 550 .batt_meas_param = { \ 551 .app_timer_prescaler = APP_TIMER_PRESCALER, \ 552 .adc_pin_no = BATTERY, \ 553 .adc_pin_no_ain = BATTERY_AIN, \ 554 .usb_detect_pin_no = USB_DETECT, \ 555 .batt_chg_stat_pin_no = BAT_CHG_STAT, \ 556 .batt_mon_en_pin_used = BAT_MON_EN_PIN_USED, \ 557 .batt_mon_en_pin_no = BAT_MON_EN_PIN_NO, \ 558 .batt_voltage_limit_low = BATT_MEAS_LOW_BATT_LIMIT_MV, \ 559 .batt_voltage_limit_full = BATT_MEAS_FULL_BATT_LIMIT_MV, \ 562 .num_elements = BATT_MEAS_VOLTAGE_TO_SOC_ELEMENTS,\ 563 .first_element_mv = BATT_MEAS_LOW_BATT_LIMIT_MV, \ 564 .delta_mv = BATT_MEAS_VOLTAGE_TO_SOC_DELTA_MV,\ 565 .voltage_to_soc = BATT_MEAS_VOLTAGE_TO_SOC, \ 569 .r_1_ohm = BATT_VOLTAGE_DIVIDER_R1, \ 570 .r_2_ohm = BATT_VOLTAGE_DIVIDER_R2, \ 576 #define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_XTAL, \ 579 .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_20_PPM} drv_ext_gpio_pin_dir_t
Pin direction definitions.
Definition: drv_ext_gpio.h:69
drv_ext_gpio_pin_slew_rate_t
Regular or increased slew rate.
Definition: drv_ext_gpio.h:102
drv_ext_gpio_pin_drive_type_t
Push-pull or open drain operation.
Definition: drv_ext_gpio.h:94
#define DRV_EXT_LIGHT_DEF(light_id)
Define to create timers associated with each light source.
Definition: drv_ext_light.h:146
drv_ext_gpio_pin_input_buf_t
Connection of input buffer.
Definition: drv_ext_gpio.h:77
drv_ext_gpio_pin_pull_t
Pin to be pulled down, up, or no-pull.
Definition: drv_ext_gpio.h:85