- #include <RadioLib.h>
- // Motion sensor pin
- const int motionSensorPin = 2;
- // Door sensor pin
- const int doorSensorPin = 3;
- // 868MHz radio module pins
- const int radioModuleSSPin = 5;
- const int radioModuleRSTPin = 4;
- // Radio module frequency and data rate
- const uint32_t frequency = 868000000; // 868MHz
- const uint32_t dataRate = 9600;
- // Radio module object
- SX1278 radio = new Module(RADIO_CS_PIN, RADIO_IRQ_PIN, RADIO_RST_PIN, RADIO_DATAREADY_PIN, RADIO_DIO0_PIN);
- void setup() {
- Serial.begin(9600);
- pinMode(motionSensorPin, INPUT);
- pinMode(doorSensorPin, INPUT);
- radio.init();
- radio.setFrequency(frequency);
- radio.setDatarate(dataRate);
- radio.setRxConfig(RadioModemFSK);
- radio.setTxConfig(RadioModemFSK, 10);
- }
- void loop() {
- int motionSensorStatus = digitalRead(motionSensorPin);
- int doorSensorStatus = digitalRead(doorSensorPin);
- if (motionSensorStatus == HIGH) {
- sendMessage("Motion detected!");
- delay(1000); // Delay to avoid multiple triggers
- }
- if (doorSensorStatus == HIGH) {
- sendMessage("Door opened!");
- delay(1000); // Delay to avoid multiple triggers
- }
- }
- void sendMessage(const char* message) {
- Serial.println(message);
- radio.startTransmit();
- radio.writeFIFO((byte*)message, strlen(message));
- radio.transmit();
- }
- * Executing task: /home/michal/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/michal/esp/esp-idf/tools/idf_size.py /home/michal/project-name/build/project-name.map
- Total sizes:
- Used stat D/IRAM: 44876 bytes ( 407236 remain, 9.9% used)
- .data size: 4188 bytes
- .bss size: 3720 bytes
- .text size: 36968 bytes
- Used Flash size : 82358 bytes
- .text: 53030 bytes
- .rodata: 29072 bytes
- Total image size: 123514 bytes (.bin may be padded larger)
- * Executing task: ninja
- [4/904] Generating ../../partition_table/partition-table.bin
- Partition table binary generated. Contents:
- *******************************************************************************
- # ESP-IDF Partition Table
- # Name, Type, SubType, Offset, Size, Flags
- nvs,data,nvs,0x9000,24K,
- phy_init,data,phy,0xf000,4K,
- factory,app,factory,0x10000,1M,
- *******************************************************************************
- [209/904] Performing configure step for 'bootloader'
- -- Found Git: /usr/bin/git (found version "2.40.1")
- -- The C compiler identification is GNU 12.2.0
- -- The CXX compiler identification is GNU 12.2.0
- -- The ASM compiler identification is GNU
- -- Found assembler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
- -- Detecting C compiler ABI info
- -- Detecting C compiler ABI info - done
- -- Check for working C compiler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
- -- Detecting C compile features
- -- Detecting C compile features - done
- -- Detecting CXX compiler ABI info
- -- Detecting CXX compiler ABI info - done
- -- Check for working CXX compiler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
- -- Detecting CXX compile features
- -- Detecting CXX compile features - done
- -- Building ESP-IDF components for target esp32c6
- -- Project sdkconfig file /home/michal/project-name/sdkconfig
- -- Looking for sys/types.h
- -- Looking for sys/types.h - found
- -- Looking for stdint.h
- -- Looking for stdint.h - found
- -- Looking for stddef.h
- -- Looking for stddef.h - found
- -- Check size of time_t
- -- Check size of time_t - done
- -- Adding linker script /home/michal/esp/esp-idf/components/soc/esp32c6/ld/esp32c6.peripherals.ld
- -- App "bootloader" version: v5.1-dirty
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.api.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.rvfp.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.phy.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.wdt.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.version.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.rom.ld
- -- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
- -- Component paths: /home/michal/esp/esp-idf/components/bootloader /home/michal/esp/esp-idf/components/bootloader_support /home/michal/esp/esp-idf/components/efuse /home/michal/esp/esp-idf/components/esp_app_format /home/michal/esp/esp-idf/components/esp_common /home/michal/esp/esp-idf/components/esp_hw_support /home/michal/esp/esp-idf/components/esp_rom /home/michal/esp/esp-idf/components/esp_system /home/michal/esp/esp-idf/components/esptool_py /home/michal/esp/esp-idf/components/freertos /home/michal/esp/esp-idf/components/hal /home/michal/esp/esp-idf/components/log /home/michal/esp/esp-idf/components/bootloader/subproject/main /home/michal/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /home/michal/esp/esp-idf/components/newlib /home/michal/esp/esp-idf/components/partition_table /home/michal/esp/esp-idf/components/riscv /home/michal/esp/esp-idf/components/soc /home/michal/esp/esp-idf/components/spi_flash
- -- Configuring done
- -- Generating done
- -- Build files have been written to: /home/michal/project-name/build/bootloader
- [302/904] Performing build step for 'bootloader'
- [1/106] Generating project_elf_src_esp32c6.c
- [2/106] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32c6.c.obj
- [3/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/interrupts.c.obj
- [4/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
- [5/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gpio_periph.c.obj
- [6/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
- [7/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/uart_periph.c.obj
- [8/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gdma_periph.c.obj
- [9/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/dedic_gpio_periph.c.obj
- [10/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/adc_periph.c.obj
- [11/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ledc_periph.c.obj
- [12/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rmt_periph.c.obj
- [13/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdm_periph.c.obj
- [14/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/pcnt_periph.c.obj
- [15/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/spi_periph.c.obj
- [16/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2s_periph.c.obj
- [17/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/temperature_sensor_periph.c.obj
- [18/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/timer_periph.c.obj
- [19/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2c_periph.c.obj
- [20/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/mcpwm_periph.c.obj
- [21/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/parlio_periph.c.obj
- [22/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/twai_periph.c.obj
- [23/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ieee802154_periph.c.obj
- [24/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rtc_io_periph.c.obj
- [25/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdio_slave_periph.c.obj
- [26/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
- [27/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
- [28/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c6/efuse_hal.c.obj
- [29/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
- [30/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c6/lp_timer_hal.c.obj
- [31/106] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
- [32/106] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
- [33/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
- [34/106] Building C object esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj
- [35/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
- [36/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32c6.c.obj
- [37/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
- [38/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
- [39/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
- [40/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
- [41/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
- [42/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
- [43/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
- [44/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
- [45/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
- [46/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
- [47/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c6.c.obj
- [48/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
- [49/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
- [50/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
- [51/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
- [52/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
- [53/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
- [54/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_soc.c.obj
- [55/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_sha.c.obj
- [56/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_ecdsa.c.obj
- [57/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_esp32c6.c.obj
- [58/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
- [59/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_table.c.obj
- [60/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
- [61/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_fields.c.obj
- [62/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_rtc_calib.c.obj
- [63/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
- [64/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_utility.c.obj
- [65/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
- [66/106] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
- [67/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/cpu_region_protect.c.obj
- [68/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
- [69/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
- [70/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk_init.c.obj
- [71/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
- [72/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_param.c.obj
- [73/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk.c.obj
- [74/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_sleep.c.obj
- [75/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/chip_info.c.obj
- [76/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_time.c.obj
- [77/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_init.c.obj
- [78/106] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
- [79/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
- [80/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_regi2c_esp32c6.c.obj
- [81/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
- [82/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
- [83/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
- [84/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
- [85/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
- [86/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
- [87/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
- [88/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj
- [89/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
- [90/106] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
- [91/106] Linking C static library esp-idf/log/liblog.a
- [92/106] Linking C static library esp-idf/esp_rom/libesp_rom.a
- [93/106] Linking C static library esp-idf/esp_common/libesp_common.a
- [94/106] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
- [95/106] Linking C static library esp-idf/esp_system/libesp_system.a
- [96/106] Linking C static library esp-idf/efuse/libefuse.a
- [97/106] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
- [98/106] Linking C static library esp-idf/esp_app_format/libesp_app_format.a
- [99/106] Linking C static library esp-idf/spi_flash/libspi_flash.a
- [100/106] Linking C static library esp-idf/hal/libhal.a
- [101/106] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
- [102/106] Linking C static library esp-idf/soc/libsoc.a
- [103/106] Linking C static library esp-idf/main/libmain.a
- [104/106] Linking C executable bootloader.elf
- [105/106] Generating binary image from built executable
- esptool.py v4.6.2
- Creating esp32c6 image...
- Merged 2 ELF sections
- Successfully created esp32c6 image.
- Generated /home/michal/project-name/build/bootloader/bootloader.bin
- [106/106] cd /home/michal/project-name/build/bootloader/esp-idf/esptool_py && /home/michal/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/michal/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/michal/project-name/build/bootloader/bootloader.bin
- Bootloader binary size 0x52f0 bytes. 0x2d10 bytes (35%) free.
- [903/904] Generating binary image from built executable
- esptool.py v4.6.2
- Creating esp32c6 image...
- Merged 1 ELF section
- Successfully created esp32c6 image.
- Generated /home/michal/project-name/build/project-name.bin
- [904/904] cd /home/michal/project-name/build/esp-idf/esptoo...-table.bin /home/michal/project-name/build/project-name.bin
- project-name.bin binary size 0x1e2e0 bytes. Smallest app partition is 0x100000 bytes. 0xe1d20 bytes (88%) free.
Code: Select all
[{
"resource": "/home/michal/868idf/main/main.c",
"owner": "C/C++: IntelliSense",
"code": "1696",
"severity": 8,
"message": "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit (/home/michal/868idf/main/main.c).",
"source": "C/C++",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 22
}]
[{
"resource": "/home/michal/868idf/main/main.c",
"owner": "C/C++: IntelliSense",
"code": "1696",
"severity": 8,
"message": "cannot open source file \"RadioLib.h\"",
"source": "C/C++",
"startLineNumber": 1,
"startColumn": 1,
"endLineNumber": 1,
"endColumn": 22
}]
- #include "esp_log.h"
- #include "freertos/FreeRTOS.h"
- #include "freertos/task.h"
- #include "esp_netif.h"
- #include "esp_vfs_eventfd.h"
- #include "esp_wifi.h"
- #include "nvs_flash.h"
- #include "protocol_examples_common.h"
- #include "esp_coexist_internal.h"
- #include "esp_zigbee_gateway.h"
- #if (!defined ZB_MACSPLIT_HOST && defined ZB_MACSPLIT_DEVICE)
- #error Only Zigbee gateway host device should be defined
- #endif
- static const char *TAG = "ESP_ZB_GATEWAY";
- /********************* Define functions **************************/
- static void bdb_start_top_level_commissioning_cb(uint8_t mode_mask)
- {
- ESP_ERROR_CHECK(esp_zb_bdb_start_top_level_commissioning(mode_mask));
- }
- void esp_zb_app_signal_handler(esp_zb_app_signal_t *signal_struct)
- {
- uint32_t *p_sg_p = signal_struct->p_app_signal;
- esp_err_t err_status = signal_struct->esp_err_status;
- esp_zb_app_signal_type_t sig_type = *p_sg_p;
- esp_zb_zdo_signal_device_annce_params_t *dev_annce_params = NULL;
- esp_zb_zdo_signal_macsplit_dev_boot_params_t *rcp_version = NULL;
- switch (sig_type) {
- case ESP_ZB_ZDO_SIGNAL_SKIP_STARTUP:
- ESP_LOGI(TAG, "Zigbee stack initialized");
- esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_INITIALIZATION);
- break;
- case ESP_ZB_MACSPLIT_DEVICE_BOOT:
- ESP_LOGI(TAG, "Zigbee rcp device booted");
- rcp_version = (esp_zb_zdo_signal_macsplit_dev_boot_params_t*)esp_zb_app_signal_get_params(p_sg_p);
- ESP_LOGI(TAG, "Running RCP Version:%s", rcp_version->version_str);
- break;
- case ESP_ZB_BDB_SIGNAL_DEVICE_FIRST_START:
- case ESP_ZB_BDB_SIGNAL_DEVICE_REBOOT:
- if (err_status == ESP_OK) {
- ESP_LOGI(TAG, "Start network formation");
- esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_FORMATION);
- } else {
- ESP_LOGE(TAG, "Failed to initialize Zigbee stack (status: %d)", err_status);
- }
- break;
- case ESP_ZB_BDB_SIGNAL_FORMATION:
- if (err_status == ESP_OK) {
- esp_zb_ieee_addr_t ieee_address;
- esp_zb_get_long_address(ieee_address);
- ESP_LOGI(TAG, "Formed network successfully (ieee_address: %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x, PAN ID: 0x%04hx, Channel:%d)",
- ieee_address[7], ieee_address[6], ieee_address[5], ieee_address[4],
- ieee_address[3], ieee_address[2], ieee_address[1], ieee_address[0],
- esp_zb_get_pan_id(), esp_zb_get_current_channel());
- esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_MODE_NETWORK_STEERING);
- } else {
- ESP_LOGI(TAG, "Restart network formation (status: %d)", err_status);
- esp_zb_scheduler_alarm((esp_zb_callback_t)bdb_start_top_level_commissioning_cb, ESP_ZB_BDB_MODE_NETWORK_FORMATION, 1000);
- }
- break;
- case ESP_ZB_BDB_SIGNAL_STEERING:
- if (err_status == ESP_OK) {
- ESP_LOGI(TAG, "Network steering started");
- }
- break;
- case ESP_ZB_ZDO_SIGNAL_DEVICE_ANNCE:
- dev_annce_params = (esp_zb_zdo_signal_device_annce_params_t *)esp_zb_app_signal_get_params(p_sg_p);
- ESP_LOGI(TAG, "New device commissioned or rejoined (short: 0x%04hx)", dev_annce_params->device_short_addr);
- break;
- default:
- ESP_LOGI(TAG, "ZDO signal: %d, status: %d", sig_type, err_status);
- break;
- }
- }
- static void esp_zb_task(void *pvParameters)
- {
- /* initialize Zigbee stack with Zigbee coordinator config */
- esp_zb_cfg_t zb_nwk_cfg = ESP_ZB_ZC_CONFIG();
- esp_zb_init(&zb_nwk_cfg);
- /* initiate Zigbee Stack start without zb_send_no_autostart_signal auto-start */
- esp_zb_set_primary_network_channel_set(ESP_ZB_PRIMARY_CHANNEL_MASK);
- ESP_ERROR_CHECK(esp_zb_start(false));
- esp_zb_main_loop_iteration();
- }
- void app_main(void)
- {
- esp_zb_platform_config_t config = {
- .radio_config = ESP_ZB_DEFAULT_RADIO_CONFIG(),
- .host_config = ESP_ZB_DEFAULT_HOST_CONFIG(),
- };
- /* load Zigbee gateway platform config to initialization */
- ESP_ERROR_CHECK(esp_zb_platform_config(&config));
- ESP_ERROR_CHECK(nvs_flash_init());
- ESP_ERROR_CHECK(esp_netif_init());
- ESP_ERROR_CHECK(esp_event_loop_create_default());
- #if CONFIG_EXAMPLE_CONNECT_WIFI
- ESP_ERROR_CHECK(example_connect());
- #if CONFIG_ESP_COEX_SW_COEXIST_ENABLE
- ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_MIN_MODEM));
- coex_enable();
- coex_schm_status_bit_set(1, 1);
- #else
- ESP_ERROR_CHECK(esp_wifi_set_ps(WIFI_PS_NONE));
- #endif
- #endif
- xTaskCreate(esp_zb_task, "Zigbee_main", 4096, NULL, 5, NULL);
- }
- * Executing task: /home/michal/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/michal/esp/esp-idf/tools/idf_size.py /home/michal/project-name/build/project-name.map
- Total sizes:
- Used stat D/IRAM: 44876 bytes ( 407236 remain, 9.9% used)
- .data size: 4188 bytes
- .bss size: 3720 bytes
- .text size: 36968 bytes
- Used Flash size : 82358 bytes
- .text: 53030 bytes
- .rodata: 29072 bytes
- Total image size: 123514 bytes (.bin may be padded larger)
- * Executing task: ninja
- [5/904] Generating ../../partition_table/partition-table.bin
- Partition table binary generated. Contents:
- *******************************************************************************
- # ESP-IDF Partition Table
- # Name, Type, SubType, Offset, Size, Flags
- nvs,data,nvs,0x9000,24K,
- phy_init,data,phy,0xf000,4K,
- factory,app,factory,0x10000,1M,
- *******************************************************************************
- [203/904] Performing configure step for 'bootloader'
- -- Found Git: /usr/bin/git (found version "2.40.1")
- -- The C compiler identification is GNU 12.2.0
- -- The CXX compiler identification is GNU 12.2.0
- -- The ASM compiler identification is GNU
- -- Found assembler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
- -- Detecting C compiler ABI info
- -- Detecting C compiler ABI info - done
- -- Check for working C compiler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped
- -- Detecting C compile features
- -- Detecting C compile features - done
- -- Detecting CXX compiler ABI info
- -- Detecting CXX compiler ABI info - done
- -- Check for working CXX compiler: /home/michal/.espressif/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped
- -- Detecting CXX compile features
- -- Detecting CXX compile features - done
- -- Building ESP-IDF components for target esp32c6
- -- Project sdkconfig file /home/michal/project-name/sdkconfig
- -- Looking for sys/types.h
- -- Looking for sys/types.h - found
- -- Looking for stdint.h
- -- Looking for stdint.h - found
- -- Looking for stddef.h
- -- Looking for stddef.h - found
- -- Check size of time_t
- -- Check size of time_t - done
- -- Adding linker script /home/michal/esp/esp-idf/components/soc/esp32c6/ld/esp32c6.peripherals.ld
- -- App "bootloader" version: v5.1-dirty
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.api.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.rvfp.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.newlib.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.phy.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.wdt.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/esp_rom/esp32c6/ld/esp32c6.rom.version.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.ld
- -- Adding linker script /home/michal/esp/esp-idf/components/bootloader/subproject/main/ld/esp32c6/bootloader.rom.ld
- -- Components: bootloader bootloader_support efuse esp_app_format esp_common esp_hw_support esp_rom esp_system esptool_py freertos hal log main micro-ecc newlib partition_table riscv soc spi_flash
- -- Component paths: /home/michal/esp/esp-idf/components/bootloader /home/michal/esp/esp-idf/components/bootloader_support /home/michal/esp/esp-idf/components/efuse /home/michal/esp/esp-idf/components/esp_app_format /home/michal/esp/esp-idf/components/esp_common /home/michal/esp/esp-idf/components/esp_hw_support /home/michal/esp/esp-idf/components/esp_rom /home/michal/esp/esp-idf/components/esp_system /home/michal/esp/esp-idf/components/esptool_py /home/michal/esp/esp-idf/components/freertos /home/michal/esp/esp-idf/components/hal /home/michal/esp/esp-idf/components/log /home/michal/esp/esp-idf/components/bootloader/subproject/main /home/michal/esp/esp-idf/components/bootloader/subproject/components/micro-ecc /home/michal/esp/esp-idf/components/newlib /home/michal/esp/esp-idf/components/partition_table /home/michal/esp/esp-idf/components/riscv /home/michal/esp/esp-idf/components/soc /home/michal/esp/esp-idf/components/spi_flash
- -- Configuring done
- -- Generating done
- -- Build files have been written to: /home/michal/project-name/build/bootloader
- [277/904] Performing build step for 'bootloader'
- [1/106] Generating project_elf_src_esp32c6.c
- [2/106] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32c6.c.obj
- [3/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
- [4/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/interrupts.c.obj
- [5/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
- [6/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gpio_periph.c.obj
- [7/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/adc_periph.c.obj
- [8/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/uart_periph.c.obj
- [9/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/gdma_periph.c.obj
- [10/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/dedic_gpio_periph.c.obj
- [11/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ledc_periph.c.obj
- [12/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/spi_periph.c.obj
- [13/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/pcnt_periph.c.obj
- [14/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rmt_periph.c.obj
- [15/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdm_periph.c.obj
- [16/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2s_periph.c.obj
- [17/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/i2c_periph.c.obj
- [18/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/timer_periph.c.obj
- [19/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/mcpwm_periph.c.obj
- [20/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/temperature_sensor_periph.c.obj
- [21/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/twai_periph.c.obj
- [22/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/ieee802154_periph.c.obj
- [23/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/parlio_periph.c.obj
- [24/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/rtc_io_periph.c.obj
- [25/106] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c6/sdio_slave_periph.c.obj
- [26/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mpu_hal.c.obj
- [27/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
- [28/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c6/efuse_hal.c.obj
- [29/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
- [30/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c6/lp_timer_hal.c.obj
- [31/106] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
- [32/106] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
- [33/106] Building C object esp-idf/esp_app_format/CMakeFiles/__idf_esp_app_format.dir/esp_app_desc.c.obj
- [34/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
- [35/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
- [36/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32c6.c.obj
- [37/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
- [38/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
- [39/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
- [40/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
- [41/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
- [42/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
- [43/106] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
- [44/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
- [45/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
- [46/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
- [47/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c6.c.obj
- [48/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
- [49/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
- [50/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
- [51/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
- [52/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_sha.c.obj
- [53/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
- [54/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_soc.c.obj
- [55/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_ecdsa.c.obj
- [56/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
- [57/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
- [58/106] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c6/bootloader_esp32c6.c.obj
- [59/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_table.c.obj
- [60/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_fields.c.obj
- [61/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_rtc_calib.c.obj
- [62/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c6/esp_efuse_utility.c.obj
- [63/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
- [64/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
- [65/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
- [66/106] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
- [67/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/cpu_region_protect.c.obj
- [68/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
- [69/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
- [70/106] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
- [71/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk_init.c.obj
- [72/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_param.c.obj
- [73/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_clk.c.obj
- [74/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_init.c.obj
- [75/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/chip_info.c.obj
- [76/106] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
- [77/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/rtc_time.c.obj
- [78/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_regi2c_esp32c6.c.obj
- [79/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
- [80/106] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c6/pmu_sleep.c.obj
- [81/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
- [82/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
- [83/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
- [84/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
- [85/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
- [86/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
- [87/106] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj
- [88/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_buffers.c.obj
- [89/106] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log_noos.c.obj
- [90/106] Linking C static library esp-idf/log/liblog.a
- [91/106] Linking C static library esp-idf/esp_rom/libesp_rom.a
- [92/106] Linking C static library esp-idf/esp_common/libesp_common.a
- [93/106] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
- [94/106] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
- [95/106] Linking C static library esp-idf/esp_system/libesp_system.a
- [96/106] Linking C static library esp-idf/efuse/libefuse.a
- [97/106] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
- [98/106] Linking C static library esp-idf/esp_app_format/libesp_app_format.a
- [99/106] Linking C static library esp-idf/spi_flash/libspi_flash.a
- [100/106] Linking C static library esp-idf/hal/libhal.a
- [101/106] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
- [102/106] Linking C static library esp-idf/soc/libsoc.a
- [103/106] Linking C static library esp-idf/main/libmain.a
- [104/106] Linking C executable bootloader.elf
- [105/106] Generating binary image from built executable
- esptool.py v4.6.2
- Creating esp32c6 image...
- Merged 2 ELF sections
- Successfully created esp32c6 image.
- Generated /home/michal/project-name/build/bootloader/bootloader.bin
- [106/106] cd /home/michal/project-name/build/bootloader/esp-idf/esptool_py && /home/michal/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/michal/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 /home/michal/project-name/build/bootloader/bootloader.bin
- Bootloader binary size 0x52f0 bytes. 0x2d10 bytes (35%) free.
- [903/904] Generating binary image from built executable
- esptool.py v4.6.2
- Creating esp32c6 image...
- Merged 1 ELF section
- Successfully created esp32c6 image.
- Generated /home/michal/project-name/build/project-name.bin
- [904/904] cd /home/michal/project-name/build/esp-id...in /home/michal/project-name/build/project-name.bin
- project-name.bin binary size 0x1e2e0 bytes. Smallest app partition is 0x100000 bytes. 0xe1d20 bytes (88%) free.
Code: Select all
[{
"resource": "/home/michal/project-nam/main/esp_zigbee_gateway.c",
"owner": "C/C++: IntelliSense",
"code": "1696",
"severity": 8,
"message": "cannot open source file \"protocol_examples_common.h\"",
"source": "C/C++",
"startLineNumber": 45,
"startColumn": 1,
"endLineNumber": 45,
"endColumn": 38
}]
[{
"resource": "/home/michal/project-nam/main/esp_zigbee_gateway.c",
"owner": "C/C++: IntelliSense",
"code": "1696",
"severity": 8,
"message": "#include errors detected. Consider updating your compile_commands.json or includePath. Squiggles are disabled for this translation unit (/home/michal/project-nam/main/esp_zigbee_gateway.c).",
"source": "C/C++",
"startLineNumber": 47,
"startColumn": 1,
"endLineNumber": 47,
"endColumn": 32
}]
[{
"resource": "/home/michal/project-nam/main/esp_zigbee_gateway.c",
"owner": "C/C++: IntelliSense",
"code": "1696",
"severity": 8,
"message": "cannot open source file \"esp_zigbee_core.h\" (dependency of \"esp_zigbee_gateway.h\")",
"source": "C/C++",
"startLineNumber": 47,
"startColumn": 1,
"endLineNumber": 47,
"endColumn": 32
}]