Ordinateur de bord pour voiture de collection 7.1
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
AquisitionSTM32 Class Reference

Classe d'utilisation de la Carte Aquisition STM32 A0 description : pilotage de l'electronique "Carte Acquisition STM32 version A0 B0" avec le programme interne 1.0 à 3.x utilisation : More...

Inheritance diagram for AquisitionSTM32:
CANModule

Public Member Functions

def __init__ (self, CANBus, adresse)
 Initialisation de la classe, utilisé comme ça : More...
 
def GetAna (self, voie, LSB=False)
 lecture des voies analogiques Calcul : le pont diviseur : 5,7 en 12 bits soit :
More...
 
def GetFreqTick (self, voie)
 lecture frequence et compteur d'impulsion More...
 
def GetIgniter (self, voie=0)
 Read the counter 1 and 2 and formating datas require Acquisition board with software 4.0. More...
 
def GetTor (self, voie)
 lecture des voies TOR More...
 
def GetVersion (self)
 recupère la version, si possible de la carte d'acquisition More...
 
def SetFreqInibTimeV2 (self, voie, time)
 ecriture des temps d'inhibition des voies compteurs sur carte 2.0 à 3.x More...
 
def SetFreqInibTimeV4 (self, voie, time)
 ecriture des temps d'inhibition des voies compteurs sur carte 4.0 More...
 
def SetPWM (self, voie, PWMValue)
 écriture d'un PWM More...
 
def SetPWMFreq (self, Frequence)
 écriture de la frequence des 4 PWM More...
 
def SetPWMOnOff (self, voie, OnOff)
 Arrette ou active une voie PWM. More...
 
def SetTor (self, voie, state)
 écriture des voies TOR More...
 
- Public Member Functions inherited from CANModule
def __init__ (self, CANBus, adresse)
 Initialisation de la classe, utilisé comme ça : More...
 
def GetValue (self, ID)
 envoie d'une requete et reception d'une trame More...
 
def GetVersion (self)
 (not used) More...
 
def SendCmd (self, ID, cmd)
 envoie d'une trame sans attente de reponse
More...
 
def SetListeActions (ListeActions)
 récupère le pointeur sur ListeActions[] More...
 

Public Attributes

 VersionSoftCarte
 
- Public Attributes inherited from CANModule
 Adresse_Module
 
 nmb_erreurs
 

Static Public Attributes

float AnaCoef = 3.3 /4096 * 5.7
 analogic multiplier. More...
 
 SetFreqInibTime = None
 ecriture des temps d'inhibition des voies compteurs sur carte Fonction prototype pour V2 ou V4 More...
 
int VERSION2 = 2
 constante version 2 de la carte d'acquisition More...
 
int VERSION3 = 3
 constante version 3 de la carte d'acquisition More...
 
int versionAqcuis = 2
 version requise de la carte d'acquisition More...
 
int VersionSoftCarte = 0
 
- Static Public Attributes inherited from CANModule
int Adresse_Module = 0
 contient l'adresse du module physique More...
 
 CANBus = None
 contient une instance de CANBusClass More...
 
 ListeActions = None
 pointeur vers la table ListeActions More...
 
int nmb_erreurs = 0
 comtpeur ne d'erreurs More...
 
int NOMBREERREURMAX = 10
 nombre max d'erreurs consécutives More...
 

Detailed Description

Classe d'utilisation de la Carte Aquisition STM32 A0 description : pilotage de l'electronique "Carte Acquisition STM32 version A0 B0" avec le programme interne 1.0 à 3.x utilisation :

