Diffstat (limited to 'noncore/multimedia/camera/zcameraio.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/camera/zcameraio.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/noncore/multimedia/camera/zcameraio.cpp b/noncore/multimedia/camera/zcameraio.cpp new file mode 100644 index 0000000..aa6cbe3 --- a/dev/null +++ b/noncore/multimedia/camera/zcameraio.cpp @@ -0,0 +1,56 @@ +/********************************************************************** +** Copyright (C) 2002 Michael 'Mickey' Lauer. All rights reserved. +** +** This file is part of Opie Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#include "zcameraio.h" + +#include <sys/types.h> +#include <sys/stat.h> +#include <errno.h> +#include <string.h> +#include <fcntl.h> +#include <unistd.h> + +#include <qimage.h> + +#include <opie2/odebug.h> + +ZCameraIO::ZCameraIO() +{ + _driver = open( "/dev/sharp_zdc", O_RDWR ); + if ( _driver == -1 ) + oerr << "Can't open camera driver: " << strerror(errno) << oendl; + +}; + + +ZCameraIO::~ZCameraIO() +{ + if ( _driver != -1 ) + close( _driver ); +} + + +bool ZCameraIO::snapshot( QImage* img ) +{ + char buf[76800]; + + write( _driver, "M=13", 4 ); + write( _driver, "R=240,160,256,480", 17 ); + write( _driver, "M=12", 4 ); + + int result = read( _driver, &buf, sizeof buf ); + + return result == sizeof buf; +} |