]> sigrok.org Git - libsigrok.git/commitdiff
Revert "hameg-hmo: Support BE format for SCPI sample downloads"
authorGerhard Sittig <redacted>
Sat, 7 Jan 2017 20:15:00 +0000 (21:15 +0100)
committerGerhard Sittig <redacted>
Sat, 7 Jan 2017 20:36:52 +0000 (21:36 +0100)
Undo the change which queries the scope's endianess and has the floats
converted after reception. An alternative implementation will perform
better.

src/hardware/hameg-hmo/protocol.c
src/hardware/hameg-hmo/protocol.h
src/scpi.h

index 99a30acd75dd8ec21af14235be879732d87ea87b..528d7b04295dac4eda31220d537c71ac614e35af 100644 (file)
@@ -48,7 +48,6 @@ static const char *hameg_scpi_dialect[] = {
        [SCPI_CMD_GET_ANALOG_CHAN_STATE]    = ":CHAN%d:STAT?",
        [SCPI_CMD_SET_ANALOG_CHAN_STATE]    = ":CHAN%d:STAT %d",
        [SCPI_CMD_GET_PROBE_UNIT]           = ":PROB%d:SET:ATT:UNIT?",
-       [SCPI_CMD_GET_BYTE_ORDER]           = ":FORM:BORD?",
 };
 
 static const uint32_t hmo_devopts[] = {
@@ -496,22 +495,6 @@ static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi,
                g_free(tmp_str);
        }
 
-       /*
-        * Determine the byte order which will be used for data blocks.
-        * A ":FORM:BORD?" request will yield either an "MSBF" or "LSBF"
-        * response.
-        */
-       state->byteorder = '?';
-       if (sr_scpi_get_string(scpi,
-                              (*config->scpi_dialect)[SCPI_CMD_GET_BYTE_ORDER],
-                              &tmp_str) != SR_OK)
-               return SR_ERR;
-       if (tmp_str[0] == 'M')
-               state->byteorder = 'b';
-       else if (tmp_str[0] == 'L')
-               state->byteorder = 'l';
-       g_free(tmp_str);
-
        return SR_OK;
 }
 
@@ -838,8 +821,7 @@ SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data)
                encoding.unitsize = sizeof(float);
                encoding.is_signed = TRUE;
                encoding.is_float = TRUE;
-               /* Assume LE format when unknown for backwards compat. */
-               encoding.is_bigendian = (state->byteorder == 'b') ? TRUE : FALSE;
+               encoding.is_bigendian = FALSE;
                /* TODO: Use proper 'digits' value for this device (and its modes). */
                encoding.digits = 2;
                encoding.is_digits_decimal = FALSE;
index c42aa98a6a8fc3a3fcd130c57b0073f4c4d06ed1..6219ed635ef048fc014bb43200f1b3b2a79ebd15 100644 (file)
@@ -87,9 +87,6 @@ struct scope_state {
        int trigger_source;
        int trigger_slope;
        uint64_t sample_rate;
-
-       /** SCPI data block byte order. 'l'/'b' when known, '?' otherwise. */
-       char byteorder;
 };
 
 /** Private, per-device-instance driver context. */
index bafdbe62314dcd0b55439b27dc1b90661db5c203..e9e7084ba0876293a572a1a17327de221f4b69bd 100644 (file)
@@ -63,7 +63,6 @@ enum {
        SCPI_CMD_SET_PROBE_UNIT,
        SCPI_CMD_GET_ANALOG_CHAN_NAME,
        SCPI_CMD_GET_DIG_CHAN_NAME,
-       SCPI_CMD_GET_BYTE_ORDER,
 };
 
 struct scpi_command {