Skip to content

Commit 8d60c13

Browse files
authored
Merge pull request #2 from ShimmerEngineering/SWF-18
SWF-18
2 parents ad608c8 + 3ece2d2 commit 8d60c13

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

ShimmerBluetooth/ShimmerBluetooth/ObjectCluster.swift

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class ObjectCluster {
1212
public var SignalNames : [String] = []
1313
public var SignalData : [Double] = []
1414
let Seperator = "_"
15+
public var PacketReceptionRate = -1
1516
public func addData(sensorName:String,formatName:String,unitName:String,value:Double){
1617
let newName = [sensorName,Seperator,formatName,Seperator,unitName].joined()
1718
SignalNames.append(newName)

ShimmerBluetooth/ShimmerBluetooth/Shimmer3Protocol.swift

+18-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ public class Shimmer3Protocol : NSObject, ShimmerProtocol {
2020
}
2121
}
2222

23-
23+
var startTime = Date()
24+
var numberOfPackets = 0
2425
public var REV_HW_MAJOR: Int = -1
2526

2627
public var REV_HW_MINOR: Int = -1
@@ -39,7 +40,6 @@ public class Shimmer3Protocol : NSObject, ShimmerProtocol {
3940

4041
public var EXPANSION_BOARD_REV_SPECIAL: Int = -1
4142

42-
4343
var lnAccelSensor: LNAccelSensor = LNAccelSensor()
4444
public var wrAccelSensor: WRAccelSensor = WRAccelSensor()
4545
var timeSensor: TimeSensor = TimeSensor()
@@ -400,6 +400,21 @@ public class Shimmer3Protocol : NSObject, ShimmerProtocol {
400400
if battVoltageSensor.sensorEnabled{
401401
ojc = battVoltageSensor.processData(sensorPacket: bytes, objectCluster: ojc)
402402
}
403+
if (numberOfPackets==0){
404+
startTime = Date()
405+
}
406+
numberOfPackets+=1
407+
let endTime = Date()
408+
var elapsedTime = endTime.timeIntervalSince(self.startTime)
409+
if (elapsedTime == 0){
410+
elapsedTime = 1
411+
}
412+
var PRR = Int((((Double)(numberOfPackets)/self.CurrentSamplingRate)/elapsedTime)*100)
413+
if (PRR>100){
414+
PRR=100
415+
}
416+
ojc.PacketReceptionRate = PRR
417+
print("Elapsed time: \(elapsedTime) seconds ; Number of packets: \(numberOfPackets) ; Packet Reception Rate(%): \(PRR)")
403418
return ojc
404419
}
405420

@@ -1145,6 +1160,7 @@ public class Shimmer3Protocol : NSObject, ShimmerProtocol {
11451160
}
11461161
if (result!){
11471162
print("StartStreaming!")
1163+
numberOfPackets = 0
11481164
self.changeState(btState:Shimmer3BTState.STREAMING)
11491165
}
11501166
return result

0 commit comments

Comments
 (0)