cardem: add state name in trace

this helps reading the output while debugging quite a lot

Change-Id: Idf301e09cf14e2412e29dcb252563bc6e4e5c630
diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c
index 14a5dd8..fa09829 100644
--- a/firmware/libcommon/source/card_emu.c
+++ b/firmware/libcommon/source/card_emu.c
@@ -54,6 +54,22 @@
 	ISO_S_IN_TPDU,		/* inside a TPDU */
 };
 
+const struct value_string iso7816_3_card_state_names[] = {
+	OSMO_VALUE_STRING(ISO_S_WAIT_POWER),
+	OSMO_VALUE_STRING(ISO_S_WAIT_CLK),
+	OSMO_VALUE_STRING(ISO_S_WAIT_RST),
+	OSMO_VALUE_STRING(ISO_S_WAIT_ATR),
+	OSMO_VALUE_STRING(ISO_S_IN_ATR),
+	OSMO_VALUE_STRING(ISO_S_IN_PTS),
+	OSMO_VALUE_STRING(ISO_S_WAIT_TPDU),
+	OSMO_VALUE_STRING(ISO_S_IN_TPDU),
+	{
+		.value = 0,
+		.str = NULL,
+	},
+};
+
+
 /* detailed sub-states of ISO_S_IN_PTS */
 enum pts_state {
 	PTS_S_WAIT_REQ_PTSS,
@@ -285,8 +301,9 @@
 	if (ch->state == new_state)
 		return;
 
-	TRACE_DEBUG("%u: 7816 card state %u -> %u\r\n", ch->num,
-		    ch->state, new_state);
+	TRACE_DEBUG("%u: 7816 card state %u (%s) -> %u (%s)\r\n", ch->num,
+		    ch->state, get_value_string(iso7816_3_card_state_names, ch->state),
+		    new_state, get_value_string(iso7816_3_card_state_names, new_state));
 	ch->state = new_state;
 
 	switch (new_state) {