You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.8 KiB

9 months ago
  1. 1.hbot在归零的时候卡死了,阻塞在了第四步,猜测可能原因是由于下面代码导致的
  2. ```c
  3. int32_t XYRobotCtrlModule::waiting_for_stop(function<bool()> condition_fn, bool checkWhenLoop, int32_t delay) {
  4. while (!_motor_is_reach_target()) {
  5. if (m_thread.getExitFlag()) break;
  6. if (condition_fn()) break;
  7. if (checkWhenLoop && !check_when_run()) {
  8. break;
  9. }
  10. osDelay(delay);
  11. }
  12. _motor_stop(); //可能原因这里发送SPI指令失败导致的。
  13. while (_motor_is_reach_target()) { //可能阻塞在这一行
  14. osDelay(10);
  15. }
  16. return 0;
  17. }
  18. ```
  19. ```log
  20. 07445691 INFO [XYRobotCtrlModule] enable:1
  21. 07445739 INFO [XYRobotCtrlModule] xymotor_move_to_zero
  22. 07445740 INFO [XYRobotCtrlModule] do_xymotor_move_to_zero
  23. 07445754 INFO [XYRobotCtrlModule] enable:1
  24. 07445756 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:-1 ydirection:0 maxv:80
  25. 07445757 INFO [XYRobotCtrlModule] moveTo x:-100000 y:0 m1:50000 m2:50000 v:80
  26. 07445779 INFO [XYRobotCtrlModule] step1 reach x zero ok
  27. 07445780 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:1 ydirection:0 maxv:10
  28. 07445781 INFO [XYRobotCtrlModule] moveTo x:99998 y:0 m1:-49999 m2:-49999 v:10
  29. 07445819 INFO [XYRobotCtrlModule] step2 leave x zero ok
  30. 07445820 INFO [XYRobotCtrlModule] step3 reach y zero ok
  31. 07445821 INFO [XYRobotCtrlModule] _motor_move_to_end xdirection:0 ydirection:1 maxv:10
  32. 07445823 INFO [XYRobotCtrlModule] moveTo x:0 y:100000 m1:-50000 m2:50000 v:10
  33. 07465787 INFO [XYRobotCtrlModule] module_stop
  34. 00000018 INFO [SYS ] chip init ok
  35. 00000019 INFO [SYS ] = manufacturer : http://www.iflytop.com/
  36. 00000020 INFO [SYS ] = project name : a8000_subboard
  37. 00000021 INFO [SYS ] = version : 600
  38. 00000022 INFO [SYS ] = freq : 144000000
  39. 00000023 INFO [SYS ] = build time : Aug 1 2024 12:52:10
  40. ```