Nexus Keycode Integration in STM32 Based System

Hi,

I am trying to integrate nexus keycode in to existing system code with STM32. But facing issues as some files have dependencies related to OC header files.
Can you share implementation example which is not Zephyr based to get better understanding of Nexus embedded integration ?

Mansi,

Welcome! Unfortunately, we only have examples on Zephyr and Linux platforms right now.

If you are just trying to use Nexus Keycode and having dependency problems with OC files, that suggests to me that the library is not configured properly. OC files should only be used by Nexus Channel. Can you please try:

  1. Revert any changes you might have made in the src folder.
  2. Change directory to the nexus folder.
  3. Follow these directions and remove any Nexus Channel configuration options. After saving, feel free to share your nexus/include/user_config.h file here if you’re still having problems.

Thanks and let me know how it goes,

Eric

Hi Eric,

I have not enabled nexus channel. Please find config file below.

/**-------------------------------------------
DO NOT MODIFY, AUTOGENERATED CODE.
TO CHANGE THESE VALUES, RUN
python conf_nexus.py FROM THE PROJECT ROOT!
---------------------------------------------*/

#define CONFIG_NEXUS_COMMON_ENABLED 1
#define CONFIG_NEXUS_KEYCODE_ENABLED 1
#define CONFIG_NEXUS_KEYCODE_USE_FULL_KEYCODE_PROTOCOL 1
#define CONFIG_NEXUS_KEYCODE_RATE_LIMITING_ENABLED 1
#define CONFIG_NEXUS_KEYCODE_PROTOCOL_RATE_LIMIT_BUCKET_MAX 128
#define CONFIG_NEXUS_KEYCODE_PROTOCOL_RATE_LIMIT_BUCKET_INITIAL_COUNT 6
#define CONFIG_NEXUS_KEYCODE_PROTOCOL_RATE_LIMIT_REFILL_SECONDS_PER_ATTEMPT 720
#define CONFIG_NEXUS_KEYCODE_ENABLE_FACTORY_QC_CODES 1
#define CONFIG_NEXUS_KEYCODE_PRO_FACTORY_QC_SHORT_LIFETIME_MAX 5
#define CONFIG_NEXUS_KEYCODE_PRO_FACTORY_QC_LONG_LIFETIME_MAX 5
#define CONFIG_NEXUS_KEYCODE_PROTOCOL_ENTRY_TIMEOUT_SECONDS 16

Mansi,

Your config looks good to me. What dependency problems are you having? Please explain/show what you are trying to do and what the output is.

Eric

Eric,

Even after not including channel folders into the project the nexus core files have calls to OC, messanging/coap header files due to which I am facing compilation errors.
I have to find and remove include instructions from nexus core files to no compilation errors.

Fatal Error[Pe1696]: cannot open source file "oc_config.h"	C:\Source_Code_Directory\PayGo\PayGo_Armour0_G0_Angaza - notworking\nexus\oc\messaging\coap\conf.h	54