⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sphere_mixed.h

📁 机器人仿真软件
💻 H
字号:
/* *  Player - One Hell of a Robot Server *  Copyright (C) 2000  Brian Gerkey et al. * * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * */#include <stdint.h>#include <libplayercore/playercore.h>#include <libplayercore/error.h>#include "v4lcapture.h"#define PLAYER_CAMERA_FORMAT_RGB 6#define PLAYER_CAMERA_FORMAT_YUV420P 7// Time for timestampsextern PlayerTime *GlobalTime;////////////////////////////////////////////////////////////////////////////////// The class for the driverclass SphereDriver : public Driver{  public:    // Constructor; need that    SphereDriver(ConfigFile* cf, int section);    // Must implement the following methods.    int Setup();    int Shutdown();    // Main function for device thread.    virtual void Main();    // This method will be invoked on each incoming message    virtual int ProcessMessage(MessageQueue* resp_queue,                               player_msghdr * hdr,                               void * data);    //void ProcessConfig();    void ProcessCommand(player_msghdr_t* hdr, player_ptz_cmd_t &data);    void RefreshData(); private:    void YUV422toRGB(uint8_t* argInputData, uint8_t* argOutputData);    inline double LimitPan(double argP)    {return (argP < mPanMin) ? mPanMin : ((argP > mPanMax) ? mPanMax : argP);};    inline double LimitTilt(double argT)    {return (argT < mTiltMin) ? mTiltMin : ((argT > mTiltMax) ? mTiltMax : argT);};    // Camera interface    player_devaddr_t       mCameraAddr;    player_camera_data_t   mCameraData;    // PTZ interface    player_devaddr_t    mPtzAddr;    player_ptz_data_t   mPtzData;    player_ptz_cmd_t    mPtzCmd;    int32_t mSleep;    int32_t mFrameRate;    int32_t mShutterSpeed;    int32_t mCompressionPreference;    int32_t mAutomaticGain;    int32_t mSharpness;    int32_t mBacklight;    int32_t mFlicker;    int32_t mNoiseReduction;    int32_t mDumpSettings;    int32_t mDebug;    const char *mAutomaticWb;    double mPanMin;    double mPanMax;    double mTiltMin;    double mTiltMax;    // Video device    const char *mDevice;    // Input source    int32_t mSource;    // Camera palette    const char *mPalette;    // Frame grabber interface    FRAMEGRABBER* mFg;    // The current image (local copy)    FRAME* mFrame;    FRAME* mRGBFrame;    int32_t mFrameNumber;    // Image dimensions    int32_t mWidth, mHeight;    // Pixel depth    int32_t mDepth;    // Write frames to disk?    int32_t mSave;};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -