This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

experimental_ble_app_gzll

hello gzll of experimental_ble_app_gzll is not send

#include "ble_app_gzll_device.h"
#include <stdint.h>
#include "nordic_common.h"
#include "app_error.h"
#include "nrf_gzll.h"
#include "nrf_gzll_error.h"
#include "ble_app_gzll_ui.h"
#include "bsp.h"
#include "nrf_gzll.h"
#include "nrf_gzp.h"
#include "nrf_gzllde_params.h"
#include "nrf_delay.h"
#define MAX_TX_ATTEMPTS         100  /**< Maximum number of Transmit attempts.*/
#define DUMMY_PACKET            0x80 /**< First payload.*/
#define NB_TX_WITH_SAME_PAYLOAD 3    /**< Number of times each packet is sent (this avoid changing the payload too quickly and allows to have a visible LED pattern on the receiver side).*/
#define PAYLOAD_SIZE            8    /**< Size of the payload to send over Gazell.*/
#define PIPE_TO_HOST            0    /**< Pipe number. */


static uint8_t m_gzll_packet[PAYLOAD_SIZE];
unsigned char buff[32] = {0x08,0x02,0x00 ,0x20 ,0xDD ,0x00 ,0x00 ,0xE0 ,0x8C ,0x3E ,0x00 ,0x0C ,0x36 ,0x3F ,0x00 ,0x80 ,0x0A ,0xBF ,0x00 ,0x98 ,0xB5 ,0x3E ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x74 ,0x8F ,0x02 ,0x00 ,0x28};
static bool system_addr_received = false; ///< System address receivedfrom Host.

/**@brief Function for starting Gazell functionality.
 */
void gzll_app_start(void)
{
//    GAZELLE_ERROR_CODE_CHECK(nrf_gzll_init(NRF_GZLL_MODE_DEVICE));
//    GAZELLE_ERROR_CODE_CHECK(nrf_gzll_set_max_tx_attempts(MAX_TX_ATTEMPTS));
//    GAZELLE_ERROR_CODE_CHECK(nrf_gzll_enable());

//    // Add a packet to the TX FIFO to start the data transfer.
//    // Next packets to send will be added.
//    m_gzll_packet[0] = DUMMY_PACKET;
//    GAZELLE_ERROR_CODE_CHECK(nrf_gzll_add_packet_to_tx_fifo(PIPE_TO_HOST,
//                                                            m_gzll_packet,
//                                                              	PAYLOAD_SIZE));
	
	
	unsigned char ch_table[] = {3, 23, 40, 61, 75};
	    bool init_ok = false;
     uint32_t err_code;

			  init_ok = true;
    // Initialize and enable Gazell
    init_ok &= nrf_gzll_init(NRF_GZLL_MODE_DEVICE);
    
//    // Ensure Gazell parameters are configured.
//    init_ok &= nrf_gzll_set_max_tx_attempts(10);
//    init_ok &= nrf_gzll_set_device_channel_selection_policy(NRF_GZLLDE_DEVICE_CHANNEL_SELECTION_POLICY);
//    init_ok &= nrf_gzll_set_timeslot_period(NRF_GZLLDE_RXPERIOD_DIV_2);
//    init_ok &= nrf_gzll_set_sync_lifetime(0); // Asynchronous mode, more efficient for pairing.

		
		init_ok &= nrf_gzll_set_max_tx_attempts(20);
		init_ok &= nrf_gzll_set_device_channel_selection_policy(NRF_GZLLDE_DEVICE_CHANNEL_SELECTION_POLICY);
		init_ok &= nrf_gzll_set_timeslot_period(540);
		init_ok &=nrf_gzll_set_timeslots_per_channel(2);
		init_ok &= nrf_gzll_set_timeslots_per_channel_when_device_out_of_sync(2);
		init_ok &= nrf_gzll_set_sync_lifetime(0); 
		init_ok &=  nrf_gzll_set_datarate(NRF_GZLL_DATARATE_2MBIT);
		init_ok &= nrf_gzll_set_channel_table(ch_table, sizeof(ch_table));

 

    
    gzp_init();

    init_ok &= nrf_gzll_enable();
		
		while(!system_addr_received)
    {
      system_addr_received = gzp_address_req_send();
 
      nrf_delay_ms(10);		
    }
		
		
		nrf_gzp_disable_gzll();

		init_ok &= nrf_gzll_set_max_tx_attempts(3);
		init_ok &= nrf_gzll_set_device_channel_selection_policy(NRF_GZLL_DEVICE_CHANNEL_SELECTION_POLICY_USE_CURRENT);
		init_ok &= nrf_gzll_set_timeslot_period(750);
		init_ok &= nrf_gzll_set_sync_lifetime(100); 
		nrf_gzll_set_tx_power(NRF_GZLL_TX_POWER_4_DBM);
		nrf_gzll_enable();
		
		uint32_t result;

	
    if(init_ok)
    {
        while(1)
        {

           buff[4]+=1;
					 buff[5]+=1;
          					          

					
            while(!nrf_gzll_ok_to_add_packet_to_tx_fifo(NRFR_MOUSE_EP))
            {}

            // Add mouse packet to the mouse pipe's TX FIFO.

						nrf_gzll_add_packet_to_tx_fifo(NRFR_MOUSE_EP, buff, 32);

  

        }
    }
}
Parents Reply Children
No Data
Related