Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Write driver for new camera (See3Cam_CU20) #94

Open
kev-the-dev opened this issue Jan 9, 2018 · 3 comments
Open

Write driver for new camera (See3Cam_CU20) #94

kev-the-dev opened this issue Jan 9, 2018 · 3 comments
Assignees
Labels

Comments

@kev-the-dev
Copy link
Contributor

kev-the-dev commented Jan 9, 2018

Recommend forking http://wiki.ros.org/libuvc_camera, adding the extension units found at https://github.com/econsysqtcam/qtcam/blob/master/src/see3cam_cu20.cpp

IDEALLY, we contribute most to the ROS community by creating a generic system for interfacing with UVC extension units, not just the ones present in this camera, then PR to the ROS driver.

@kev-the-dev
Copy link
Contributor Author

kev-the-dev commented Jan 9, 2018

Notes:

// See3cam_cu20 camera
#define CAMERA_CONTROL_CU20         0x86
#define GET_SENSOR_MODE_CU20        0x01
#define SET_SENSOR_MODE_CU20        0x02
#define GET_CAMERA_MODE_CU20        0x03
#define SET_CAMERA_MODE_CU20        0x04
#define SET_SPECIAL_MODE_CU20       0x08
#define GET_SPECIAL_MODE_CU20       0x07
#define GET_ORIENTATION_CU20        0x09
#define SET_ORIENTATION_CU20        0x0A
#define SET_STROBEMODE_CU20         0x0C
#define GET_STROBEMODE_CU20         0x0B
#define SET_AE_ROI_MODE_CU20        0x06
#define GET_AE_ROI_MODE_CU20        0x05
#define SET_COLORKILLVAL_CU20       0x0E
#define GET_COLORKILLVAL_CU20       0x0D
#define SET_BURSTLENGTH_CU20        0x10
#define GET_BURSTLENGTH_CU20        0x0F
#define SET_ANTIFLICKER_CU20        0x12
#define GET_ANTIFLICKER_CU20        0x11
#define SET_DENOISE_MODE_CU20       0x16
#define GET_DENOISE_MODE_CU20       0x15
#define SET_LSCMODE_CU20            0x14
#define GET_LSCMODE_CU20            0x13
#define SET_TO_DEFAULT_CU20 0xFF
    enum sensorModes {
        SENSOR_STANDARD = 0x01,
        SENSOR_HDR_DLO  = 0x02
    };
    Q_ENUMS(sensorModes)

    enum cameraModes {
        CAMERA_MASTER = 0x01,
        CAMERA_SLAVE  = 0x02
    };
    Q_ENUMS(cameraModes)

    enum specialModes {
        SPECIAL_NORMAL = 0x01,
        SPECIAL_GREYSCALE  = 0x02
    };
    Q_ENUMS(specialModes)

    enum flipMirrorControls{
        SetBothFlipDisable = 0x01,
        SetHorzFlip = 0x03,
        SetVertiFlip = 0x02,
        SetBothFlipEnable = 0x04
    };
    Q_ENUMS(flipMirrorControls)

    enum strobeValues{
        STROBE_OFF = 0x04,
        STROBE_FLASH_VIDEO = 0x01,
        STROBE_TORCH = 0x03
    };
    Q_ENUMS(strobeValues)   

    enum camROIAutoExpMode {
        AutoExpCentered = 0x01,
        AutoExpManual = 0x02,
        AutoExpDisabled = 0x03
    };
    Q_ENUMS(camROIAutoExpMode)

    enum camAntiFlickerMode {
        AntiFlickerAuto = 0x01,
        AntiFlicker50Hz = 0x02,
        AntiFlicker60Hz = 0x03
    };
    Q_ENUMS(camAntiFlickerMode)

    enum denoiseModes {
        DenoiseEnable = 0x01,
        DenoiseDisable = 0x02
    };
    Q_ENUMS(denoiseModes)

    enum lscModes {
        LSC_AUTO = 0x01,
        LSC_DAYLIGHT = 0x02,
        LSC_CWFLIGHT = 0x03,
        LSC_ALIGHT = 0x04
    };
Q_ENUMS(lscModes)

@kev-the-dev kev-the-dev self-assigned this Jan 9, 2018
@kev-the-dev
Copy link
Contributor Author

Camera runs with ros's usb_cam driver, but does not have the extension unit functionalities. Will leave open but no longer urgent

@kev-the-dev
Copy link
Contributor Author

It is now worth looking into this again for NaviGator, where having HDR on may distrupt scanning the LED panel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant