The function StartScan()
is called trough a button-click and addDevices()
creates the output dynamically. I want this output every 2 or 5 seconds automatically updated.
In the console I see that the function StartScan()
reloads automatically, so the values are there and I just have put the addDevice()
function in a loop.
Where am I wrong?
function startScan()
{
var paramsObj = {serviceUuids:[]};
console.log("Start Scan : " + JSON.stringify(paramsObj));
bluetoothle.startScan(startScanSuccess, startScanError, paramsObj);
return false;
}
function startScanSuccess(obj)
{
console.log("Start Scan Success : " + JSON.stringify(obj));
if (obj.status == "scanResult")
{
console.log("Scan Result");
addDevice(obj.address, obj.name, obj.rssi);
}
else if (obj.status == "scanStarted")
{
console.log("Scan Started");
}
else
{
console.log("Unexpected Start Scan Status");
}
}
function addDevice(address, name, rssi)
{
var $devices = $(".devices");
var $check = $devices.find("li[data-address='{0}']".format(address));
if ($check.length > 0)
{
return;
}
var template = $("#device").text().format(address, name, rssi);
$devices.append(template);
$devices.trigger("create");
window.setTimeout(50000);
console.log("Loop: " + i);
if (rssi < -100){
alert(name + " lost proximity");
}
setInterval( function(){ addDevice(adress, name, rssi);}, 2000);
}