# ce script effectue une acquisition sur une voie
# et détermine la valeur moyenne du signal 


import pycanum.main as pycan
import matplotlib.pyplot as plt
import numpy as np
import math

#### Paramètres du signal étudié u0
# Fréquence du signal:
f=???? 
# Nombres de motifs tracés:
n=2


# ouverture de l'interface pour SysamSP5
can = pycan.Sysam("SP5")
# configuration de l'entrée 0 avec un calibre 10.0 V
can.config_entrees([0],[10.0])

# Fréquence d'échantillonnage (max 10 MHz)
fe=200*f
te=1.0/fe
# durée de l'acquisition
T=n*1/f
# nombre d'échantillons (Max 260000 environ)
N = int(T/te)

# configuration de l'échantillonnage. La période d'échantillonnage est donnée en microsecondes
can.config_echantillon(te*10**6,N)
# acquisition
can.acquerir()
# Lecture des instants et des tensions pour la voie 0
t0=can.temps()[0]
u0=can.entrees()[0]
# fermeture de l'interface
can.fermer()


# On relie la période d'échantillonnage et la durée à partir des données
# car il peut y avoir une différence avec les valeurs spécifiées au départ 
te = t0[1]-t0[0]
fe = 1.0/te
N = t0.size
T = t0[N-1]-t0[0]

#### Calcul de la valeur moyenne du signal u0

u_mean = [np.mean(u0)]*N
ualt=???


# Tracé temporel du signal et enregistrement de la figure dans un fichier pdf
plt.figure()
plt.title('Représentation temporelle expérimentale ') 
plt.plot(t0,u0,"k-",label="u")
plt.plot(t0,ualt,"k--",label="Composante alternative")
plt.plot(t0,u_mean, label='Composante continue', linestyle=':')
plt.legend()
plt.xlabel("t (s)")
plt.ylabel("u (V)")
plt.axis([0,T,1.1*min(ualt),1.1*max(u0)])
plt.grid()
print('La valeur moyenne du signal est (en volt)')
print(u_mean[0])

plt.show()






