ryb080i 2.1.0.0
Loading...
Searching...
No Matches
Main Page

RYB080I Click

‍RYB080I Click is a compact add-on board for seamless Bluetooth Low Energy (LE) communication in various wireless applications. This board features the RYB080I, a 2.4GHz Bluetooth 4.2/5.0 LE module with an integrated antenna from REYAX, based on the TI CC2640R2F ARM® Cortex®-M3 MCU. This module supports dual-device connectivity, operates in both Host and Client roles, and includes a metal cover for EMI protection, ensuring stable performance even in noisy environments. With support for the Generic Attribute Profile (GATT) and easy setup via REYAX AT commands, integration into diverse systems is simplified.

Click Product page


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 :

  • ryb080i_cfg_setup Config Object Initialization function.
    void ryb080i_cfg_setup(ryb080i_cfg_t *cfg)
    RYB080I configuration object setup function.
    RYB080I Click configuration object.
    Definition ryb080i.h:160
  • ryb080i_init Initialization function.
    err_t ryb080i_init ( ryb080i_t *ctx, ryb080i_cfg_t *cfg );
    err_t ryb080i_init(ryb080i_t *ctx, ryb080i_cfg_t *cfg)
    RYB080I initialization function.
    RYB080I Click context object.
    Definition ryb080i.h:141
  • ryb080i_default_cfg Click Default Configuration function.
    err_t ryb080i_default_cfg ( ryb080i_t *ctx );

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 );
    void ryb080i_cmd_run(ryb080i_t *ctx, uint8_t *cmd)
    RYB080I cmd run function.
  • 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 );
    void ryb080i_cmd_set(ryb080i_t *ctx, uint8_t *cmd, uint8_t *param)
    RYB080I cmd set function.
  • 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 );
    void ryb080i_cmd_get(ryb080i_t *ctx, uint8_t *cmd)
    RYB080I cmd get function.

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" );
}
#define RYB080I_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition ryb080i.h:128
void application_init(void)
Definition main.c:152
@ RYB080I_POWER_UP
Definition main.c:67

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;
}
}
}
void application_task(void)
Definition main.c:185
@ RYB080I_CONFIG_EXAMPLE
Definition main.c:68
@ RYB080I_EXAMPLE
Definition main.c:69
@ RYB080I_OK
Definition ryb080i.h:183

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.