// camera.cc // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet // #include "camera.h" #include "erreur/erreur.h" #include "kernel/pbus.h" #include #include #include // Debug. #define CAM_FILE "/dev/robotcam" // Constructeur. Camera::Camera () { // Ouvre le périphérique. m_fd = open (CAM_FILE, O_RDONLY); if (m_fd == -1) throw ErreurFatale ("Impossible d'ouvrir le périphérique de la" " camera.\n"); // Paramètre la taille de frame. m_frameSize = m_w * m_h; ioctl (m_fd, CAM_SETFRAMESIZE, m_frameSize); // Lance le dma ? unsigned int image; ::read (m_fd, &image, 0); char t; cin >> t; } // Destructeur. Camera::~Camera () { // Ferme le périphérique de camera. close (m_fd); } // Lit une image. void Camera::read (unsigned char *image) const { int r; // Lit les données sur la camera. r = ::read (m_fd, image, m_frameSize); cout << "camera read " << r << endl; }