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 PB_ADDR_QC 0xba 10 11#define PB_IDENT 0x00 12 13 14class PB0100Sensor : public CamSensor { 15public: 16 PB0100Sensor(CamDevice *_camera); 17 ~PB0100Sensor(); 18 virtual status_t Probe(); 19 20 virtual uint8 IICReadAddress() const { return PB_ADDR_QC; }; 21 virtual uint8 IICWriteAddress() const { return PB_ADDR_QC; }; 22}; 23 24 25PB0100Sensor::PB0100Sensor(CamDevice *_camera) 26: CamSensor(_camera) 27{ 28 Device()->SetIICBitsMode(16); 29 30} 31 32 33PB0100Sensor::~PB0100Sensor() 34{ 35} 36 37 38status_t 39PB0100Sensor::Probe() 40{ 41 status_t err; 42 uint16 data; 43 PRINT((CH "()" CT)); 44 Device()->SetIICBitsMode(16); 45 // QuickCam only ? 46 err = Device()->ReadIIC16(PB_IDENT, &data); 47 if (err < B_OK) 48 return ENODEV; 49 if (data == 0x64) { 50 PRINT((CH ": found %s sensor!" CT, Name())); 51 return B_OK; 52 } 53 return ENODEV; 54} 55 56 57B_WEBCAM_DECLARE_SENSOR(PB0100Sensor, pb0100) 58 59