bacnet-rs 0.3.0

BACnet protocol stack implementation in Rust
Documentation
use crate::generate_custom_enum;

generate_custom_enum!(
    /// BACnet object types, see BACnetObjectType in clause 21.6 of the BACnet specification.
    /// Custom values are allowed, but must be in the range 128-1023.
    ObjectType {
        AnalogInput = 0,
        AnalogOutput = 1,
        AnalogValue = 2,
        BinaryInput = 3,
        BinaryOutput = 4,
        BinaryValue = 5,
        Calendar = 6,
        Command = 7,
        Device = 8,
        EventEnrollment = 9,
        File = 10,
        Group = 11,
        Loop = 12,
        MultiStateInput = 13,
        MultiStateOutput = 14,
        NotificationClass = 15,
        Program = 16,
        Schedule = 17,
        Averaging = 18,
        MultiStateValue = 19,
        TrendLog = 20,
        LifeSafetyPoint = 21,
        LifeSafetyZone = 22,
        Accumulator = 23,
        PulseConverter = 24,
        EventLog = 25,
        GlobalGroup = 26,
        TrendLogMultiple = 27,
        LoadControl = 28,
        StructuredView = 29,
        AccessDoor = 30,
        Timer = 31,
        AccessCredential = 32,
        AccessPoint = 33,
        AccessRights = 34,
        AccessUser = 35,
        AccessZone = 36,
        CredentialDataInput = 37,
        BitstringValue = 39,
        CharacterstringValue = 40,
        DatepatternValue = 41,
        DateValue = 42,
        DatetimepatternValue = 43,
        DatetimeValue = 44,
        IntegerValue = 45,
        LargeAnalogValue = 46,
        OctetstringValue = 47,
        PositiveIntegerValue = 48,
        TimepatternValue = 49,
        TimeValue = 50,
        NotificationForwarder = 51,
        AlertEnrollment = 52,
        Channel = 53,
        LightingOutput = 54,
        BinaryLightingOutput = 55,
        NetworkPort = 56,
        ElevatorGroup = 57,
        Escalator = 58,
        Lift = 59,
        Staging = 60,
        AuditLog = 61,
        AuditReporter = 62,
        Color = 63,
        ColorTemperature = 64,
    },
    u32,
    128..=1023
);