X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fatten-pps3xxx%2Fprotocol.c;h=34e0af42824ebff7fa13623c79e84bfb8ad93f9d;hb=2c24077466a299ead689c90f01f55f6d86c7386b;hp=ed4d5505e6a17d7ef8edf469cd8192e20b987e07;hpb=155b680da482cea2381becb73c51cfb838bff31e;p=libsigrok.git diff --git a/src/hardware/atten-pps3xxx/protocol.c b/src/hardware/atten-pps3xxx/protocol.c index ed4d5505..34e0af42 100644 --- a/src/hardware/atten-pps3xxx/protocol.c +++ b/src/hardware/atten-pps3xxx/protocol.c @@ -17,11 +17,11 @@ * along with this program. If not, see . */ +#include #include -#include #include "protocol.h" -static void dump_packet(char *msg, uint8_t *packet) +static void dump_packet(const char *msg, uint8_t *packet) { int i; char str[128]; @@ -37,13 +37,13 @@ static void handle_packet(const struct sr_dev_inst *sdi) { struct dev_context *devc; struct sr_datafeed_packet packet; - struct sr_datafeed_analog analog; + struct sr_datafeed_analog_old analog; float value, data[MAX_CHANNELS]; int offset, i; devc = sdi->priv; dump_packet("received", devc->packet); - packet.type = SR_DF_ANALOG; + packet.type = SR_DF_ANALOG_OLD; packet.payload = &analog; analog.channels = sdi->channels; analog.num_samples = 1; @@ -83,11 +83,13 @@ static void handle_packet(const struct sr_dev_inst *sdi) SR_PRIV void send_packet(const struct sr_dev_inst *sdi, uint8_t *packet) { + struct dev_context *devc; struct sr_serial_dev_inst *serial; + devc = sdi->priv; serial = sdi->conn; - if (serial_write(serial, packet, PACKET_SIZE) == -1) - sr_dbg("Failed to send packet: %s", strerror(errno)); + if (serial_write_blocking(serial, packet, PACKET_SIZE, devc->delay_ms) < PACKET_SIZE) + sr_dbg("Failed to send packet."); dump_packet("sent", packet); } @@ -162,4 +164,3 @@ SR_PRIV int atten_pps3xxx_receive_data(int fd, int revents, void *cb_data) return TRUE; } -