source: Sophya/trunk/AddOn/TAcq/pciewrap.cc@ 3610

Last change on this file since 3610 was 3538, checked in by ansari, 17 years ago

This commit was generated by cvs2svn to compensate for changes in r3537,
which included commits to RCS files with non-trunk default branches.

File size: 1.0 KB
Line 
1#include "pciewrap.h"
2
3#include <stdlib.h>
4#include <stdio.h>
5#include <math.h>
6
7#include <iostream>
8
9PCIEWrapper::PCIEWrapper()
10{
11// Faire l'initialisation PCI-Express ici
12}
13
14PCIEWrapper::~PCIEWrapper()
15{
16// Faire le nettoyage (liberer memoire ...)
17}
18
19
20// Variables pour tests
21static uint_4 NBytes = 0;
22static uint_4 Choix = 0;
23
24uint_4 PCIEWrapper::NBytesToRead()
25{
26// Lire le registre indiquant le nombre de mots prets a etre lus
27// cad transfere en memoire du PC
28int choix = rand()%5;
29if (choix < 2) {
30 Choix = choix;
31 if (choix == 0) NBytes = 4096;
32 else NBytes = 5000;
33}
34else {
35 NBytes = 0;
36 Choix = 0;
37}
38return NBytes;
39}
40
41uint_4 PCIEWrapper::Read(uint_1* buff, uint_4 nbytes)
42{
43 if (NBytes == 0) throw PCIEWException("PCIEWrapper::Read()/Error NBytes==0");
44 if (nbytes > NBytes) nbytes = NBytes;
45 double dx = (rand()%8+1)*0.05;
46 for(int k=0; k<nbytes; k++) buff[k] = (uint_1)((1.+sin(dx*k))*100.);
47 if ((Choix == 1) && (nbytes>2000))
48 for(int k=1600; k<1900; k++) buff[k] = (uint_1)(128);
49 return nbytes;
50}
Note: See TracBrowser for help on using the repository browser.