|
5 | 5 | # pylint: disable=invalid-name |
6 | 6 | import time |
7 | 7 | import threading |
8 | | -import math |
9 | 8 | import copy |
10 | 9 | import psutil |
11 | 10 |
|
@@ -111,31 +110,32 @@ def __find_rf2_pid(self): |
111 | 110 | break |
112 | 111 |
|
113 | 112 | @staticmethod |
114 | | - def playerIndexCheck(value): |
115 | | - """ Check player index number (max 128 players) """ |
116 | | - for _player in range(127): |
117 | | - if value.mVehicles[_player].mIsPlayer == 1: |
| 113 | + def playerIndexCheck(input_data): |
| 114 | + """ Check player index number on one same data piece """ |
| 115 | + for _player in range(127): # max 128 players supported by API |
| 116 | + if input_data.mVehicles[_player].mIsPlayer == 1: # use 1 to avoid chance of reading inf or NaN |
118 | 117 | break |
119 | 118 | return _player |
120 | 119 |
|
121 | 120 | @staticmethod |
122 | | - def data_verified(value): |
| 121 | + def data_verified(input_data): |
123 | 122 | """ Verify data """ |
124 | | - return value.mVersionUpdateEnd == value.mVersionUpdateBegin |
| 123 | + return input_data.mVersionUpdateEnd == input_data.mVersionUpdateBegin |
125 | 124 |
|
126 | 125 | def __infoUpdate(self): |
127 | 126 | """ Update shared memory data """ |
128 | 127 | while self.data_updating: |
129 | | - data_scor = copy.deepcopy(self.Rf2Scor) |
| 128 | + data_scor = copy.deepcopy(self.Rf2Scor) # use deepcopy to avoid data interruption |
130 | 129 | if self.data_verified(data_scor): |
131 | | - self.players_index = self.playerIndexCheck(data_scor) |
132 | | - self.players_mid = data_scor.mVehicles[self.players_index].mID |
133 | | - self.LastScor = data_scor |
| 130 | + self.players_index = self.playerIndexCheck(data_scor) # update player index |
| 131 | + self.players_mid = data_scor.mVehicles[self.players_index].mID # update player mID |
| 132 | + self.LastScor = data_scor # update scoring data |
134 | 133 |
|
135 | 134 | data_tele = copy.deepcopy(self.Rf2Tele) |
136 | 135 | if self.data_verified(data_tele): |
| 136 | + # Compare player mID & sync data |
137 | 137 | if data_tele.mVehicles[self.players_index].mID == self.players_mid: |
138 | | - self.LastTele = data_tele |
| 138 | + self.LastTele = data_tele # update synced telemetry data |
139 | 139 |
|
140 | 140 | time.sleep(0.01) |
141 | 141 | else: |
|
0 commit comments