soft_payload.c 632 B

1234567891011121314151617181920212223242526272829303132
  1. #include "soft_payload.h"
  2. int payloadCtlMsgDecode(uint16_t ctlID, void *ctlArg, struct payload* pload)
  3. {
  4. uint16_t *pArg = (uint16_t *)ctlArg;
  5. switch (ctlID)
  6. {
  7. /* 接收到目标跟踪指令 */
  8. case PAYLOAD_CTL_TARGET_TRACE:
  9. {
  10. struct targetTraceArg arg;
  11. arg.p1x = *pArg * 0.001f;
  12. arg.p1y = *(pArg + 1) * 0.001f;
  13. arg.p1y = *(pArg + 2) * 0.001f;
  14. arg.p1y = *(pArg + 3) * 0.001f;
  15. if (pload->ops.targetTarceCtlRecevied)
  16. {
  17. pload->ops.targetTarceCtlRecevied(&arg);
  18. }
  19. }
  20. break;
  21. default:
  22. break;
  23. }
  24. return 0;
  25. }