diff --git a/bsp_linux_board/InitMission.cpp b/bsp_linux_board/InitMission.cpp
index 16dab475..9e7abd94 100644
--- a/bsp_linux_board/InitMission.cpp
+++ b/bsp_linux_board/InitMission.cpp
@@ -135,9 +135,9 @@ void initmission::initTasks() {
     }
 
 #if OBSW_ADD_TEST_PST == 1
-    FixedTimeslotTaskIF* pstTestTask = factory->createFixedTimeslotTask(
-            "ACS_PST", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 2.0, missedDeadlineFunc);
-    result = pst::pollingSequenceTest(pstTestTask);
+    FixedTimeslotTaskIF* pstTestTask = factory->createFixedTimeslotTask("ACS_PST", 50,
+            PeriodicTaskIF::MINIMUM_STACK_SIZE * 2, 2.0, missedDeadlineFunc);
+    result = pst::pstTest(pstTestTask);
     if(result != HasReturnvaluesIF::RETURN_OK) {
         sif::warning << "initmission::initTasks: ACS PST initialization failed!" << std::endl;
     }
diff --git a/bsp_q7s/InitMission.cpp b/bsp_q7s/InitMission.cpp
index 9a475a11..25cd6abf 100644
--- a/bsp_q7s/InitMission.cpp
+++ b/bsp_q7s/InitMission.cpp
@@ -85,14 +85,6 @@ void initmission::initTasks() {
         initmission::printAddObjectError("UDP_POLLING", objects::UDP_POLLING_TASK);
     }
 
-    /* UDP bridge */
-    PeriodicTaskIF* errorReporterTestTask = factory->createPeriodicTask(
-            "ERROR_REPORTER", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE, 0.2, missedDeadlineFunc);
-    result = udpBridgeTask->addComponent(objects::INTERNAL_ERROR_REPORTER);
-    if(result != HasReturnvaluesIF::RETURN_OK) {
-        initmission::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
-    }
-
 #if TEST_CCSDS_BRIDGE == 1
     PeriodicTaskIF* ptmeTestTask = factory->createPeriodicTask(
             "PTME_TEST", 80, PeriodicTaskIF::MINIMUM_STACK_SIZE, 2.0, missedDeadlineFunc);
