Hi,
I am using a CSR1010 Development kit to listen to other CSR1010 advertisement and mesh data.
Test condition
H/W
- CSR1010 Development kit
S/W
- reference code > 55945_CSRmesh-1.3-Android-Application_icp.zip > CSRMeshLight
- SDK version : 2.6.0.10
- Project Propertis >
Output Type : Executable
NVM Type : EEPROM
Erase NVM : Yes
CS Key File : light_csr101x_A05.keyr
Libraries : csrmesh lightclient powerclient lightmodel powermodel firmwaremodel bearermodel batterymodel pingmodel attentionmodel streammodel
Library Search Paths : ..\..\libraries
Include Paths : ..\..\include
Strip Symbols : No
Include OTA Update Bootloader : No
Version (OTA Update Bootloader) : 7
- light_csr101x_A05.keyr >
>DECIMAL_CS_VERSION=83
// (0001) - Bluetooth device address
&BDADDR = 1583 5b00 0072
// (0002) - Crystal frequency trim
&CRYSTAL_FTRIM = 0020
// CSR_MESH_CS_USERKEY_INDEX_ADV_INTERVAL = 0
// CSR_MESH_CS_USERKEY_INDEX_ADV_TIME = 1
// CSKEY_INDEX_USER_FLAGS = 2
// Bit Field[0] = RANDOM_UUID_ENABLE
// Bit Field[1] = RELAY_ENABLE
// Bit Field[2] = BRIDGE_ENABLE
&USER_KEYS = 005A 0258 0007 0000 0000 0000 0000 0070
// Always set the nvm start to f7ff or higher when using OTA Upgrade
&NVM_START_ADDRESS = f800
&NVM_SIZE = 0100
// Comment out the following block if EEPROM is used
// CS Keys values for 512kbit SPI Memory - These CS keys should be used if
// SPI Memory is being used.
//&spi_flash_block_size = 1000 // SPI flash block size in bytes(Hex)
//&nvm_num_spi_blocks = 2 // Two blocks reserved for NVM
//&nvm_start_address = e000 // Default value(in hex) for a 512kbit
// // Memory
//&nvm_size = 100 // Default value(number of words for a
// // 512kbit Memory
- Changes: csr_mesh_light.c >
312 line: uint16 nwKeyForTesting[3][8] = {
// {0xaa0f,0xcbed,0xdd11,0x988c,0xbb50,0x85cb,0x2dc5,0x09d1},
{0x6fbf,0xa66e,0x213d,0xb7ec,0x5bdb,0xa90b,0x23a6,0x4959},
{0xab0f,0xcbed,0xdd11,0x988c,0xbb50,0x85cb,0x2dc5,0x08d1},
{0x61f4,0x0044,0x8294,0x3efb,0x8f26,0x405c,0x4108,0x873e}
};
1089 line: // init deviceId, assocState, networkKey
g_node_data.device_id = 0x8001;
Nvm_Write((uint16 *)&g_node_data.device_id, 1, NVM_OFFSET_DEVICE_ID);
g_lightapp_data.assoc_state = app_state_associated;
Nvm_Write((uint16 *)&g_lightapp_data.assoc_state, 1,
NVM_OFFSET_ASSOCIATION_STATE);
memcpy(g_node_data.nw_key.key, nwKeyForTesting[0], sizeof(g_node_data.nw_key.key));
Nvm_Write((uint16 *)g_node_data.nw_key.key, sizeof(CSR_MESH_NETWORK_KEY_T),
NVM_OFFSET_NETWORK_KEY);
When turned on for the first time, the reference board receives mesh data and LED turns on and off well.
But, the reference board can't recieve any more after a random time(1hour ~ 2day). In other words, LED on/off does not work.
In other symptoms, The reference board is not scaned more on my smart phone.
When I put the Debug message, the board did not die. Even Mesh data can transmit.(recieve X)
Do you know this problem?
Or you know how to reboot when a problem occurs?
Please help.