diff --git a/include/model_car_driver_base.h b/include/model_car_driver_base.h
index 56882265c38752091694cd8a1e103d7c35e21a80..b42af69808c3710b994d72089f0be579a9faec56 100644
--- a/include/model_car_driver_base.h
+++ b/include/model_car_driver_base.h
@@ -66,13 +66,13 @@ class CModelCarDriverBase
     void process_data(THeader & header, TDataUnion & data_union, TCRCUnion & crc_union);
     virtual void process_data_frame(uint8_t id,TDataUnion data_union)=0;
     uint16_t fletcher16(uint8_t *data, uint8_t bytes);
+    uint32_t get_last_timestamp(void);
   public:
     CModelCarDriverBase(std::string name, ARDUINO_ID arduino_id);
     void open(void);
     uint8_t get_id(void);
     void set_rx_timeout(double time_s);
     double get_rx_timeout(void);
-    uint32_t get_last_timestamp(void);
     void close(void);
     std::string get_new_data_event_id(void);
     virtual ~CModelCarDriverBase(void);
diff --git a/src/model_car_driver_base.cpp b/src/model_car_driver_base.cpp
index e089b007c245b62b028de8e3ba7da5e430d6efac..c914a7b09ff8c4dfc5f36c0a5d2469198667f866 100644
--- a/src/model_car_driver_base.cpp
+++ b/src/model_car_driver_base.cpp
@@ -320,6 +320,7 @@ void CModelCarDriverBase::process_data(THeader & header, TDataUnion & data_union
         break;
       default:
         this->data_mutex.enter();
+        this->timestamp=header.time_stamp;
         this->process_data_frame(header.id, data_union);
         this->data_mutex.exit();
       break;