@@ -153,30 +145,51 @@ void initmission::initTasks() {
     if(result != HasReturnvaluesIF::RETURN_OK) {
         initmission::printAddObjectError("PUS_17", objects::PUS_SERVICE_17_TEST);
     }
+    result = pusLowPrio->addComponent(objects::INTERNAL_ERROR_REPORTER);
+    if(result != HasReturnvaluesIF::RETURN_OK) {
+        initmission::printAddObjectError("ERROR_REPORTER", objects::INTERNAL_ERROR_REPORTER);
+    }
 
 #if TE0720 == 0
-
     //TODO: Add handling of missed deadlines
     /* Polling Sequence Table Default */
 #if Q7S_ADD_SPI_TEST == 0
-    FixedTimeslotTaskIF * pollingSequenceTableTaskDefault = factory->createFixedTimeslotTask(
-            "PST_TASK_DEFAULT", 50, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0,
+    FixedTimeslotTaskIF* spiPst = factory->createFixedTimeslotTask(
+            "PST_TASK_DEFAULT", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0,
             missedDeadlineFunc);
-    result = pst::pollingSequenceInitDefault(pollingSequenceTableTaskDefault);
+    result = pst::pstSpi(spiPst);
     if (result != HasReturnvaluesIF::RETURN_OK) {
         sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
     }
 #endif
 
-    FixedTimeslotTaskIF* gomSpacePstTask = factory->
-            createFixedTimeslotTask("GS_PST_TASK", 50,
-                    PeriodicTaskIF::MINIMUM_STACK_SIZE*8, 1.0, missedDeadlineFunc);
-    result = pst::gomspacePstInit(gomSpacePstTask);
+    FixedTimeslotTaskIF* uartPst = factory->createFixedTimeslotTask(
+            "UART_PST", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0, missedDeadlineFunc);
+    result = pst::pstUart(uartPst);
+    if (result != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
+    }
+    FixedTimeslotTaskIF* gpioPst = factory->createFixedTimeslotTask(
+            "GPIO_PST", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0, missedDeadlineFunc);
+    result = pst::pstGpio(gpioPst);
+    if (result != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
+    }
+    FixedTimeslotTaskIF* i2cPst = factory->createFixedTimeslotTask(
+            "I2C_PST", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 3.0, missedDeadlineFunc);
+    result = pst::pstI2c(i2cPst);
+    if (result != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "InitMission::initTasks: Creating PST failed!" << std::endl;
+    }
+
+    FixedTimeslotTaskIF* gomSpacePstTask = factory->createFixedTimeslotTask(
+            "GS_PST_TASK", 70, PeriodicTaskIF::MINIMUM_STACK_SIZE * 4, 1.0, missedDeadlineFunc);
+    result = pst::pstGompaceCan(gomSpacePstTask);
     if(result != HasReturnvaluesIF::RETURN_OK) {
         sif::error << "InitMission::initTasks: GomSpace PST initialization failed!" << std::endl;
     }
 
-#else
+#else /* TE7020 == 0 */
     FixedTimeslotTaskIF * pollingSequenceTaskTE0720 = factory->createFixedTimeslotTask(
             "PST_TASK_TE0720", 30, PeriodicTaskIF::MINIMUM_STACK_SIZE * 8, 3.0,
             missedDeadlineFunc);
@@ -184,7 +197,7 @@ void initmission::initTasks() {
     if (result != HasReturnvaluesIF::RETURN_OK) {
         sif::error << "InitMission::initTasks: Creating TE0720 PST failed!" << std::endl;
     }
-#endif
+#endif /* TE7020 == 1 */
 
 #if OBSW_ADD_TEST_CODE == 1
     PeriodicTaskIF* testTask = factory->createPeriodicTask(
@@ -213,9 +226,15 @@ void initmission::initTasks() {
     udpBridgeTask->startTask();
     udpPollingTask->startTask();
 
-#if TE0720 == 0 && Q7S_ADD_SPI_TEST == 0
+#if TE0720 == 0
+    uartPst->startTask();
+    gpioPst->startTask();
+    i2cPst->startTask();
+#if Q7S_ADD_SPI_TEST == 0
     gomSpacePstTask->startTask();
-    pollingSequenceTableTaskDefault->startTask();
+    spiPst->startTask();
+#endif /* Q7S_ADD_SPI_TEST == 0 */
+
 #elif TE0720 == 1 && Q7S_ADD_SPI_TEST == 0
     pollingSequenceTaskTE0720->startTask();
 #endif
@@ -226,8 +245,6 @@ void initmission::initTasks() {
     pusMedPrio->startTask();
     pusLowPrio->startTask();
 
-    errorReporterTestTask->startTask();
-
 #if OBSW_ADD_TEST_CODE == 1
     testTask->startTask();
 #endif
diff --git a/bsp_q7s/boardconfig/q7sConfig.h.in b/bsp_q7s/boardconfig/q7sConfig.h.in
index 782ecf4f..81b96a7e 100644
--- a/bsp_q7s/boardconfig/q7sConfig.h.in
+++ b/bsp_q7s/boardconfig/q7sConfig.h.in
@@ -1,13 +1,13 @@
 #ifndef BSP_Q7S_BOARDCONFIG_Q7S_CONFIG_H_
 #define BSP_Q7S_BOARDCONFIG_Q7S_CONFIG_H_
 
-#define Q7S_ADD_RTD_DEVICES 			0
+#define Q7S_ADD_RTD_DEVICES             0
 
 /* Only one of those 2 should be enabled! */
 /* Add code for ACS board */
 #define OBSW_ADD_ACS_BOARD              0
+#if OBSW_ADD_ACS_BOARD == 0
 #define Q7S_ADD_SPI_TEST                0
-
-
+#endif
 
 #endif /* BSP_Q7S_BOARDCONFIG_Q7S_CONFIG_H_ */
diff --git a/common/config/commonObjects.h b/common/config/commonObjects.h
index 3baf58b0..1651f6a0 100644
--- a/common/config/commonObjects.h
+++ b/common/config/commonObjects.h
@@ -48,6 +48,9 @@ enum commonObjects: uint32_t {
     SUS_11 = 0x44000021,
     SUS_12 = 0x44000022,
     SUS_13 = 0x44000023,
+
+    GPS0_HANDLER = 0x44001000,
+    GPS1_HANDLER = 0x44002000
 };
 }
 
diff --git a/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.cpp b/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.cpp
index 60059d3c..0add7a3b 100644
--- a/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.cpp
+++ b/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.cpp
@@ -9,18 +9,40 @@
 #include "objects/systemObjectList.h"
 
 
-ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
+ReturnValue_t pst::pstGpio(FixedTimeslotTaskIF *thisSequence)
 {
-    /* Length of a communication cycle */
+    // Length of a communication cycle
     uint32_t length = thisSequence->getPeriodMs();
-    thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0,
-            DeviceHandlerIF::PERFORM_OPERATION);
-    thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0,
-            DeviceHandlerIF::PERFORM_OPERATION);
+
     thisSequence->addSlot(objects::HEATER_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
     thisSequence->addSlot(objects::SOLAR_ARRAY_DEPL_HANDLER, length * 0,
             DeviceHandlerIF::PERFORM_OPERATION);
 
+    // Radiation sensor
+//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
+//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.2, DeviceHandlerIF::SEND_WRITE);
+//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.4, DeviceHandlerIF::GET_WRITE);
+//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.6, DeviceHandlerIF::SEND_READ);
+//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.8, DeviceHandlerIF::GET_READ);
+    //    if (length != 3000) {
+    //        sif::warning << "pollingSequenceInitDefault: Frequency changed. Make sure timing critical "
+    //                << "SUS sensors still produce correct values" << std::endl;
+    //    }
+    if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) {
+        return HasReturnvaluesIF::RETURN_OK;
+    }
+
+    sif::error << "PollingSequence::initialize has errors!" << std::endl;
+    return HasReturnvaluesIF::RETURN_FAILED;
+}
+
+ReturnValue_t pst::pstSpi(FixedTimeslotTaskIF *thisSequence) {
+    uint32_t length = thisSequence->getPeriodMs();
+
+    thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
+    thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
 #if Q7S_ADD_RTD_DEVICES == 1
     thisSequence->addSlot(objects::RTD_IC3, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
     thisSequence->addSlot(objects::RTD_IC4, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
@@ -40,12 +62,8 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
     thisSequence->addSlot(objects::RTD_IC18, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
 #endif /* Q7S_ADD_RTD_DEVICES */
 
-    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
-    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
-
     thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.2, DeviceHandlerIF::SEND_WRITE);
     thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0.2, DeviceHandlerIF::SEND_WRITE);
-
 #if Q7S_ADD_RTD_DEVICES == 1
     thisSequence->addSlot(objects::RTD_IC3, length * 0.2, DeviceHandlerIF::SEND_WRITE);
     thisSequence->addSlot(objects::RTD_IC4, length * 0.2, DeviceHandlerIF::SEND_WRITE);
@@ -65,12 +83,8 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
     thisSequence->addSlot(objects::RTD_IC18, length * 0.2, DeviceHandlerIF::SEND_WRITE);
 #endif /* Q7S_ADD_RTD_DEVICES */
 
-    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.2, DeviceHandlerIF::SEND_WRITE);
-    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.2, DeviceHandlerIF::SEND_WRITE);
-
     thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.4, DeviceHandlerIF::GET_WRITE);
     thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0.4, DeviceHandlerIF::GET_WRITE);
-
 #if Q7S_ADD_RTD_DEVICES == 1
     thisSequence->addSlot(objects::RTD_IC3, length * 0.4, DeviceHandlerIF::GET_WRITE);
     thisSequence->addSlot(objects::RTD_IC4, length * 0.4, DeviceHandlerIF::GET_WRITE);
@@ -90,12 +104,8 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
     thisSequence->addSlot(objects::RTD_IC18, length * 0.4, DeviceHandlerIF::GET_WRITE);
 #endif /* Q7S_ADD_RTD_DEVICES */
 
-    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.4, DeviceHandlerIF::GET_WRITE);
-    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.4, DeviceHandlerIF::GET_WRITE);
-
     thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.6, DeviceHandlerIF::SEND_READ);
     thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0.6, DeviceHandlerIF::SEND_READ);
