#ifndef DEVICE_MODEL_H
#define DEVICE_MODEL_H

#include <stdbool.h>

/**
 * 由完整 device_id 解析出的设备子型号（用于选择控制/急停等策略）。
 * 规则：完整设备号如 CN110200000001（无 app2dev/ 前缀）；
 *       取第 3～第 6 位（1 起算）共 4 字符 → C 下标 [2..5]，如 "1102"。
 */
typedef enum {
    DEVICE_MODEL_1101 = 0,
    DEVICE_MODEL_1102,
} device_model_t;

#define DEVICE_MODEL_SLICE_0BASE_START 2
#define DEVICE_MODEL_SLICE_CHAR_LEN  4

device_model_t device_model_from_full_id(const char *device_id);

static inline bool device_model_is_1101(device_model_t m)
{
    return m == DEVICE_MODEL_1101;
}

static inline bool device_model_is_1102(device_model_t m)
{
    return m == DEVICE_MODEL_1102;
}

#endif
