X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fcolead-slm%2Fprotocol.h;fp=src%2Fhardware%2Fcolead-slm%2Fprotocol.h;h=8942ac8558863a1dd5d94169c0a4c7836ded1f9c;hb=155b680da482cea2381becb73c51cfb838bff31e;hp=0000000000000000000000000000000000000000;hpb=43cd4637285833706f8a404ca027bcf0ee75b9ae;p=libsigrok.git diff --git a/src/hardware/colead-slm/protocol.h b/src/hardware/colead-slm/protocol.h new file mode 100644 index 00000000..8942ac85 --- /dev/null +++ b/src/hardware/colead-slm/protocol.h @@ -0,0 +1,54 @@ +/* + * This file is part of the libsigrok project. + * + * Copyright (C) 2012 Bert Vermeulen + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef LIBSIGROK_HARDWARE_COLEAD_SLM_PROTOCOL_H +#define LIBSIGROK_HARDWARE_COLEAD_SLM_PROTOCOL_H + +#include +#include "libsigrok.h" +#include "libsigrok-internal.h" + +#define LOG_PREFIX "colead-slm" + +enum { + IDLE, + COMMAND_SENT, +}; + +/** Private, per-device-instance driver context. */ +struct dev_context { + /** The current sampling limit (in number of samples). */ + uint64_t limit_samples; + + /** The current sampling limit (in ms). */ + uint64_t limit_msec; + + /** Opaque pointer passed in by the frontend. */ + void *cb_data; + + /** The current number of already received samples. */ + uint64_t num_samples; + int state; + char buf[10]; + int buflen; +}; + +SR_PRIV int colead_slm_receive_data(int fd, int revents, void *cb_data); + +#endif