remote_controller.c 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "remote_controller.h"
  2. #include "params.h"
  3. #include "rc_rock.h"
  4. #include "rc_sbus.h"
  5. #include "stddef.h"
  6. RC_SBUS_Data rc_sbus;
  7. RC_Rock_Data rc_rock;
  8. RC_Data_Type *remote_controller = &(rc_sbus.rc);
  9. void RemoteController_SetCalibParams(RC_Data_Type *rc, uint8_t ch,
  10. uint16_t offset, uint16_t factor_up,
  11. uint16_t factor_down)
  12. {
  13. rc->calib_offset[ch] = offset;
  14. rc->calib_offset[ch] = factor_up;
  15. rc->calib_offset[ch] = factor_down;
  16. }
  17. /**
  18. * @brief 遥控控制器初始化
  19. * 包括硬件初始化,遥控器对象初始化
  20. *
  21. */
  22. void RemoteController_Init(void)
  23. {
  24. /* 硬件初始化 */
  25. /* 遥控器对象初始化 */
  26. RcSbus_StructInit(&rc_sbus);
  27. for (uint8_t i = 0; i < RC_CALIB_CH_NUM; ++i)
  28. {
  29. RemoteController_SetCalibParams(
  30. &(rc_sbus.rc), i, pidinf._rc_cal_offset[i],
  31. pidinf._rc_cal_factor_up[i], pidinf._rc_cal_factor_down[i]);
  32. }
  33. /* 摇杆对象初始化 */
  34. RcRock_Struct_Init(&rc_rock);
  35. }