// Autogenerated C header file for Switch
#ifndef _JACDAC_SPEC_SWITCH_H
#define _JACDAC_SPEC_SWITCH_H 1

#define JD_SERVICE_CLASS_SWITCH  0x1ad29402

// enum Variant (uint8_t)
#define JD_SWITCH_VARIANT_SLIDE 0x1
#define JD_SWITCH_VARIANT_TILT 0x2
#define JD_SWITCH_VARIANT_PUSH_BUTTON 0x3
#define JD_SWITCH_VARIANT_TACTILE 0x4
#define JD_SWITCH_VARIANT_TOGGLE 0x5
#define JD_SWITCH_VARIANT_PROXIMITY 0x6
#define JD_SWITCH_VARIANT_MAGNETIC 0x7
#define JD_SWITCH_VARIANT_FOOT_BUTTON 0x8

/**
 * Read-only bool (uint8_t). Indicates whether the switch is currently active (on).
 */
#define JD_SWITCH_REG_ACTIVE JD_REG_READING

/**
 * Constant Variant (uint8_t). Describes the type of switch used.
 */
#define JD_SWITCH_REG_VARIANT JD_REG_VARIANT

/**
 * Emitted when switch goes from `off` to `on`.
 */
#define JD_SWITCH_EV_ON JD_EV_ACTIVE

/**
 * Emitted when switch goes from `on` to `off`.
 */
#define JD_SWITCH_EV_OFF JD_EV_INACTIVE

#endif
