Bug Report: Wiced_006.002.001.0002 SuperMux / CYW20719/CYBT_413034_EVAL

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
StN__1917156
Level 4
Level 4
25 replies posted 10 replies posted 5 replies posted

There are plenty of errors that current version of WICED generates because of SuperMux Tools.

Attached are logs and generated code.

The only places I manually changed in the generated bsc01_pin_config.c file was @ button declarations:

.button_pressed_value = GPIO_PIN_OUTPUT_LOW, //was GPIO_PIN_OUTPUT_HIGH which doesnt make sense

because default state of pulled up input (.default_state = GPIO_PIN_OUTPUT_HIGH,) doesn’t make any sense with pressed value to be the same.

The I2C setting nothing touched from what was default proposed initially (WICED_I2C_2_*) and generated and still generates errors!

SuperMuxGenerated_C.png

.....

../apps/w191/bsc01/bsc01_pin_config.c:15:35: error: 'WICED_I2C_2_SDA' undeclared here (not in a function); did you mean 'WICED_I2C_1_SDA'?

   [PLATFORM_GPIO_3] = {WICED_P16, WICED_I2C_2_SDA},

                                   ^~~~~~~~~~~~~~~

                                   WICED_I2C_1_SDA

../apps/w191/bsc01/bsc01_pin_config.c:16:35: error: 'WICED_I2C_2_SCL' undeclared here (not in a function); did you mean 'WICED_I2C_1_SCL'?

   [PLATFORM_GPIO_4] = {WICED_P17, WICED_I2C_2_SCL},

                                   ^~~~~~~~~~~~~~~

                                   WICED_I2C_1_SCL

../apps/w191/bsc01/bsc01_pin_config.c:30:42: error: 'GPIO_EN_INT_FALING_EDGE' undeclared here (not in a function); did you mean 'GPIO_EN_INT_FALLING_EDGE'?

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                                          ^~~~~~~~~~~~~~~~~~~~~~~

                                          GPIO_EN_INT_FALLING_EDGE

../apps/w191/bsc01/bsc01_pin_config.c:30:40: error: invalid operands to binary | (have 'int' and 'wiced_platform_gpio_t * {aka struct <anonymous> *}')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                                        ^

../apps/w191/bsc01/bsc01_pin_config.c:30:66: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                  ~~~~~~~~~~~~~~~~~~~~~                           ^

../apps/w191/bsc01/bsc01_pin_config.c:31:6: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                  ~~~~~~~~~~~~~~~~~~~~~

      | GPIO_PULL_UP),

      ^

../apps/w191/bsc01/bsc01_pin_config.c:30:17: warning: initialization makes integer from pointer without a cast [-Wint-conversion]

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                 ^

../apps/w191/bsc01/bsc01_pin_config.c:30:17: note: (near initialization for 'platform_button[0].config')

../apps/w191/bsc01/bsc01_pin_config.c:30:17: error: initializer element is not constant

../apps/w191/bsc01/bsc01_pin_config.c:30:17: note: (near initialization for 'platform_button[0].config')

../apps/w191/bsc01/bsc01_pin_config.c:38:40: error: invalid operands to binary | (have 'int' and 'wiced_platform_gpio_t * {aka struct <anonymous> *}')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                                        ^

../apps/w191/bsc01/bsc01_pin_config.c:38:66: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                  ~~~~~~~~~~~~~~~~~~~~~                           ^

../apps/w191/bsc01/bsc01_pin_config.c:39:6: error: invalid operands to binary | (have 'wiced_platform_gpio_t * {aka struct <anonymous> *}' and 'int')

     .config   = (GPIO_INTERRUPT_ENABLE | GPIO_EN_INT_FALING_EDGE | GPIO_INPUT_ENABLE

                  ~~~~~~~~~~~~~~~~~~~~~

      | GPIO_PULL_UP),

.....

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello,

I think its a mistake in the CYBT_413034 platform files. There is no I2C_2 available and by default the supermux wizard is enabled with I2C_2

Either please remove the I2C and add again in the wizard , or in the config.c file generated, change I2C_2 to I2C_1 and build the project.

Sorry for the inconvenience caused.

Regards,
Anjana

View solution in original post

4 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello,

I think its a mistake in the CYBT_413034 platform files. There is no I2C_2 available and by default the supermux wizard is enabled with I2C_2

Either please remove the I2C and add again in the wizard , or in the config.c file generated, change I2C_2 to I2C_1 and build the project.

Sorry for the inconvenience caused.

Regards,
Anjana

Yes, but I2C number is not the only problem:

- GPIO_EN_INT_FALING_EDGE  is set in both SuperMuxConfig.wst for CYBT_413034_EVAL and CYW920719Q40EVB_01 platforms, while in wiced_hal_gpio.h is declared GPIO_EN_INT_FALLING_EDGE

- in generated *_pin_config.c files always

.button_pressed_value = GPIO_PIN_OUTPUT_HIGH

but shouldn't it be opposite to what is .default_state? (Especially when there is no option in the SuperMux dialogs to set button_pressed_value)

Edit:

Also wiced_hal_gpio_configure_pin() with certain config parameters fails, but the problem is posted separately

Thanks

0 Likes

Hi ,

Thanks for pointing out the errors. I will forward this to our software team to fix .

Sorry for the inconvenience caused.

Regards,
Anjana

Hello,

Want to update the thread as per the internal interactions , platforms in WICED 6.2.1 has been stopped updating now. The Supermux GUI is not perfect and its recommended for customers to use APIs directly in their application.

Sorry for the inconvenience caused.

Regards,

Anjana

0 Likes