can't set BLE readRSSI frequency below 1.0s

I set a timer to read a BLE RSSI, frequency is 0.01s, use readRSSI api, but the result can't return per 0.01s, it seems like 1.0s. So I want to know whether the frequency can't below 1.0s .



- (IBAction)readRSSI:(id)sender {


if (_timer == nil){

_timer=[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(startReadRSSI) userInfo:nil repeats:YES];

}

_timer.fireDate = [NSDate date];



}


- (void)startReadRSSI

{

[self.peri readRSSI];

}


-(void)peripheral:(CBPeripheral *)peripheral didReadRSSI:(NSNumber *)RSSI error:(NSError *)error

{

NSLog(@"%@",RSSI);

}

Keep in mind that the frequency can vary by device may be determined by firmware, meaning your app might have to work with a generic rate that fits the devices you expect it to encounter.


See http://stackoverflow.com/questions/15540481/corebluetooth-reading-rssi-errorthe-operation-was-cancelled

Hi fanren.gao,

Did you find why the frequency can't be below 1.0s?

I'm facing exactly the same issue and didn't find any answer yet :/

It doesn't seem to come from the BLE device because when using an smartphone running on Android, we've managed to get the RSSI every 200 ms.

can't set BLE readRSSI frequency below 1.0s
 
 
Q