-
 #if Q7S_ADD_RTD_DEVICES == 1
     thisSequence->addSlot(objects::RTD_IC3, length * 0.6, DeviceHandlerIF::SEND_READ);
     thisSequence->addSlot(objects::RTD_IC4, length * 0.6, DeviceHandlerIF::SEND_READ);
@@ -115,12 +125,8 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
     thisSequence->addSlot(objects::RTD_IC18, length * 0.6, DeviceHandlerIF::SEND_READ);
 #endif /* Q7S_ADD_RTD_DEVICES */
 
-    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.6, DeviceHandlerIF::SEND_READ);
-    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.6, DeviceHandlerIF::SEND_READ);
-
     thisSequence->addSlot(objects::TMP1075_HANDLER_1, length * 0.8, DeviceHandlerIF::GET_READ);
     thisSequence->addSlot(objects::TMP1075_HANDLER_2, length * 0.8, DeviceHandlerIF::GET_READ);
-
 #if Q7S_ADD_RTD_DEVICES == 1
     thisSequence->addSlot(objects::RTD_IC3, length * 0.8, DeviceHandlerIF::GET_READ);
     thisSequence->addSlot(objects::RTD_IC4, length * 0.8, DeviceHandlerIF::GET_READ);
@@ -139,23 +145,6 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
     thisSequence->addSlot(objects::RTD_IC17, length * 0.8, DeviceHandlerIF::GET_READ);
     thisSequence->addSlot(objects::RTD_IC18, length * 0.8, DeviceHandlerIF::GET_READ);
 #endif /* Q7S_ADD_RTD_DEVICES */
