DHT Library Issue for Keil Studio Cloud

Hello,

I am trying to migrate my project from Mbed Online Compiler to Keil Studio Cloud. So far, build fails in Keil Studio Cloud because DHT libraries are still incompatible. I have tried almost all DHT libraries available online and all give the following same error:

Build started
Using toolchain ARMC6 profile {'ENV': {'ARMLMD_LICENSE_FILE': '8224@10.100.158.60:8224@10.100.125.150'}, 'PATHS': {'ARMC6_PATH': '/opt/ARMCompiler6.15.13/bin/', 'ARM_PATH': '/opt/armcc5_06_u6/'}, 'common': ['-c', '--gnu', '-O3', '-Otime', '--split_sections', '--apcs=interwork'], 'cxx': ['--cpp', '--no_rtti'], 'COMPILE_C_AS_CPP': False, 'NEW_SCAN_RESOURCES': True}
scan /tmp/chroots/ch-6200c4bb-e8b4-4b80-b7dc-eb087c225478/src
scan /tmp/chroots/ch-6200c4bb-e8b4-4b80-b7dc-eb087c225478/extras/mbed-os.lib
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Config/RTX_Config.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/TOOLCHAIN_ARM/TARGET_RTOS_M4_M7/irq_cm4f.S
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_evflags.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_kernel.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_memory.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_msgqueue.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_semaphore.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_thread.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/Source/os_systick.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/TARGET_CORTEX_M/Source/mbed_tz_context.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Library/cmsis_os1.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_evr.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_mempool.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_system.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/Source/os_tick_ptim.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_delay.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_mutex.c
compile mbed-os/cmsis/device/rtos/TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
compile mbed-os/cmsis/device/rtos/source/mbed_rtos_rtx.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_lib.c
compile mbed-os/cmsis/CMSIS_5/CMSIS/RTOS2/RTX/Source/rtx_timer.c
compile mbed-os/cmsis/device/rtos/source/mbed_rtx_handlers.c
compile mbed-os/cmsis/device/rtos/source/mbed_boot.c
compile mbed-os/connectivity/cellular/source/framework/AT/AT_CellularSMS.cpp
compile mbed-os/connectivity/cellular/source/framework/AT/AT_CellularInformation.cpp
compile mbed-os/cmsis/device/rtos/source/mbed_rtx_idle.cpp
ISO C++ forbids forward references to 'enum' types
ISO C++ forbids forward references to 'enum' types
ISO C++ forbids forward references to 'enum' types
use of undeclared identifier 'wait_ms'
compile mbed-os/connectivity/cellular/source/framework/AT/AT_CellularDevice.cpp
compile mbed-os/connectivity/cellular/source/framework/AT/AT_CellularContext.cpp
compile mbed-os/connectivity/cellular/source/framework/common/APN_db.cpp
compile DHT/DHT.cpp
In file included from /src/DHT/DHT.cpp:33:
/src/DHT/DHT.h:38:14: error: ISO C++ forbids forward references to 'enum' types
typedef enum eType eType;
             ^
/src/DHT/DHT.h:50:14: error: ISO C++ forbids forward references to 'enum' types
typedef enum eError eError;
             ^
/src/DHT/DHT.h:62:14: error: ISO C++ forbids forward references to 'enum' types
typedef enum eScale eScale;
             ^
/src/DHT/DHT.cpp:80:5: error: use of undeclared identifier 'wait_ms'
    wait_ms(18);
    ^
4 errors generated.
Internal error.
Build failed
Build failed

Library in the above build output: DHT2 - Temp and Humidity sensor device driver. | Mbed

Are there any DHT libraries for Keil Studio Cloud? Also, the biggest missing feature in Keil Studio Cloud is the ability to easily search and import libraries into the Online Compiler.

My hardware: NXP FRDM-K64F, DHT11 Grove Sensor with Grove Shield.

Hello,

You are not right.
That Is nothing together with Keil Studio, but it is related to MbedOs version and your knowlige about how mbed works. You can downgrade MbedOs to an older one for compatibility with this.

I alredy made an update. Check this Output from DHT22 - #4 by JohnnyK
Example is in its .h file.

BR, Jan

1 Like