diff --git a/measure.py b/measure.py
index 53aab29d9e0ddc884a8e392421624e23afa47952..b90645c33e738c1851db26d191e6d608e8a591f2 100644
--- a/measure.py
+++ b/measure.py
@@ -48,8 +48,8 @@ class OhmPiHardware:
         self.mux = kwargs.pop('mux', mux_module.Mux(exec_logger=self.exec_logger,
                                                     data_logger=self.data_logger,
                                                     soh_logger=self.soh_logger))
-        self.readings = np.array([])
-        self.readings_window = (0.3, 1.0)
+        self.readings = np.array([])  # time series of acquired data
+        self._start_time = None  # time of the beginning of a readings acquisition
 
     def _clear_values(self):
         self.readings = np.array([])
@@ -67,12 +67,13 @@ class OhmPiHardware:
             _readings = self.readings.tolist()
         sample = 0
         self.tx_sync.wait()
-        start_time = datetime.datetime.utcnow()
+        if not append or self._start_time is None:
+            self._start_time = datetime.datetime.utcnow()
         while self.tx_sync.is_set():
             lap = datetime.datetime.utcnow()
-            _readings.append([elapsed_seconds(start_time), self.tx.current, self.rx.voltage, self.tx.polarity])
+            _readings.append([elapsed_seconds(self._start_time), self.tx.current, self.rx.voltage, self.tx.polarity])
             sample+=1
-            sleep_time = start_time + datetime.timedelta(seconds = sample * sampling_rate / 1000) - lap
+            sleep_time = self._start_time + datetime.timedelta(seconds = sample * sampling_rate / 1000) - lap
             time.sleep(np.min([0, np.abs(sleep_time.total_seconds())]))
         self.readings = np.array(_readings)