Hi there,
I have a problem for my ESP8266 RTOS SDK, I want to try to build f/w with additional I2C, PCA9557 and Si7021. So, I followed these ‘How To Use’ esp-idf-lib instructions in this Github. I’m currently using Linux as the OS and this my Makefile
PROJECT_NAME := wall_switch
EXTRA_COMPONENT_DIRS := ${IDF_PATH}/…/…/iot-core, /home/samjin-rnd-pc/esp-idf-lib/components
EXCLUDE_COMPONENTS := pca9557 si7021 component-i2cdev-build
CFLAGS += -Wno-unused-const-variable
include $(IDF_PATH)/make/project.mk
But, after compiling the f/w log:
CC build/i2cdev/i2cdev.o
In file included from /home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.h:40,
from /home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:37:
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c: In function 'i2cdev_done':
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:62: error: 'CONFIG_I2CDEV_TIMEOUT' undeclared (first use in this function); did you mean 'CONFIG_FATFS_TIMEOUT_MS'?
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:48: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:100:13: note: in expansion of macro 'SEMAPHORE_TAKE'
SEMAPHORE_TAKE(i);
^~~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:62: note: each undeclared identifier is reported only once for each function it appears in
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:48: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:100:13: note: in expansion of macro 'SEMAPHORE_TAKE'
SEMAPHORE_TAKE(i);
^~~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c: In function 'i2c_dev_take_mutex':
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:150:51: error: 'CONFIG_I2CDEV_TIMEOUT' undeclared (first use in this function); did you mean 'CONFIG_FATFS_TIMEOUT_MS'?
if (!xSemaphoreTake(dev->mutex, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT)))
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:150:37: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(dev->mutex, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT)))
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c: In function 'i2c_dev_probe':
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:62: error: 'CONFIG_I2CDEV_TIMEOUT' undeclared (first use in this function); did you mean 'CONFIG_FATFS_TIMEOUT_MS'?
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:48: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:240:5: note: in expansion of macro 'SEMAPHORE_TAKE'
SEMAPHORE_TAKE(dev->port);
^~~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c: In function 'i2c_dev_read':
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:62: error: 'CONFIG_I2CDEV_TIMEOUT' undeclared (first use in this function); did you mean 'CONFIG_FATFS_TIMEOUT_MS'?
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:48: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:264:5: note: in expansion of macro 'SEMAPHORE_TAKE'
SEMAPHORE_TAKE(dev->port);
^~~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c: In function 'i2c_dev_write':
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:62: error: 'CONFIG_I2CDEV_TIMEOUT' undeclared (first use in this function); did you mean 'CONFIG_FATFS_TIMEOUT_MS'?
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~~~~~~~~~
/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/components/freertos/include/freertos/semphr.h:289:90: note: in definition of macro 'xSemaphoreTake'
#define xSemaphoreTake( xSemaphore, xBlockTime ) xQueueSemaphoreTake( ( xSemaphore ), ( xBlockTime ) )
^~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:53:48: note: in expansion of macro 'pdMS_TO_TICKS'
if (!xSemaphoreTake(states[port].lock, pdMS_TO_TICKS(CONFIG_I2CDEV_TIMEOUT))) \
^~~~~~~~~~~~~
/home/samjin-rnd-pc/esp-idf-lib/components/i2cdev/i2cdev.c:296:5: note: in expansion of macro 'SEMAPHORE_TAKE'
SEMAPHORE_TAKE(dev->port);
^~~~~~~~~~~~~~
make[1]: *** [/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/make/component_wrapper.mk:292: i2cdev.o] Error 1
make: *** [/home/samjin-rnd-pc/st-device-sdk-c-ref/bsp/esp8266/make/project.mk:571: component-i2cdev-build] Error 2
How to solve this issue? I hope someone can help this issue
Thank you
Best Regards