Oscilloscope numérique

  1. /*--------------------------------------------------------------------------------
  2. 'Nom du projet : Oscilloscope
  3. 'Outil : Visual C++ 6
  4. 'Nom du fichier: WaveDevCaps.cpp : implementation file
  5. 'Realisation:Mathieu Texier et Emmanuel Traineau
  6. 'Date: Juin 2003
  7. 'Responsable: Eric Meleiro
  8. '--------------------------------------------------------------------------------
  9.  
  10. Explications : Affichage des données à l'écran
  11.  
  12. */
  13.  
  14. #include "stdafx.h"
  15. #include "oscillo.h"
  16. #include "mmsystem.h"
  17. #include "WaveDevCaps.h"
  18.  
  19. #ifdef _DEBUG
  20. #define new DEBUG_NEW
  21. #undef THIS_FILE
  22. static char THIS_FILE[] = __FILE__;
  23. #endif
  24.  
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CWaveDevCaps dialog
  27.  
  28.  
  29. CWaveDevCaps::CWaveDevCaps(CWnd* pParent /*=NULL*/)
  30.         : CDialog(CWaveDevCaps::IDD, pParent)
  31. {
  32.         //{{AFX_DATA_INIT(CWaveDevCaps)
  33.         m_dcapsview = _T("");
  34.         m_Combo = -1;
  35.         //}}AFX_DATA_INIT
  36. }
  37.  
  38.  
  39. void CWaveDevCaps::DoDataExchange(CDataExchange* pDX)
  40. {
  41.         CDialog::DoDataExchange(pDX);
  42.         //{{AFX_DATA_MAP(CWaveDevCaps)
  43.         DDX_Text(pDX, IDC_DCAPS, m_dcapsview);
  44.         DDX_CBIndex(pDX, IDC_COMBO_DEVS, m_Combo);
  45.         //}}AFX_DATA_MAP
  46. }
  47.  
  48.  
  49. BEGIN_MESSAGE_MAP(CWaveDevCaps, CDialog)
  50.         //{{AFX_MSG_MAP(CWaveDevCaps)
  51.         ON_CBN_SELCHANGE(IDC_COMBO_DEVS, OnSelchangeComboDevs)
  52.         //}}AFX_MSG_MAP
  53. END_MESSAGE_MAP()
  54.  
  55. // Macht einen Wert zum String
  56. CString CWaveDevCaps::Str (int value)
  57. {
  58.         wsprintf (m_str.GetBuffer(256), "%d", value);
  59.         m_str.ReleaseBuffer();
  60.         return m_str;
  61. }
  62.  
  63. // information sur le matériel branché sur le port
  64. void CWaveDevCaps::FillBox (int device)
  65. {
  66.         WAVEOUTCAPS woc;
  67.         MMRESULT mmerr;
  68.         memset (&woc, 0, sizeof (WAVEOUTCAPS));
  69.  
  70.         mmerr = waveOutGetDevCaps (device, &woc, sizeof (WAVEOUTCAPS));
  71.  
  72.         m_dcapsview = "PARALLEL PORT: \r\n";
  73.     m_dcapsview += "data register port : 378 \r\n";
  74.     m_dcapsview += "state register port : 379 \r\n";
  75.     m_dcapsview += "command register port : 37A \r\n\r\n";
  76.         m_dcapsview += "ACQUISITION CARD CARACTERISTICS : \r\n";
  77.         m_dcapsview += "symmetrical supply voltage :  +15V / -15V \r\n";
  78.         m_dcapsview += "symmetrical entrer voltage  :  +50V / -50V \r\n";
  79.         m_dcapsview += "sampling fraquency : 10MHz MAX \r\n";
  80.        
  81.        
  82.         if (mmerr != MMSYSERR_NOERROR)
  83.         {      
  84.                 m_dcapsview = "Err: " + Str(mmerr) +
  85.                                         " --- Cannot access port";
  86.                 goto raus;
  87.         }
  88.  
  89. raus :
  90.  
  91.         UpdateData (FALSE);    
  92. }
  93.  
  94.  
  95. // Combobox angeklickt
  96. void CWaveDevCaps::OnSelchangeComboDevs()
  97. {
  98.         UpdateData();
  99.         if (!m_Combo)
  100.                 FillBox (WAVE_MAPPER);
  101.         else
  102.                 FillBox (m_Combo-1);
  103. }
  104.  
  105. // Beim Start auf Device 1 schalten
  106. BOOL CWaveDevCaps::OnInitDialog()
  107. {
  108.         CDialog::OnInitDialog();
  109.        
  110.         m_Combo = 1;
  111.         UpdateData (FALSE);
  112.         FillBox (0);
  113.         return TRUE;
  114. }
  115.  
  116.  

contact - faire un lien