ryb080i  2.1.0.0
Main Page

RYB080I click

PRVIH_PAR_RECENICA_SA_PRODUCT_PAGE_DA_ISPRATE_CELINU

[click Product page](CLICK_PRODUCT_PAGE_LINK)


Click library

  • Author : Stefan Filipovic
  • Date : Aug 2024.
  • Type : UART type

Software Support

We provide a library for the RYB080I Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for RYB080I Click driver.

Standard key functions :

Example key functions :

  • ryb080i_cmd_run This function sends a specified command to the click module.
    void ryb080i_cmd_run ( ryb080i_t *ctx, uint8_t *cmd );
  • ryb080i_cmd_set This function sets a value to a specified command of the click module.
    void ryb080i_cmd_set ( ryb080i_t *ctx, uint8_t *cmd, uint8_t *param );
  • ryb080i_cmd_get This function is used to get the value of a given command from the click module.
    void ryb080i_cmd_get ( ryb080i_t *ctx, uint8_t *cmd );

Example Description

This example demonstrates the use of RYB080I click board by processing data from a connected BT device.

The demo application is composed of two sections :

Application Init

Initializes the driver and logger.

void application_init ( void )
{
log_cfg_t log_cfg;
ryb080i_cfg_t ryb080i_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
ryb080i_cfg_setup( &ryb080i_cfg );
RYB080I_MAP_MIKROBUS( ryb080i_cfg, MIKROBUS_1 );
if ( UART_ERROR == ryb080i_init( &ryb080i, &ryb080i_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
app_state = RYB080I_POWER_UP;
log_printf( &logger, ">>> APP STATE - POWER UP <<<\r\n\n" );
}

Application Task

Application task is split in few stages:

  • RYB080I_POWER_UP:

    Powers up the device and reads the system information.

  • RYB080I_CONFIG_EXAMPLE:

    Sets the BT device name and enables the full power mode.

  • RYB080I_EXAMPLE:

    Performs a BT terminal example by processing all data from connected BT devices and sending back an adequate response messages.

void application_task ( void )
{
switch ( app_state )
{
{
if ( RYB080I_OK == ryb080i_power_up( &ryb080i ) )
{
log_printf( &logger, ">>> APP STATE - CONFIG EXAMPLE <<<\r\n\n" );
}
break;
}
{
if ( RYB080I_OK == ryb080i_config_example( &ryb080i ) )
{
app_state = RYB080I_EXAMPLE;
log_printf( &logger, ">>> APP STATE - EXAMPLE <<<\r\n\n" );
}
break;
}
{
ryb080i_example( &ryb080i );
break;
}
default:
{
log_error( &logger, " APP STATE." );
break;
}
}
}

Note

We have used the Serial Bluetooth Terminal smartphone application for the test. A smartphone and the click board must be paired to exchange messages.

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.RYB080I

Additional notes and informations

Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


ryb080i_cfg_setup
void ryb080i_cfg_setup(ryb080i_cfg_t *cfg)
RYB080I configuration object setup function.
ryb080i_cmd_get
void ryb080i_cmd_get(ryb080i_t *ctx, uint8_t *cmd)
RYB080I cmd get function.
RYB080I_POWER_UP
@ RYB080I_POWER_UP
Definition: main.c:67
application_task
void application_task(void)
Definition: main.c:185
ryb080i_t
RYB080I Click context object.
Definition: ryb080i.h:141
RYB080I_OK
@ RYB080I_OK
Definition: ryb080i.h:183
RYB080I_EXAMPLE
@ RYB080I_EXAMPLE
Definition: main.c:69
ryb080i_cfg_t
RYB080I Click configuration object.
Definition: ryb080i.h:160
ryb080i_cmd_set
void ryb080i_cmd_set(ryb080i_t *ctx, uint8_t *cmd, uint8_t *param)
RYB080I cmd set function.
RYB080I_MAP_MIKROBUS
#define RYB080I_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: ryb080i.h:128
ryb080i_init
err_t ryb080i_init(ryb080i_t *ctx, ryb080i_cfg_t *cfg)
RYB080I initialization function.
ryb080i_cmd_run
void ryb080i_cmd_run(ryb080i_t *ctx, uint8_t *cmd)
RYB080I cmd run function.
application_init
void application_init(void)
Definition: main.c:152
RYB080I_CONFIG_EXAMPLE
@ RYB080I_CONFIG_EXAMPLE
Definition: main.c:68