I've been implementing the HCI_READ_CLOCK_OFFSET command in order to speed up paging to a short list of previously paired devices. I keep a small look up table and every time i establish a connection i first check if it's BT Address is in the table, if it is i use the clock offset, if it isn't i connect -> read the clock offset -> store it for next time.
My issue is i'm repeatedly connecting to a single device to test this feature and i can see the clock offset varies wildly every time.
If i'm not mistaken the purpose is to speed up paging because the master and slave have synchronized clocks. If the value changes each time then this can't happen and the command has no purpose?
any help would be appreciated