123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- /**
- * \file cli_brr.c
- *
- * This File contains the "main" function for the CLI application,
- * to exercise various functionalities of the Mindtree Mesh stack.
- */
- /*
- * Copyright (C) 2017. Mindtree Ltd.
- * All rights reserved.
- */
- /* ------------------------------- Header File Inclusion */
- #include "cli_main.h"
- #include "blebrr.h"
- /* --------------------------------------------- External Global Variables */
- /* ------------------------------- Global Variables */
- DECL_CONST CLI_COMMAND cli_core_client_menu_cmd_list[] =
- {
- /* Help */
- { "help", "Help", cli_help },
- /* Create GATT Connection to Peer */
- { "connect", "Create GATT Connection", cli_create_gatt_conn},
- /* Initiate GATT Disconnection with Peer */
- { "disconnect", "Terminate GATT Connection", cli_terminate_gatt_conn },
- /* Start or Stop Scan in Bearer */
- { "scan", "Enable/Disable Scanning", cli_scan_feature},
- /* Set Scan Response Data */
- { "srsp_set", "Set Scan Response Data", cli_scan_rsp_data_set},
- /* Discover GATT Bearer Services */
- {"discover", "Discover GATT Service", cli_discover_service},
- /* Enable/Disable GATT Bearer Services for Notfications */
- {"config_ntf", "Enable/Disable Notification", cli_config_ntf},
- /* Back */
- { "back", "One Level Up", cli_back },
- /* Root */
- { "root", "Back to Root", cli_root }
- };
- /* ------------------------------- Functions */
- API_RESULT cli_brr(UINT32 argc, UCHAR *argv[])
- {
- cli_cmd_stack_push((CLI_COMMAND *)cli_core_client_menu_cmd_list, sizeof(cli_core_client_menu_cmd_list) / sizeof(CLI_COMMAND));
- cli_help(argc, argv);
- return API_SUCCESS;
- }
- API_RESULT cli_create_gatt_conn(UINT32 argc, UCHAR *argv[])
- {
- UCHAR peer_bd_addr_type;
- UCHAR peer_bd_addr[6];
- API_RESULT retval;
- if (2 != argc)
- {
- CONSOLE_OUT("Usage: connect <Peer Address Type> <Peer Address MSB-LSB>\n");
- return API_FAILURE;
- }
- peer_bd_addr_type = (UCHAR)CLI_strtoi(argv[0], (UINT8)CLI_strlen(argv[0]), 16);
- CLI_strtoarray
- (
- argv[1],
- CLI_strlen(argv[1]),
- &peer_bd_addr[0],
- 6
- );
- retval = blebrr_create_gatt_conn_pl(peer_bd_addr_type, peer_bd_addr);
- CONSOLE_OUT("retval = 0x%04X\n", retval);
- return retval;
- }
- API_RESULT cli_scan_feature(UINT32 argc, UCHAR *argv[])
- {
- CONSOLE_OUT("\n Scan Start Stop Feature to be extended for CLI\n");
- return API_FAILURE;
- }
- API_RESULT cli_scan_rsp_data_set(UINT32 argc, UCHAR *argv[])
- {
- /**
- * Currently setting MT-MESH-DEMO as Complete Device Name!
- * This can be updated to each individual devices as per requirement.
- */
- UCHAR cli_brr_scanrsp_data[] = {
- /**
- * Shortened Device Name: MT-MESH-DEMO
- */
- 0x0D, 0x09, 'M', 'T', '-', 'M', 'E', 'S', 'H', '-', 'D', 'E', 'M', 'O'
- };
- CONSOLE_OUT("\n Setting MT-MESH-DEMO as Complete Device Name!\n");
- /* Set the Scan Response Data at the Bearer Layer */
- blebrr_set_adv_scanrsp_data_pl
- (
- cli_brr_scanrsp_data,
- sizeof(cli_brr_scanrsp_data)
- );
- return API_SUCCESS;
- }
- API_RESULT cli_terminate_gatt_conn(UINT32 argc, UCHAR *argv[])
- {
- API_RESULT retval;
- retval = blebrr_disconnect_pl();
- if (API_SUCCESS != retval)
- {
- CONSOLE_OUT("Failed to stop Adv");
- return retval;
- }
- CONSOLE_OUT("Disconnected successfully\n\n");
- return retval;
- }
- API_RESULT cli_discover_service(UINT32 argc, UCHAR *argv[])
- {
- UCHAR service;
- if (1 != argc)
- {
- CONSOLE_OUT("Usage: discover <Service:[0-Mesh Provisioning service, 1-Mesh Proxy Service]>\n");
- return API_FAILURE;
- }
- service = (UCHAR)CLI_strtoi(argv[0], (UINT8)CLI_strlen(argv[0]), 16);
- return blebrr_discover_service_pl(service);
- }
- API_RESULT cli_config_ntf(UINT32 argc, UCHAR *argv[])
- {
- UCHAR config_ntf;
- UCHAR mode;
- if (2 != argc)
- {
- CONSOLE_OUT("Usage: config_ntf < 0 - Disable, 1 - Enable> <Service:[0-Mesh Provisioning service, 1-Mesh Proxy Service]>\n");
- return API_FAILURE;
- }
- config_ntf = (UCHAR)CLI_strtoi(argv[0], (UINT8)CLI_strlen(argv[0]), 16);
- mode = (UCHAR)CLI_strtoi(argv[1], (UINT8)CLI_strlen(argv[1]), 16);
- return blebrr_confige_ntf_pl(config_ntf, mode);
- }
|