reman3/Rayman_X/cpa/public/MEC/DNMSLAVE.H

62 lines
1.7 KiB
C

#ifndef _DNMSLAVE_H_
#define _DNMSLAVE_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CAM_stServCtrlCamera
{
MTH_tdxReal m_xHorizontalAngle;
MTH_tdxReal m_xVerticalAngle;
MTH_tdxReal m_xDistance;
} CAM_tdstServCtrlCamera;
#define CAM_M_xGetServCtrlCameraHorizontal(_p_stServCtrlCamera) ((_p_stServCtrlCamera)->m_xHorizontalAngle)
#define CAM_M_xGetServCtrlCameraVertical(_p_stServCtrlCamera) ((_p_stServCtrlCamera)->m_xVerticalAngle)
#define CAM_M_xGetServCtrlCameraDistance(_p_stServCtrlCamera) ((_p_stServCtrlCamera)->m_xDistance)
#define CAM_M_vSetServCtrlCameraHorizontal(_p_stServCtrlCamera,xVal) ((_p_stServCtrlCamera)->m_xHorizontalAngle = xVal)
#define CAM_M_vSetServCtrlCameraVertical(_p_stServCtrlCamera,xVal) ((_p_stServCtrlCamera)->m_xVerticalAngle = xVal)
#define CAm_M_vSetServCtrlCameraDistance(_p_stServCtrlCamera,xVal) ((_p_stServCtrlCamera)->m_xDistance = xVal)
/*
*=====================================================================================================
* general function for Servo Control
*
*=====================================================================================================
*/
MTH_tdxReal CAM_fn_xServoControlMechanics
(
MTH_tdxReal _xVal,
MTH_tdxReal _xMax,
MTH_tdxReal _xDT
);
/*
*=====================================================================================================
* Shifting's Servo Control
*
*=====================================================================================================
*/
void CAM_fn_vServShifting
(
DNM_tdstVector *_p_stShiftingResult,
MTH_tdxReal _xSpeed,
MTH_tdxReal _xDT,
MTH_tdstVector *_p_stShifting
);
#ifdef __cplusplus
}
#endif
#endif