MonCompteur = Compteur(adresse) MonCompteur.SetInibTime(n° compteur, temps d'inhibition) Freq, NombreTicks = MonCompteur.GetFreq_Ticks(n° compteur)

rappel des adresses : adresse base reglable entre 0 et 255*16 par tranche de 16 (soit 256 adresses possibles) voir le fichier sur cette page : http://jumpifnotzero.free.fr/?electronic/STM32_aquisition/index.php

Date
  • 27/02/2016 Création
  • 5.3 fevrier 2019 Modification :
  • 6.3 20 avril 2021 :
    • remove function Calib_Ana() never used
  • 7.0 aout 2021 :
    • add init to set new version of acquisition 4.0
    • GetVersion save the value in VersionSoftCarte
    • create SetFreqInibTimeV2 and SetFreqInibTimeV4, and link SetFreqInibTime with the good version regarding acquisition program
    • change all "range(0,x)" by values tables [0,1,2,...,x] to save time

Constructor & Destructor Documentation

◆ __init__()

def __init__ (   self,
  CANBus,
  adresse 
)

Initialisation de la classe, utilisé comme ça :

Parameters
CANBus
adressedu module physique

Reimplemented from CANModule.

Member Function Documentation

◆ GetAna()

def GetAna (   self,
  voie,
  LSB = False 
)

lecture des voies analogiques Calcul : le pont diviseur : 5,7 en 12 bits soit :

Parameters
voie(int) : numero de la voie à lire
LSB(bool) : if True, the returned value is the read valu in LSB (not voltage, no conversion), if LSB = False, the read value is converted in volt by multipling with AnaCoef.
Returns
int : valeur lue en LSB
Note
adresses 5 à 10 : voies 0 à 5
Date
  • 1.0 probably : creation
  • 6.0 add the optional param LSB for the LM35.

◆ GetFreqTick()

def GetFreqTick (   self,
  voie 
)

lecture frequence et compteur d'impulsion

Parameters
voie(int) : numero de la voie à lire
Returns
  • int : frequence (16 bits)
  • int : phase (si versionAqcuis >= 3) (16 bits)
  • int : nombre de ticks (32 bits)
Note
adresses 1 à 4 : voies 0 à 3

◆ GetIgniter()

def GetIgniter (   self,
  voie = 0 
)

Read the counter 1 and 2 and formating datas require Acquisition board with software 4.0.

Returns
  • int rpm (16 bits)
  • sparkstimes of cyclindre 1
Date
21/08/2021 7.0 creation

◆ GetTor()

def GetTor (   self,
  voie 
)

lecture des voies TOR

Parameters
voie(int) : numero de la voie à lire
Returns
bool, état de la voie lue : 0 False , > 0 True les valeurs sont retournees sous la forme d'un tableau de bytes bytearray(b'\x01\x01\x01\x01\x01\x01\x01\x01') il n'y a qu'a choisir le bon byte.
Note
surla carte c'est adresse 00 : voies 0 à 7

◆ GetVersion()

def GetVersion (   self)

recupère la version, si possible de la carte d'acquisition

Note
: toutes les version de cartes ne renvoient pas la version.
Returns
la version sous forme de table

Reimplemented from CANModule.

◆ SetFreqInibTimeV2()

def SetFreqInibTimeV2 (   self,
  voie,
  time 
)

ecriture des temps d'inhibition des voies compteurs sur carte 2.0 à 3.x

Parameters
voie(int) : numero de la voie à lire
time: temps en ms d'inhibition
Note
adresses 1 à 4 : voies 0 à 3
Date
21/08/2021 V7.0 renomage suite creation SetFreqInibTimeV4

◆ SetFreqInibTimeV4()

def SetFreqInibTimeV4 (   self,
  voie,
  time 
)

ecriture des temps d'inhibition des voies compteurs sur carte 4.0

Parameters
voie(int) : numero de la voie à lire
time: temps en ms d'inhibition (de 0 à 255)
Note
adresses 1 à 4 : voies 0 à 3 date 21/08/2021 V7.0 Creation

◆ SetPWM()

def SetPWM (   self,
  voie,
  PWMValue 
)

écriture d'un PWM

Parameters
voienumero de la voie à fixer
PWMValue: valeur de la PWM à fixer, 0 pour arret
Note
adresses 12 à 15 : voies 0 à 3

◆ SetPWMFreq()

def SetPWMFreq (   self,
  Frequence 
)

écriture de la frequence des 4 PWM

Parameters
Frequencenouvelle frequence de 1 à 5000
Note
adresses 12

◆ SetPWMOnOff()

def SetPWMOnOff (   self,
  voie,
  OnOff 
)

Arrette ou active une voie PWM.

Parameters
voievoie à activer / desactiver
OnOff: bool : True pour activer, sinon False
Note
adresses 12

◆ SetTor()

def SetTor (   self,
  voie,
  state 
)

écriture des voies TOR

Parameters
voienumero de la voie à fixer
state: état de la voie à ecrire
Note
adresse 11 : voies 0 à 3

Member Data Documentation

◆ AnaCoef

float AnaCoef = 3.3 /4096 * 5.7
static

analogic multiplier.

The dividing bridge is 5.7, but the resistor are 1%, so the value can be between 5,607 and 5,795 (total tolerance = 1,666 %). This static error can be corrected, dependind the plugged in sensor. Please see IANA class in Capteurs.py.

◆ SetFreqInibTime

SetFreqInibTime = None
static

ecriture des temps d'inhibition des voies compteurs sur carte Fonction prototype pour V2 ou V4

Date
21/08/2021 V7.0 Creation

◆ VERSION2

int VERSION2 = 2
static

constante version 2 de la carte d'acquisition

◆ VERSION3

int VERSION3 = 3
static

constante version 3 de la carte d'acquisition

◆ versionAqcuis

int versionAqcuis = 2
static

version requise de la carte d'acquisition

◆ VersionSoftCarte [1/2]

int VersionSoftCarte = 0
static

◆ VersionSoftCarte [2/2]

VersionSoftCarte

The documentation for this class was generated from the following file: