#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,     /* 5/7 循环与刹车执行中 */
} car0102_pin27_fsm_t;

typedef union {
	struct {
		car0102_pin27_fsm_t fsm;
		bool bootstrap_done;
		bool shutdown;
		long long last_trigger_ms;
	} v;
} car0102_pin27_runtime_t;

/* 设备启动时拉起线程并完成 pin7 预定位 */
void car0102_pin27_startup(int device_id);

/* 0102 收到 pin27 val=1 触发循环；val=0 忽略，不参与电机驱动 */
void car0102_pin27_stop_control(int device_id, int pin, int val);

void car0102_pin27_thread_close(void);

#endif
