nanohub: drivers/st_mag40: (FIX) Move timestamping away from interrupt

Timestamp value must not be taken inside isr routine as it may be
overwritten by next interrupt before getting used hence causing troubles
at cts testing level (testSensorsMovingRates, testSensorsWithSeveralClients).

Change-Id: If174c152628ec50e223f2950be86588485ef20d1
Signed-off-by: Armando Visconti <armando.visconti@st.com>
diff --git a/firmware/os/drivers/st_mag40/st_mag40.c b/firmware/os/drivers/st_mag40/st_mag40.c
index e61e26f..1b09fd5 100644
--- a/firmware/os/drivers/st_mag40/st_mag40.c
+++ b/firmware/os/drivers/st_mag40/st_mag40.c
@@ -674,8 +674,6 @@
     if (!extiIsPendingGpio(mTask.Int1))
         return false;
 
-    mTask.timestampInt = rtcGetTime();
-
     /* Start sampling for a value */
     if (!osEnqueuePrivateEvt(EVT_SENSOR_INTERRUPT, NULL, NULL, mTask.tid))
         ERROR_PRINT("st_mag40_int1_isr: osEnqueuePrivateEvt() failed\n");
@@ -701,6 +699,8 @@
     float xi, yi, zi;
 #endif
 
+    mTask.timestampInt = sensorGetTime();
+
 	/* Discard samples generated during sensor turn-on time */
     if (mTask.samplesToDiscard > 0) {
         mTask.samplesToDiscard--;