X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fatten-pps3xxx%2Fprotocol.c;h=06a1d2e90d93546af3602e41ac399c04a9816d63;hb=88a0265ebcb265ba839c02cc5bcd39e359c9f60f;hp=66ecb7a28ff2cde835de7db59c122e3685283963;hpb=c3116bc3115fb9f759fc9f4cb38f19746e533877;p=libsigrok.git diff --git a/src/hardware/atten-pps3xxx/protocol.c b/src/hardware/atten-pps3xxx/protocol.c index 66ecb7a2..06a1d2e9 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_blocking(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); } @@ -131,7 +133,6 @@ SR_PRIV int atten_pps3xxx_receive_data(int fd, int revents, void *cb_data) struct dev_context *devc; const struct sr_dev_inst *sdi; struct sr_serial_dev_inst *serial; - struct sr_datafeed_packet packet; unsigned char c; (void)fd; @@ -154,12 +155,10 @@ SR_PRIV int atten_pps3xxx_receive_data(int fd, int revents, void *cb_data) send_config(sdi); else { serial_source_remove(sdi->session, serial); - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); + std_session_send_df_end(sdi, LOG_PREFIX); } } } return TRUE; } -