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;