1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // ----------------------------------------------------------------------------
- // TEempSensorSpi.h -
- // ----------------------------------------------------------------------------
- // Beschreibung: Temperatur-Sensor (TMP121) mit SPI-IF
- // HW: BMS-Master, IPE 362-02-02R0
- // Revision: 27. Juni 2012, neu Maurer, IPE
- // ----------------------------------------------------------------------------
- #ifndef _TEMPSENS_H_
- #define _TEMPSENS_H_
- typedef struct {
- enum {Idle=0,Read_1,Read_2} FsmState;
- enum {No_Task,Read} TaskTrigger; // NoTask to No_Task
- int16_t value;
- uint8_t num_data;
- uint8_t i_databyte;
- uint8_t valueIsNew;
- union {
- uint8_t R;
- struct {
- uint8_t FSM_TO:1;
- uint8_t rsvd:6;
- } B;
- } Flags;
- } TempMessStatus_t;
- //Datentyp zum speichern des Status des Moduls
- // API
- extern void TempMess_init (void);
- //Aufruf der SPI-Config und Initialisierung des Status-Structs
- extern void TempMess_update(void);
- //ruft FSM_update() auf. Der Aufruf muss getaktet sein (1ms), damit der
- //Fsm-TimeOut funktioniert.
- extern int8_t TempMess_poll_Value(int16_t *target);
- //Ueberprueft, ob ein neuer Messwert zur Verfuegung steht und schreibt ihn
- //in *target. Der 12-bit-Wert des Sensors wird auf 8-bit "abgeschnitten"
- //-> Aufloesung = 1°, Messbereich: -55°..+150°
- //return -1 , wenn kein neuer Wert vorhanden ist
- //return 0 , wenn ein neuer Wert geschrieben wurde
- extern int8_t TempMess_triggerRead(void);
- //Trigger, zum Starten einer Wandlung
- #endif /* ifndef*/
|