-
-    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
-    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
-
-
-    /* Radiation sensor */
-//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.2, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.4, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.6, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::RAD_SENSOR, length * 0.8, DeviceHandlerIF::GET_READ);
-
-    if (length != 3000) {
-        sif::warning << "pollingSequenceInitDefault: Frequency changed. Make sure timing critical "
-                << "SUS sensors still produce correct values" << std::endl;
-    }
-
     /**
      * The sun sensor will be shutdown as soon as the chip select is pulled high. Thus all
      * requests to a sun sensor must be performed consecutively. Another reason for calling multiple
@@ -166,263 +155,333 @@ ReturnValue_t pst::pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence)
      */
 
     /* Write setup */
-//    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.9, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.901, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.902, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::GET_READ);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.9, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.9, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.901, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.901, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.902, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_1, length * 0.902, DeviceHandlerIF::GET_READ);
 
-    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.903, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.904, SusHandler::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.905, SusHandler::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::GET_READ);
+        /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.903, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.903, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.904, SusHandler::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.904, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.905, SusHandler::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_2, length * 0.905, DeviceHandlerIF::GET_READ);
 
-    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.8, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.91, SusHandler::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.93, SusHandler::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.909, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.91, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.911, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.912, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.913, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::GET_READ);
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.914, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.915, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions from inernal FIFO */
-//    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.918, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions from inernal FIFO */
-//    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.921, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions from inernal FIFO */
-//    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.924, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions */
-//    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.927, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions */
-//    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.93, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions */
-//    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.933, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions */
-//    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::GET_READ);
-//
-//    /* Write setup */
-//    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.936, SusHandler::FIRST_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::GET_READ);
-//    /* Start ADC conversions */
-//    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::GET_READ);
-//    /* Read ADC conversions */
-//    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::PERFORM_OPERATION);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::SEND_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::GET_WRITE);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::SEND_READ);
-//    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::GET_READ);
+        /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.8, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.8, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.91, SusHandler::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.91, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.93, SusHandler::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_3, length * 0.93, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.909, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.909, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.91, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.91, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.911, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_4, length * 0.911, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.912, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.912, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.913, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.913, DeviceHandlerIF::GET_READ);
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.914, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_5, length * 0.914, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.915, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.915, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.916, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions from inernal FIFO */
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_6, length * 0.917, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.918, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.918, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.919, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions from inernal FIFO */
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_7, length * 0.92, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.921, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.921, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.922, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions from inernal FIFO */
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_8, length * 0.923, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.924, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.924, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.925, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_9, length * 0.926, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.927, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.927, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.928, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_10, length * 0.929, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.93, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.93, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.931, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_11, length * 0.932, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.933, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.933, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.934, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_12, length * 0.935, DeviceHandlerIF::GET_READ);
+    //
+    //    /* Write setup */
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.936, SusHandler::FIRST_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.936, DeviceHandlerIF::GET_READ);
+    //    /* Start ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.937, DeviceHandlerIF::GET_READ);
+    //    /* Read ADC conversions */
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::PERFORM_OPERATION);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::SEND_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::GET_WRITE);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::SEND_READ);
+    //    thisSequence->addSlot(objects::SUS_13, length * 0.938, DeviceHandlerIF::GET_READ);
 
