cmvr_head/applications/erpc/service/include/head_service_impl.h

36 lines
811 B
C
Raw Normal View History

2025-12-24 18:28:20 +08:00
//
// Created by Administrator on 2025/12/24.
//
#ifndef RTTHREAD_HEAD_SERVICE_IMPL_H
#define RTTHREAD_HEAD_SERVICE_IMPL_H
#include <stdint.h>
2026-04-21 17:21:20 +08:00
#include "erpc/proto/generated/face_servo_server.hpp"
#include "servo_manager/include/servo_manager.h"
2025-12-24 18:28:20 +08:00
2026-04-21 17:21:20 +08:00
extern "C" {
#include <rtthread.h>
}
2025-12-24 18:28:20 +08:00
2026-04-21 17:21:20 +08:00
class FaceServoServiceImpl : public erpcShim::FaceServo_interface
2025-12-24 18:28:20 +08:00
{
public:
2026-04-21 17:21:20 +08:00
FaceServoServiceImpl();
virtual ~FaceServoServiceImpl() = default;
int32_t setAllAngles(const list_float_1_t* angles_deg) override;
int32_t setAngle(const char* id, float angle_deg) override;
int32_t setAngles(const list_ServoCmd_1_t* cmds) override;
private:
ServoManager _servos;
rt_err_t _init_err;
static const std::vector<ServoManager::ServoConfig> kServoCfg;
2025-12-24 18:28:20 +08:00
};
#endif //RTTHREAD_HEAD_SERVICE_IMPL_H