#ifndef CAR0102_PIN27_COMMON_H__
#define CAR0102_PIN27_COMMON_H__

#include "common.h"

/* pin27 正反转序列状态机 */
typedef enum {
	CAR0102_PIN27_FSM_NONE = 0,    /* 未创建线程池 */
	CAR0102_PIN27_FSM_IDLE,        /* 线程空闲，可接收新触发 */
	CAR0102_PIN27_FSM_PENDING,     /* 已入队，待工作线程执行 */
	CAR0102_PIN27_FSM_RUNNING,     /* 正反转序列执行中 */
} car0102_pin27_fsm_t;

/* 受互斥锁保护的运行态（fsm + active 成组读写） */
typedef union {
	struct {
		car0102_pin27_fsm_t fsm;
		bool active;
	} v;
} car0102_pin27_runtime_t;

/* 0102 收到 pin27 时触发正反转序列（仿坦克 shot_back 接口） */
void car0102_pin27_stop_control(int device_id, int pin, int val);

/* 程序退出时销毁 pin27 线程池 */
void car0102_pin27_thread_close(void);

#endif
