Hello,
Answering your questions :
What is the maximum allowed size of the array passed to GattServer_SendInstantValueNotification()?
The max size it's ATT_MTU-3
How does GattServer_SendInstantValueNotification break up the data to send with respect to the MTU size?
If the attribute it's bigger, the GATT client must perform a read, for further information please check the spec Vol 3, Part F 3.4.7.1 Handle Value Notification
How do I know when the notification has been sent out and the hardware is ready to send more data?
The API adds to the queue in the controller, if it returns a gBleOverflow_c it means that the queue it's full and you need to wait.
Regards,
Estephania