Bluetooth SDK Forum Discussions
I read the documentation and watched the video about CYBT-213043-MESH board. I would like to make a server node that can send its sensor data and data from listening other nodes. So, I tried to modify from the example code (dimmable light) by adding a switch to control the light of other nodes (like dimmer). But only dimmable part could work after provisioning. I'm quite new about this board, so I looked for any solution or example for this.
Thank you!Show Less
We want to measure the processing time by the counter.
A timer of 1 mS is set by wiced_init_timer(,,,WICED_MILLI_SECONDS_PERIODIC_TIMER).
The callback process for that timer updates the upcount.
However, it seems that the timer callback is not called during the GATTC_OPTYPE_NOTIFICATION event.
Is this recognition correct?
Can I set callback and interrupt priorities somewhere?
We use CYBT-213043-MESH.
I am trying to understand BLE_HelloSensor with CYBT-213043-MESH Evalution Kit.
And I tried changing the size of notification,
It will not be larger than 20.
Even if wiced_bt_gatt_send_notification () is set to a length and data string exceeding 20, the receiving side will be 20 Bytes.
Is this a send problem or a receive problem?
Please let me know if any settings need to be changed.Show Less
I'm working with bluetooth mesh based product development.
I need to develop a mesh_sensor_server and a mesh_sensor_client.
sensor_server is working fine and it's publishing message at a certain interval, I took reference from mesh_sensor_server example proved with wiced studio.
Now, How to develop with mesh_sensor_client? Some guidelines will be really appreciated ?
How does sensor_client subscribes to sensor_server ?
I'm testing cypress mesh solution the below environment.
-. KIT : CYBT-213043-MESH
-. IDE : ModusToolbox 1.1
-. BT SDK 1.4
-. Code Example : Download BT SDK 1.4 example from GIT
-. Test : mesh location client / server among snip folder in code example.
About Bluetooth mesh messaging, I can see the below.
Acknowledged vs. Unacknowledged
As the name suggests, acknowledged messages require a response from the node that it is addressed to. The response confirms that the message was received and it may also return data back to the sender (e.g. in response to a GET). If a sender does not receive the expected response from a message it may resend it. Messages must be idempotent so that a message received more than once is no different than if it had only been received once.
GET, SET, STATUS
All access messages are of the three broad types of GET, SET, and STATUS.
GET messages request a state value from one or more nodes. A GET message is always acknowledged.
SET messages are used to change the value of a state. A SET message can be either acknowledged or unacknowledged.
STATUS messages are sent in response to a GET, and acknowledged SET, or may also be sent by a node independently, for example, periodically using a timer. A STATUS message is always unacknowledged. Therefore, if a node sends a GET message but never receives a STATUS return message, it may resend the GET message.
If then, In case of SET message, How do I distinguish between sending acknowledged and unacknowledged set messages?
Maybe, Is it related to the reply field of the wiced_bt_mesh_event_t structure?
For example, is it acknowledged set message if the reply field is true, or is it unacknowledged set message if the reply filed is false?
typedef struct wiced_bt_mesh_event__t
struct wiced_bt_mesh_event__t *p_next; /**< Pointer to the next event in the queue */
void *complete_callback; /**< pointer to the send complete callback */
uint16_t company_id; /**< Company ID for the Model ID */
uint16_t model_id; /**< Model ID */
uint16_t opcode; /**< Opcode of the message to be transmitted or that has been received */
uint16_t hci_opcode; /**< HCI Opcode received of the message from the MCU being processed */
uint8_t element_idx; /**< Element Index of the source or destination of the message */
uint8_t ttl; /**< Time to leave to be used when transmitting or as received from the peer */
uint16_t src; /**< Address of the source mesh node */
uint16_t dst; /**< Address of the destination mesh node */
uint16_t app_key_idx; /**< Application key index used to decrypt when message was received or which should be used to encrypt to send the message */
uint16_t num_in_group; /**< number of devices in the group list */
uint16_t *group_list; /**< If dst is a group address, this points to the array of with individual unicast addresses */
uint16_t data_len; /**< Length of data corresponding to the event */
uint8_t credential_flag;/**< Value of the Friendship Credential Flag */
uint8_t retrans_cnt; /**< Number of retransmissions for each message. Should be <= 0x7f. It is ignored using 0 value or if it is reply (reply == WICED_TRUE). */
#define RETRANSMIT_TIMER_TICK 50
uint8_t retrans_time; /**< Interval between retransmissions in 50-millisecond steps */
uint8_t reply; /**< If TRUE the reply is expected */
#define REPLY_TIMER_TICK 50
uint8_t reply_timeout; /**< Time to wait for the peer model layer acknowledgment in 50-millisecond steps */
#define TX_STATUS_COMPLETED 0
#define TX_STATUS_FAILED 1
#define TX_STATUS_ACK_RECEIVED 2
uint8_t tx_status; /**< Transmission failed or timeout occurred waiting for peer reply */
uint16_t friend_addr; /**< core sets it to friend address when calls complete_callback if segmented message has been sent and acked by the friend OnBehalfOf LPN. Otherwise it is 0 */
uint8_t send_segmented; /**< if non-0 then core uses segmentation to send that message even if it fits into unsegmented message. */
int8_t rssi; /**< RSSI of the received message */
there is configuration interface on the mesh client control, show it as below:
now I want to use it send the Heartbeat subscription and publication message to the light CTL server by the HCI Uart
the client have received the HCI message correctly and send the message successfully. however the light CTL server
can't receive the message iin the message receive callback API(get_msg_handler_callback).
the source and Destination address of message is corrent !
now I don't know how to settle it .
I find a question that if a device have been reset to factory,on the app,the device icon and message have not been removed from the provisioner,
I want to know if there is any API to notify the provisioner that the device was removed from the mesh network.
if there is a mechanism that the provisioner can get the network nodes heartbeat during a fixed period
I have been using the CYW920819EVB-02 on 2 laptops. 1 works fine but the other used to work, but now gives me an error that I can't fix with the Recover and Reset buttons
Detecting serial port ...
Found serial port : COM3
Downloading FW ...
Error creating a transport connection ( PORT=COM3
) Failed to open the specified port!
If you have issues downloading to the kit, follow the steps below -
Press and hold the 'Recover' button on the kit.
Press and hold the 'Reset' button on the kit.
Release the 'Reset' button.
After one second, release the 'Recover' button.
I have tried 3 different USB Ports
I uninstalled and installed Modus TB 1.1 (ModusToolbox Version: 1.1.0 Build ID: 234) and SDK 1.4
Nothing clears this error.
I have a BT MESH kit (CYBT-213043-MESH) and it works fine on both laptops.
How can I fix this?
Mike RobertsShow Less
I am a student working on the kit CYW920819 EVB-02. Recently, when I was working with the kit, the carrier module got separated from the baseboard. Then i have taken the board to a PCB professional who is in requirement of the hardware files to know the connection points of the carrier module to the baseboard. He expressed that it can be done if we know the hardware design files
But the files in the enclosed attachment are not being opened
I have tried with Cadence OrCAD software,Pspice Student Version,Eagle Software(for .brd files),NI Multisim(to open .dsn files)
but the are not being opened
Please suggest me a way to open each type of individual file in the attachment and also specify the specific software to be used to open them.Show Less
as I know, the CyBluetool can download the bt mesh firmware by the uart interface. I have carefully read the cybluetool user guide. however I still don't know how to use the Cybluetool to download the fireware.the fireware download steps as follows:
The tool provides a way for the user to download firmware onto a device via a 'Firmware Download' feature which can be
accessed from the 'Tools' menu on the menu bar.
In order to download a firmware onto a device, the tool need not be connected to the device in prior. The Firmware Download
interface provides options for the user to select the device and baud rate.
The user can select the files required for downloading the firmware onto the device. On selecting a BTP file, the tool looks for
information about the paths to the other files (minidriver, config and firmware file). If the paths to these files are provided, the
corresponding path fields are automatically populated by the tool.
If the user does not wish to use one of the files, it can be deselected. But at least one of config file or firmware file must be
provided for the firmware download to be executed.
The status progress of firmware download is displayed on the status bar. Any errors during firmware download are also
there are some files that need to be loaded to the CyBluetool download
1. BTP file: I don't know what is the BTP file and where I can get this file
2. Minidriver file: I don't know what is the BTP file and where I can get this file
3. Config file: I don't know what is the BTP file and where I can get this file
4. Filewire file: I think this is downloading xxx.hexShow Less