From 028befd70da61c3468149a1f1afa3d9eaf4369c7 Mon Sep 17 00:00:00 2001 From: schodet Date: Thu, 22 May 2003 18:05:25 +0000 Subject: Ajout de Dumpimage Réglage des paramètres de la camera. --- 2003/i/buzz/src/camera/camera.cc | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) (limited to '2003/i/buzz/src/camera/camera.cc') diff --git a/2003/i/buzz/src/camera/camera.cc b/2003/i/buzz/src/camera/camera.cc index 3982c7e..e9a7f60 100644 --- a/2003/i/buzz/src/camera/camera.cc +++ b/2003/i/buzz/src/camera/camera.cc @@ -9,6 +9,8 @@ #include #include #include // Debug. +#include // +#include #define CAM_FILE "/dev/robotcam" @@ -20,14 +22,36 @@ Camera::Camera () if (m_fd == -1) throw ErreurFatale ("Impossible d'ouvrir le périphérique de la" " camera.\n"); + // Paramètre la camera. + sccb_io param; + ifstream rc ("rc/camera"); + int addr, data; + while (!rc.eof ()) + { + rc >> hex >> addr >> hex >> data; + if (rc.good ()) + { + param.addr = addr; param.data = data; + cout << "camera sccbwrite 0x" << hex << addr << " 0x" << data << + endl; + ioctl (m_fd, CAM_SCCBWRITE, ¶m); + } + } + // Affiche les paramètres. + cout << hex << "camera sccbdump"; + for (addr = 0; addr < 0x50; ++addr) + { + if (!(addr % 16)) cout << endl; + param.addr = addr; + ioctl (m_fd, CAM_SCCBREAD, ¶m); + data = param.data; + cout << setw (2) << setfill ('0') << data << ' '; + + } + cout << endl << dec; // 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; + m_frameSize = m_w * m_h * 3; + ioctl (m_fd, CAM_SETFRAMESIZE, &m_frameSize); } // Destructeur. -- cgit v1.2.3