X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrokdecode.h;h=44402673479cd1af19d4599e7e9e5f3be5be7d52;hb=f22b1c7447e29573ca60a5a3c6d5b5dcb41282fe;hp=b9cc921287e876347ceea9d1ea08f61a46046f2e;hpb=49f2cdc76dd405dfb674da1284349a28f75c2ebd;p=libsigrokdecode.git diff --git a/libsigrokdecode.h b/libsigrokdecode.h index b9cc921..4440267 100644 --- a/libsigrokdecode.h +++ b/libsigrokdecode.h @@ -121,14 +121,15 @@ enum srd_loglevel { /* * When adding an output type, don't forget to... - * - expose it to PDs in controller.c:PyInit_sigrokdecode() - * - add a check in module_sigrokdecode.c:Decoder_put() - * - add a debug string in type_decoder.c:OUTPUT_TYPES + * - expose it to PDs in module_sigrokdecode.c:PyInit_sigrokdecode() + * - add a check in type_decoder.c:Decoder_put() + * - add a debug string in type_decoder.c:output_type_name() */ enum srd_output_type { SRD_OUTPUT_ANN, SRD_OUTPUT_PYTHON, SRD_OUTPUT_BINARY, + SRD_OUTPUT_LOGIC, SRD_OUTPUT_META, }; @@ -188,6 +189,11 @@ struct srd_decoder { */ GSList *binary; + /** + * List of logic output channels (item: id, description, samplerate). + */ + GSList *logic_output_channels; + /** List of decoder options. */ GSList *options; @@ -232,6 +238,12 @@ struct srd_decoder_annotation_row { GSList *ann_classes; }; +struct srd_decoder_logic_output_channel { + char *id; + char *desc; + uint64_t samplerate; +}; + struct srd_decoder_inst { struct srd_decoder *decoder; struct srd_session *sess; @@ -314,6 +326,11 @@ struct srd_proto_data_binary { uint64_t size; const unsigned char *data; }; +struct srd_proto_data_logic { + int logic_class; + uint64_t size; + const unsigned char *data; +}; typedef void (*srd_pd_output_callback)(struct srd_proto_data *pdata, void *cb_data);