-    if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) {
-        return HasReturnvaluesIF::RETURN_OK;
+    if (thisSequence->checkSequence() != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "SPI PST initialization failed" << std::endl;
+        return HasReturnvaluesIF::RETURN_FAILED;
     }
-
-    sif::error << "PollingSequence::initialize has errors!" << std::endl;
-    return HasReturnvaluesIF::RETURN_FAILED;
+    return HasReturnvaluesIF::RETURN_OK;
 }
 
-ReturnValue_t pst::gomspacePstInit(FixedTimeslotTaskIF *thisSequence){
+ReturnValue_t pst::pstI2c(FixedTimeslotTaskIF *thisSequence) {
+    // Length of a communication cycle
+    uint32_t length = thisSequence->getPeriodMs();
+    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
+    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.2, DeviceHandlerIF::SEND_WRITE);
+    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.4, DeviceHandlerIF::GET_WRITE);
+    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.6, DeviceHandlerIF::SEND_READ);
+    thisSequence->addSlot(objects::IMTQ_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
+    if (thisSequence->checkSequence() != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "I2C PST initialization failed" << std::endl;
+        return HasReturnvaluesIF::RETURN_FAILED;
+    }
+    return HasReturnvaluesIF::RETURN_OK;
+}
+
+ReturnValue_t pst::pstUart(FixedTimeslotTaskIF *thisSequence) {
+    // Length of a communication cycle
+    uint32_t length = thisSequence->getPeriodMs();
+    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
+    thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
+    thisSequence->addSlot(objects::GPS0_HANDLER, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
+    thisSequence->addSlot(objects::GPS1_HANDLER, length * 0,
+            DeviceHandlerIF::PERFORM_OPERATION);
+
+    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.2,
+            DeviceHandlerIF::SEND_WRITE);
+    thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.2,
+            DeviceHandlerIF::SEND_WRITE);
+    thisSequence->addSlot(objects::GPS0_HANDLER, length * 0.2,
+            DeviceHandlerIF::SEND_WRITE);
+    thisSequence->addSlot(objects::GPS1_HANDLER, length * 0.2,
+            DeviceHandlerIF::SEND_WRITE);
+
+    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.4,
+            DeviceHandlerIF::GET_WRITE);
+    thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.4,
+            DeviceHandlerIF::GET_WRITE);
+    thisSequence->addSlot(objects::GPS0_HANDLER, length * 0.4,
+            DeviceHandlerIF::GET_WRITE);
+    thisSequence->addSlot(objects::GPS1_HANDLER, length * 0.4,
+            DeviceHandlerIF::GET_WRITE);
+
+    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.6,
+            DeviceHandlerIF::SEND_READ);
+    thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.6,
+            DeviceHandlerIF::SEND_READ);
+    thisSequence->addSlot(objects::GPS0_HANDLER, length * 0.6,
+            DeviceHandlerIF::SEND_READ);
+    thisSequence->addSlot(objects::GPS1_HANDLER, length * 0.6,
+            DeviceHandlerIF::SEND_READ);
+
+    thisSequence->addSlot(objects::PLOC_HANDLER, length * 0.8,
+            DeviceHandlerIF::GET_READ);
+    thisSequence->addSlot(objects::SYRLINKS_HK_HANDLER, length * 0.8,
+            DeviceHandlerIF::GET_READ);
+    thisSequence->addSlot(objects::GPS0_HANDLER, length * 0.8,
+            DeviceHandlerIF::GET_READ);
+    thisSequence->addSlot(objects::GPS1_HANDLER, length * 0.8,
+            DeviceHandlerIF::GET_READ);
+
+    if (thisSequence->checkSequence() != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "UART PST initialization failed" << std::endl;
+        return HasReturnvaluesIF::RETURN_FAILED;
+    }
+    return HasReturnvaluesIF::RETURN_OK;
+}
+
+ReturnValue_t pst::pstGompaceCan(FixedTimeslotTaskIF *thisSequence){
     uint32_t length = thisSequence->getPeriodMs();
 
+    // PCDU handlers receives two messages and both must be handled
     thisSequence->addSlot(objects::PCDU_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
     thisSequence->addSlot(objects::PCDU_HANDLER, length * 0, DeviceHandlerIF::PERFORM_OPERATION);
 
@@ -472,13 +531,13 @@ ReturnValue_t pst::gomspacePstInit(FixedTimeslotTaskIF *thisSequence){
             length * 0.8, DeviceHandlerIF::GET_READ);
 
     if (thisSequence->checkSequence() != HasReturnvaluesIF::RETURN_OK) {
-        sif::error << "Initialization of GomSpace PST failed" << std::endl;
+        sif::error << "GomSpace PST initialization failed" << std::endl;
         return HasReturnvaluesIF::RETURN_FAILED;
     }
     return HasReturnvaluesIF::RETURN_OK;
 }
 
-ReturnValue_t pst::pollingSequenceTest(FixedTimeslotTaskIF* thisSequence) {
+ReturnValue_t pst::pstTest(FixedTimeslotTaskIF* thisSequence) {
     /* Length of a communication cycle */
     uint32_t length = thisSequence->getPeriodMs();
 #if OBSW_ADD_ACS_BOARD == 1
@@ -561,12 +620,11 @@ ReturnValue_t pst::pollingSequenceTest(FixedTimeslotTaskIF* thisSequence) {
     thisSequence->addSlot(objects::GYRO_0_ADIS_HANDLER, length * 0.8, DeviceHandlerIF::GET_READ);
 #endif
     static_cast<void>(length);
-    if (thisSequence->checkSequence() == HasReturnvaluesIF::RETURN_OK) {
-        return HasReturnvaluesIF::RETURN_OK;
+    if (thisSequence->checkSequence() != HasReturnvaluesIF::RETURN_OK) {
+        sif::error << "Test PST initialization failed" << std::endl;
+        return HasReturnvaluesIF::RETURN_FAILED;
     }
-
-    sif::error << "PollingSequence::initialize has errors!" << std::endl;
-    return HasReturnvaluesIF::RETURN_FAILED;
+    return HasReturnvaluesIF::RETURN_OK;
 }
 
 ReturnValue_t pst::pollingSequenceTE0720(FixedTimeslotTaskIF *thisSequence) {
diff --git a/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h b/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h
index e05f96aa..32d35169 100644
--- a/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h
+++ b/linux/fsfwconfig/pollingsequence/pollingSequenceFactory.h
@@ -25,16 +25,29 @@ class FixedTimeslotTaskIF;
 namespace pst {
 
 /* 0.4 second period init*/
-ReturnValue_t pollingSequenceInitDefault(FixedTimeslotTaskIF *thisSequence);
+ReturnValue_t pstGpio(FixedTimeslotTaskIF *thisSequence);
 
 /**
- * @brief	This function creates the PST for all gomspace devices. They are
- * 			scheduled in a separate PST because the gomspace library uses
- * 			blocking calls when requesting data from devices.
+ * @brief	This function creates the PST for all gomspace devices.
+ * @details
+ * Scheduled in a separate PST because the gomspace library uses blocking calls when requesting
+ * data from devices.
  */
-ReturnValue_t gomspacePstInit(FixedTimeslotTaskIF *thisSequence);
+ReturnValue_t pstGompaceCan(FixedTimeslotTaskIF *thisSequence);
+
+ReturnValue_t pstUart(FixedTimeslotTaskIF* thisSequence);
+
+ReturnValue_t pstSpi(FixedTimeslotTaskIF* thisSequence);
+
+ReturnValue_t pstI2c(FixedTimeslotTaskIF* thisSequence);
+
+/**
+ * Generic test PST
+ * @param thisSequence
+ * @return
+ */
+ReturnValue_t pstTest(FixedTimeslotTaskIF* thisSequence);
 
-ReturnValue_t pollingSequenceTest(FixedTimeslotTaskIF* thisSequence);
 
 /**
  * @brief   This polling sequence will be created when the software is compiled for the TE0720.
diff --git a/mission/devices/GPSHandler.cpp b/mission/devices/GPSHandler.cpp
index 86733794..be227f9c 100644
--- a/mission/devices/GPSHandler.cpp
+++ b/mission/devices/GPSHandler.cpp
@@ -49,10 +49,12 @@ ReturnValue_t GPSHandler::buildCommandFromCommand(
 ReturnValue_t GPSHandler::scanForReply(const uint8_t *start, size_t len,
 		DeviceCommandId_t *foundId, size_t *foundLen) {
     // Pass data to GPS library
-    int result = lwgps_process(&gpsData, start, len);
-    if(result != 0) {
-        sif::warning << "GPSHandler::scanForReply: Issue processing GPS data with lwgps"
-                << std::endl;
+    if(len > 0) {
+        int result = lwgps_process(&gpsData, start, len);
+        if(result != 0) {
+            sif::warning << "GPSHandler::scanForReply: Issue processing GPS data with lwgps"
+                    << std::endl;
+        }
     }
 	return HasReturnvaluesIF::RETURN_OK;