| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #pragma once
- #include <stdint.h>
- enum
- {
- PAYLOAD_TYPE_NULL = 0, /* 空类 */
- PAYLOAD_TYPE_GIMBAL = 1, /* 吊舱类载荷 */
- PAYLOAD_TYPE_ENGINE = 2, /* 发动机类载荷 */
- };
- enum
- {
- PAYLOAD_CTL_ID_NULL = 0, /* 空指令 */
- PAYLOAD_CTL_ID_BACK_MID = 1, /* 云台回中 */
- PAYLOAD_CTL_ID_SET_PITCH = 2, /* 给定俯仰 */
- PAYLOAD_CTL_ID_SET_ROLL = 3, /* 给定横滚 */
- PAYLOAD_CTL_ID_LOCK_DOWN = 4, /* 垂直下视 */
- PAYLOAD_CTL_TARGET_TRACE = 5, /* 目标跟踪 */
- };
- struct targetTraceArg
- {
- float p1x;
- float p1y;
- float p2x;
- float p2y;
- };
- struct payloadOps
- {
- void (*init)(void *arg);
- void (*targetTarceCtlRecevied)(void *arg);
- void (*backMidCtlRecevied)(void *arg);
- void (*setPitchCtlRecevied)(void *arg);
- };
- struct payload
- {
- uint8_t type;
- struct payloadOps ops;
- void *data;
- };
|