I'm also concerned that the ANCS API is a bit light on.
There's a whole attribute discovery algorithm supported by Apple that's important for many use cases, but is not yet exposed in the BeanAncs
.
To be more specific:
Although BeanAncs
includes getNotificationAttributes
, it looks like you can only receive one attribute at a time, whereas Apple's CommandIDGetNotificationAttributes
command permits fetching of multiple attributes at once -- much faster / more efficient.
It looks to me that to implement full ANCS support you need to be able to determine which attributes are available using Apple's CommandIDGetAppAttributes
. I can't see any support for attribute discovery in BeanAncs
.
Knowing the Arduino community, I bet this code has already been written for other BLE Arduino implementations and has been open sourced.
So, PTD, can you share any thoughts on where your ANCS implementation is going?
(Pinging @karel because I see you've been active on this thread.)