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

Fatal error Peripheral Side "WRITE"

Hi, I am using the experimetal app_ble_blinky on both sides peripheral and central. I edited the peripheral characteristic sizes to 4 and I am able to send notification to the central with no issue.

But when I made changes(central side) to send 2 bytes or more to the peripheral, the peripheral give me a fatal error at the moment to send notifications and being not able to recive writte cmd from the central. If I remove the changes from the central all works(write just a byte to the peripheral) and able to notify 4bytes

for example ble_lbs_led_status_send funtion:

<    p_msg->req.write_req.gattc_params.handle   = p_ble_lbs_c->peer_lbs_db.led_handle;
p_msg->req.write_req.gattc_params.len      = sizeof(status);
p_msg->req.write_req.gattc_params.p_value  = p_msg->req.write_req.gattc_value;
p_msg->req.write_req.gattc_params.offset   = 0;
p_msg->req.write_req.gattc_params.write_op = BLE_GATT_OP_WRITE_CMD;
p_msg->req.write_req.gattc_value[0]        = status;		
p_msg->req.write_req.gattc_value[1]        = status;
	p_msg->req.write_req.gattc_value[2]        = 0x11;//status;
	p_msg->req.write_req.gattc_value[3]        = 0x12;>

I think the error is related to the cccd because it use the gattc_value[0] and [1] but I dont know how solve it. In additional to be able to add more values to gattc_value I changed the gattc_value[WRITE_MESSAGE_LENGTH] from 2 to 3(or more)

can some one give a hand?

thanks

Parents Reply Children
Related