<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/simtrace2/+/16615">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">card_emu: Always print state names in string representation<br><br>Change-Id: I81469e40f3720afdcb47048b45c63d6474887640<br>---<br>M firmware/libcommon/source/card_emu.c<br>1 file changed, 27 insertions(+), 10 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c</span><br><span>index 34fac1b..4c29d41 100644</span><br><span>--- a/firmware/libcommon/source/card_emu.c</span><br><span>+++ b/firmware/libcommon/source/card_emu.c</span><br><span>@@ -110,6 +110,22 @@</span><br><span>     PTS_S_WAIT_RESP_PCK = PTS_S_WAIT_REQ_PCK | 0x10,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+const struct value_string pts_state_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+   { PTS_S_WAIT_REQ_PTSS,  "WAIT_REQ_PTSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { PTS_S_WAIT_REQ_PTS0,  "WAIT_REQ_PTS0" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { PTS_S_WAIT_REQ_PTS1,  "WAIT_REQ_PTS1" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { PTS_S_WAIT_REQ_PTS2,  "WAIT_REQ_PTS2" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { PTS_S_WAIT_REQ_PTS3,  "WAIT_REQ_PTS3" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { PTS_S_WAIT_REQ_PCK,   "WAIT_REQ_PCK" },</span><br><span style="color: hsl(120, 100%, 40%);">+   { PTS_S_WAIT_RESP_PTSS, "WAIT_RESP_PTSS" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { PTS_S_WAIT_RESP_PTS0, "WAIT_RESP_PTS0" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { PTS_S_WAIT_RESP_PTS1, "WAIT_RESP_PTS1" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { PTS_S_WAIT_RESP_PTS2, "WAIT_RESP_PTS2" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { PTS_S_WAIT_RESP_PTS3, "WAIT_RESP_PTS3" },</span><br><span style="color: hsl(120, 100%, 40%);">+ { PTS_S_WAIT_RESP_PCK,  "WAIT_RESP_PCK" },</span><br><span style="color: hsl(120, 100%, 40%);">+  { 0, NULL }</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* PTS field byte index */</span><br><span> #define _PTSS        0</span><br><span> #define _PTS0      1</span><br><span>@@ -542,8 +558,9 @@</span><br><span> /* Update the PTS sub-state */</span><br><span> static void set_pts_state(struct card_handle *ch, enum pts_state new_ptss)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-    TRACE_DEBUG("%u: 7816 PTS state %u -> %u\r\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                 ch->num, ch->pts.state, new_ptss);</span><br><span style="color: hsl(120, 100%, 40%);">+  TRACE_DEBUG("%u: 7816 PTS state %s -> %s\r\n", ch->num,</span><br><span style="color: hsl(120, 100%, 40%);">+                   get_value_string(pts_state_names, ch->pts.state),</span><br><span style="color: hsl(120, 100%, 40%);">+                  get_value_string(pts_state_names, new_ptss));</span><br><span>    ch->pts.state = new_ptss;</span><br><span> }</span><br><span> </span><br><span>@@ -623,8 +640,8 @@</span><br><span>          memcpy(ch->pts.resp, ch->pts.req, sizeof(ch->pts.resp));</span><br><span>            break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                TRACE_ERROR("%u: process_byte_pts() in invalid state %u\r\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                     ch->num, ch->pts.state);</span><br><span style="color: hsl(120, 100%, 40%);">+            TRACE_ERROR("%u: process_byte_pts() in invalid PTS state %s\r\n", ch->num,</span><br><span style="color: hsl(120, 100%, 40%);">+                           get_value_string(pts_state_names, ch->pts.state));</span><br><span>            break;</span><br><span>       }</span><br><span>    /* calculate the next state and set it */</span><br><span>@@ -674,8 +691,8 @@</span><br><span>              byte = ch->pts.resp[_PCK];</span><br><span>                break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                TRACE_ERROR("%u: get_byte_pts() in invalid state %u\r\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                         ch->num, ch->pts.state);</span><br><span style="color: hsl(120, 100%, 40%);">+            TRACE_ERROR("%u: get_byte_pts() in invalid PTS state %s\r\n", ch->num,</span><br><span style="color: hsl(120, 100%, 40%);">+                       get_value_string(pts_state_names, ch->pts.state));</span><br><span>            return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -880,8 +897,8 @@</span><br><span>          add_tpdu_byte(ch, byte);</span><br><span>             break;</span><br><span>       default:</span><br><span style="color: hsl(0, 100%, 40%);">-                TRACE_ERROR("%u: process_byte_tpdu() in invalid state %u\r\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                            ch->num, ch->tpdu.state);</span><br><span style="color: hsl(120, 100%, 40%);">+           TRACE_ERROR("%u: process_byte_tpdu() in invalid TPDU state %s\r\n", ch->num,</span><br><span style="color: hsl(120, 100%, 40%);">+                         get_value_string(tpdu_state_names, ch->tpdu.state));</span><br><span>  }</span><br><span> </span><br><span>        /* ensure we stay in TPDU ISO state */</span><br><span>@@ -982,8 +999,8 @@</span><br><span>                 new_state = process_byte_pts(ch, byte);</span><br><span>              goto out_silent;</span><br><span>     default:</span><br><span style="color: hsl(0, 100%, 40%);">-                TRACE_ERROR("%u: Received UART char in invalid 7816 state "</span><br><span style="color: hsl(0, 100%, 40%);">-                       "%u\r\n", ch->num, ch->state);</span><br><span style="color: hsl(120, 100%, 40%);">+            TRACE_ERROR("%u: Received UART char in invalid 7816 state %s\r\n", ch->num,</span><br><span style="color: hsl(120, 100%, 40%);">+                          get_value_string(iso7816_3_card_state_names, ch->state));</span><br><span>             break;</span><br><span>       }</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/simtrace2/+/16615">change 16615</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/simtrace2/+/16615"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: simtrace2 </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I81469e40f3720afdcb47048b45c63d6474887640 </div>
<div style="display:none"> Gerrit-Change-Number: 16615 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>