basic structure for main while loop with all configs
diff --git a/sam3s_example/simtrace/simtrace_main.c b/sam3s_example/simtrace/simtrace_main.c
index 2b64fe9..9ab55cc 100644
--- a/sam3s_example/simtrace/simtrace_main.c
+++ b/sam3s_example/simtrace/simtrace_main.c
@@ -19,7 +19,9 @@
  *         Internal variables
  *------------------------------------------------------------------------------*/
 uint8_t simtrace_config = CONF_SNIFFER;
-uint8_t conf_changed = 0;
+uint8_t conf_changed = 1;
+
+uint8_t rcvdChar = 0;
 
 /*------------------------------------------------------------------------------
  *        Main 
@@ -42,12 +44,28 @@
     in case the config changes? */
         switch(simtrace_config) {
             case CONF_SNIFFER:
+                if (conf_changed) {
+                    Sniffer_Init();
+                    conf_changed = 0;
+                } else {
+                    if (rcvdChar != 0) {
+                        TRACE_DEBUG("Rcvd char _%x_ \n\r", rcvdChar);
+                        rcvdChar = 0;
+                    }
+                }
                 break;
             case CONF_CCID_READER:
+                if (conf_changed) {
+                    // Init
+                    conf_changed = 0;
+                } else {
+                    // Receive char
+                }
                 break;
             case CONF_SIMCARD_EMUL:
                 if (conf_changed) {
                     Phone_Master_Init();
+                    conf_changed = 0;
                     /*  Configure ISO7816 driver */
                     // FIXME:    PIO_Configure(pPwr, PIO_LISTSIZE( pPwr ));
                 } else {
@@ -57,6 +75,12 @@
                 }
                 break;
             case CONF_MITM:
+                if (conf_changed) {
+                    // Init
+                    conf_changed = 0;
+                } else {
+                    // Receive char
+                }
                 break;
             default:
                 break;