]> sigrok.org Git - libsigrok.git/commitdiff
sr: move SR_HWOPT into its own enum, and create struct sr_hwopt
authorBert Vermeulen <redacted>
Sun, 8 Jul 2012 12:56:54 +0000 (14:56 +0200)
committerBert Vermeulen <redacted>
Fri, 3 Aug 2012 08:27:37 +0000 (10:27 +0200)
SR_HWOPT_* entries are driver options, not device instance parameters, so
they will never be mixed together.

Also, driver options are always passed in a GSList, where the data field
is a struct sr_hwopt.

hwdriver.c
libsigrok.h

index 7a9e7e668f7a1c0086818cd56e1ff262f7df6ec0..42932b36f641f9a7f82a2cbddff187c2b1e16a43 100644 (file)
  */
 /* TODO: This shouldn't be a global. */
 SR_API struct sr_hwcap_option sr_hwcap_options[] = {
+       /* Driver scanning options. */
+       {SR_HWOPT_MODEL, SR_T_KEYVALUE, "Model", "model"},
+       {SR_HWOPT_CONN, SR_T_CHAR, "Connection", "conn"},
+       {SR_HWOPT_SERIALCOMM, SR_T_CHAR, "Serial communication", "serialcomm"},
+       /* Device instance options. */
        {SR_HWCAP_SAMPLERATE, SR_T_UINT64, "Sample rate", "samplerate"},
        {SR_HWCAP_CAPTURE_RATIO, SR_T_UINT64, "Pre-trigger capture ratio", "captureratio"},
        {SR_HWCAP_PATTERN_MODE, SR_T_CHAR, "Pattern generator mode", "pattern"},
@@ -45,9 +50,6 @@ SR_API struct sr_hwcap_option sr_hwcap_options[] = {
        {SR_HWCAP_FILTER, SR_T_CHAR, "Filter targets", "filter"},
        {SR_HWCAP_VDIV, SR_T_RATIONAL_VOLT, "Volts/div", "vdiv"},
        {SR_HWCAP_COUPLING, SR_T_CHAR, "Coupling", "coupling"},
-       {SR_HWCAP_MODEL, SR_T_KEYVALUE, "Model", "model"},
-       {SR_HWCAP_CONN, SR_T_CHAR, "Connection", "connect"},
-       {SR_HWCAP_SERIALCOMM, SR_T_CHAR, "Serial communication", "serialcomm"},
        {0, 0, NULL, NULL},
 };
 
index ccad393c05d8111eab3df25e41f2395c9bf6f79c..0ba97bcee7658d888aece508578df0e1b6865ba3 100644 (file)
@@ -261,7 +261,24 @@ struct sr_probe {
        char *trigger;
 };
 
-/* Hardware driver capabilities */
+struct sr_hwopt {
+       int hwopt;
+       const void *value;
+};
+
+/* Hardware driver options */
+enum {
+       /** Some drivers cannot detect the exact model they're talking to. */
+       SR_HWOPT_MODEL,
+
+       /** Specification on how to connect to a device */
+       SR_HWOPT_CONN,
+
+       /** Serial communication spec: <data bits><parity><stop bit> e.g. 8n1 */
+       SR_HWOPT_SERIALCOMM,
+};
+
+/* Hardware device capabilities */
 enum {
        SR_HWCAP_DUMMY = 0, /* Used to terminate lists. Must be 0! */
 
@@ -280,17 +297,6 @@ enum {
        SR_HWCAP_DEMO_DEV,
 
 
-       /*--- Device communication ------------------------------------------*/
-       /** Some drivers cannot detect the exact model they're talking to. */
-       SR_HWCAP_MODEL,
-
-       /** Specification on how to connect to a device */
-       SR_HWCAP_CONN,
-
-       /** Serial communication spec: <data bits><parity><stop bit> e.g. 8n1 */
-       SR_HWCAP_SERIALCOMM,
-
-
        /*--- Device configuration ------------------------------------------*/
 
        /** The device supports setting/changing its samplerate. */