1/* 2 * Copyright 2004-2008, Fran��ois Revol, <revol@free.fr>. 3 * Distributed under the terms of the MIT License. 4 */ 5 6#include "CamSensor.h" 7#include "CamDebug.h" 8 9#define HDCS_ADDR_QC 0xaa 10 11#define HDCS_IDENT 0x00 12 13class HDCS1000Sensor : public CamSensor { 14public: 15 HDCS1000Sensor(CamDevice *_camera); 16 ~HDCS1000Sensor(); 17 18 virtual status_t Probe(); 19 20 virtual uint8 IICReadAddress() const { return HDCS_ADDR_QC; }; 21 virtual uint8 IICWriteAddress() const { return HDCS_ADDR_QC; }; 22}; 23 24 25HDCS1000Sensor::HDCS1000Sensor(CamDevice *_camera) 26 : CamSensor(_camera) 27{ 28} 29 30 31HDCS1000Sensor::~HDCS1000Sensor() 32{ 33} 34 35 36status_t 37HDCS1000Sensor::Probe() 38{ 39 status_t err; 40 uint8 data; 41 PRINT((CH "()" CT)); 42 Device()->SetIICBitsMode(8); 43 // QuickCam only ? 44 err = Device()->ReadIIC8(HDCS_IDENT+1, &data); 45 if (err < B_OK) 46 return ENODEV; 47 if (data == 8) { 48 PRINT((CH ": found %s sensor!" CT, Name())); 49 return B_OK; 50 } 51 return ENODEV; 52} 53 54 55B_WEBCAM_DECLARE_SENSOR(HDCS1000Sensor, hdcs1000) 56 57