]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/korad-kaxxxxp/protocol.h
korad-kaxxxxp: eliminate numeric model ID in supported models table
[libsigrok.git] / src / hardware / korad-kaxxxxp / protocol.h
index 315961b1ebbba5855c7ba430a257c6ad1fbf7f2c..9c7b33a17504a3a66a9cdcd0f83940735de97970 100644 (file)
 
 #define KAXXXXP_POLL_INTERVAL_MS 80
 
-enum {
-       VELLEMAN_PS3005D,
-       VELLEMAN_LABPS3005D,
-       KORAD_KA3005P,
-       KORAD_KA3005P_0X01,
-       KORAD_KA3005P_0XBC,
-       KORAD_KA3005P_V42,
-       KORAD_KA3005P_V55,
-       KORAD_KD3005P,
-       KORAD_KD3005P_V20_NOSP,
-       KORAD_KD3005P_V21_NOSP,
-       RND_320_KD3005P,
-       RND_320_KA3005P,
-       RND_320K30PV,
-       TENMA_72_2550_V2,
-       TENMA_72_2540_V20,
-       TENMA_72_2540_V21,
-       TENMA_72_2540_V52,
-       TENMA_72_2535_V21,
-       TENMA_72_2710_V66,
-       STAMOS_SLS31_V20,
-       KORAD_KD6005P,
-       /* Support for future devices with this protocol. */
+enum korad_quirks_flag {
+       KORAD_QUIRK_NONE = 0,
+       KORAD_QUIRK_LABPS_OVP_EN = 1UL << 0,
+       KORAD_QUIRK_ALL = (1UL << 1) - 1,
 };
 
 /* Information on single model */
 struct korad_kaxxxxp_model {
-       int model_id; /**< Model info */
        const char *vendor; /**< Vendor name */
        const char *name; /**< Model name */
        const char *id; /**< Model ID, as delivered by interface */
        int channels; /**< Number of channels */
-       double voltage[3]; /**< Min, max, step */
-       double current[3]; /**< Min, max, step */
+       const double *voltage; /**< References: Min, max, step */
+       const double *current; /**< References: Min, max, step */
+       enum korad_quirks_flag quirks;
 };
 
 /* Reply targets */