/*
  * Check OpenCSD library version is sufficient to provide required features
  */
-#define OCSD_MIN_VER ((0 << 16) | (14 << 8) | (0))
+#define OCSD_MIN_VER ((1 << 16) | (0 << 8) | (0))
 #if !defined(OCSD_VER_NUM) || (OCSD_VER_NUM < OCSD_MIN_VER)
-#error "OpenCSD >= 0.14.0 is required"
+#error "OpenCSD >= 1.0.0 is required"
 #endif
 
 int main(void)
 
        packet->last_instr_subtype = elem->last_i_subtype;
        packet->last_instr_cond = elem->last_instr_cond;
 
-       switch (elem->last_i_type) {
-       case OCSD_INSTR_BR:
-       case OCSD_INSTR_BR_INDIRECT:
+       if (elem->last_i_type == OCSD_INSTR_BR || elem->last_i_type == OCSD_INSTR_BR_INDIRECT)
                packet->last_instr_taken_branch = elem->last_instr_exec;
-               break;
-       case OCSD_INSTR_ISB:
-       case OCSD_INSTR_DSB_DMB:
-       case OCSD_INSTR_WFI_WFE:
-       case OCSD_INSTR_OTHER:
-       default:
+       else
                packet->last_instr_taken_branch = false;
-               break;
-       }
 
        packet->last_instr_size = elem->last_instr_sz;
 
        case OCSD_GEN_TRC_ELEM_EVENT:
        case OCSD_GEN_TRC_ELEM_SWTRACE:
        case OCSD_GEN_TRC_ELEM_CUSTOM:
+       case OCSD_GEN_TRC_ELEM_SYNC_MARKER:
+       case OCSD_GEN_TRC_ELEM_MEMTRANS:
        default:
                break;
        }