B15F
Board 15 Famulus Edition
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
B15F Class Reference

#include <b15f.h>

Public Member Functions

void reconnect (void)
 
void discard (void)
 
bool testConnection (void)
 
bool testIntConv (void)
 
std::vector< std::string > getBoardInfo (void)
 
void delay_ms (uint16_t ms)
 
void delay_us (uint16_t us)
 
void reverse (uint8_t &b)
 
bool activateSelfTestMode (void)
 
bool digitalWrite0 (uint8_t)
 
bool digitalWrite1 (uint8_t)
 
uint8_t digitalRead0 (void)
 
uint8_t digitalRead1 (void)
 
uint8_t readDipSwitch (void)
 
bool analogWrite0 (uint16_t port)
 
bool analogWrite1 (uint16_t port)
 
uint16_t analogRead (uint8_t channel)
 
void analogSequence (uint8_t channel_a, uint16_t *buffer_a, uint32_t offset_a, uint8_t channel_b, uint16_t *buffer_b, uint32_t offset_b, uint16_t start, int16_t delta, uint16_t count)
 
uint8_t pwmSetFrequency (uint32_t freq)
 
bool pwmSetValue (uint8_t value)
 
bool setMem8 (volatile uint16_t *adr, uint8_t val)
 
uint8_t getMem8 (volatile uint16_t *adr)
 
bool setMem16 (volatile uint16_t *adr, uint16_t val)
 
uint16_t getMem16 (volatile uint16_t *adr)
 
bool setRegister (volatile uint8_t *adr, uint8_t val)
 
uint8_t getRegister (volatile uint8_t *adr)
 

Static Public Member Functions

static B15FgetInstance (void)
 
static std::string exec (std::string cmd)
 
static void abort (std::string msg)
 
static void abort (std::exception &ex)
 
static void setAbortHandler (errorhandler_t func)
 

Public Attributes

const std::string PRE = "[B15F] "
 B15F stdout prefix.
 

Static Public Attributes

constexpr static uint8_t MSG_OK = 0xFF
 Value to acknowledge a received command.
 
constexpr static uint8_t MSG_FAIL = 0xFE
 Value to reject a received command.
 
constexpr static uint16_t RECONNECT_TIMEOUT = 64
 Time in ms after which a reconnect attempt aborts.
 
constexpr static uint16_t WDT_TIMEOUT = 15
 Time in ms after which the watch dog timer resets the MCU.
 
constexpr static uint8_t RECONNECT_TRIES = 3
 Maximum count of reconnect attempts after which the driver stops.
 
constexpr static uint32_t BAUDRATE = 57600
 USART baudrate for communication with the MCU.
 

Detailed Description

main driver class

Definition at line 33 of file b15f.h.

Member Function Documentation

◆ abort() [1/2]

void B15F::abort ( std::exception &  ex)
static

Multithread sicherer Abbruch des B15F-Treibers

Parameters
exException als Abbruchursache

Definition at line 167 of file b15f.cpp.

◆ abort() [2/2]

void B15F::abort ( std::string  msg)
static

Multithread sicherer Abbruch des B15F-Treibers

Parameters
msgBeschreibung der Abbruchursache

Definition at line 161 of file b15f.cpp.

◆ activateSelfTestMode()

bool B15F::activateSelfTestMode ( void  )

Versetzt das Board in den Selbsttest-Modus WICHTIG: Es darf dabei nichts an den Klemmen angeschlossen sein!

Exceptions
DriverException

Definition at line 191 of file b15f.cpp.

◆ analogRead()

uint16_t B15F::analogRead ( uint8_t  channel)

Liest den Wert des Analog-Digital-Converters (ADC / ADU)

Parameters
channelKanalwahl von 0 - 7
Exceptions
DriverException

Definition at line 307 of file b15f.cpp.

◆ analogSequence()

void B15F::analogSequence ( uint8_t  channel_a,
uint16_t *  buffer_a,
uint32_t  offset_a,
uint8_t  channel_b,
uint16_t *  buffer_b,
uint32_t  offset_b,
uint16_t  start,
int16_t  delta,
uint16_t  count 
)

DAC 0 wird auf den Startwert gesetzt und dann schrittweise um Delta inkrementiert. Für jeden eingestelleten DAC-Wert werden zwei ADCs (channel_a und channel_b) angesprochen und die Werte übermittelt. Die Werte werden in buffer_a für Kanal a und buffer_b für Kanal b gespeichert.

Parameters
channel_aAuswahl des ADC a, von 0 - 7
buffer_aSpeichertort für Werte des Kanals a
offset_aAnzahl an Werten des Kanals a, die im Speicher übersprungen werden sollen
channel_bAuswahl des ADC b, von 0 - 7
buffer_bSpeichertort für Werte des Kanals b
offset_bAnzahl an Werten des Kanals b, die im Speicher übersprungen werden
startStartwert des DACs
deltaSchrittweite, mit welcher der DAC inkrementiert wird
countAnzahl an Inkrementierungen
Exceptions
DriverException

Definition at line 330 of file b15f.cpp.

◆ analogWrite0()

bool B15F::analogWrite0 ( uint16_t  port)

Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 0

Parameters
port10-Bit Wert
Exceptions
DriverException

Definition at line 277 of file b15f.cpp.

◆ analogWrite1()

bool B15F::analogWrite1 ( uint16_t  port)

Setzt den Wert des Digital-Analog-Converters (DAC / DAU) 1

Parameters
port10-Bit Wert
Exceptions
DriverException

Definition at line 292 of file b15f.cpp.

◆ delay_ms()

void B15F::delay_ms ( uint16_t  ms)

Lässt den Treiber für eine angegebene Zeit pausieren

Parameters
msVerzögerung in Millisekunden

Definition at line 127 of file b15f.cpp.

◆ delay_us()

void B15F::delay_us ( uint16_t  us)

Lässt den Treiber für eine angegebene Zeit pausieren

Parameters
usVerzögerung in Microsekunden

Definition at line 132 of file b15f.cpp.

◆ digitalRead0()

uint8_t B15F::digitalRead0 ( void  )

Liest den Wert des digitalen Eingabeports 0

Returns
Wert für gesamten Port
Exceptions
DriverException

Definition at line 232 of file b15f.cpp.

◆ digitalRead1()

uint8_t B15F::digitalRead1 ( void  )

Liest den Wert des digitalen Eingabeports 1

Returns
Wert für gesamten Port
Exceptions
DriverException

Definition at line 246 of file b15f.cpp.

◆ digitalWrite0()

bool B15F::digitalWrite0 ( uint8_t  port)

Setzt den Wert des digitalen Ausgabeports 0

Parameters
portWert für gesamten Port
Exceptions
DriverException

Definition at line 204 of file b15f.cpp.

◆ digitalWrite1()

bool B15F::digitalWrite1 ( uint8_t  port)

Setzt den Wert des digitalen Ausgabeports 1

Parameters
portWert für gesamten Port
Exceptions
DriverException

Definition at line 218 of file b15f.cpp.

◆ discard()

void B15F::discard ( void  )

Verwirft Daten im USART Puffer auf dieser Maschine und B15

Exceptions
DriverException

Definition at line 33 of file b15f.cpp.

◆ exec()

std::string B15F::exec ( std::string  cmd)
static

Führt ein Befehl auf dieser Maschine aus und liefert stdout zurück

Parameters
cmdDer Befehl

Definition at line 145 of file b15f.cpp.

◆ getBoardInfo()

std::vector< std::string > B15F::getBoardInfo ( void  )

Liefert Informationen zur aktuellen Firmware des B15

Exceptions
DriverException

Definition at line 95 of file b15f.cpp.

◆ getInstance()

B15F & B15F::getInstance ( void  )
static

Liefert eine Referenz zur aktuellen Treiber-Instanz, die Verbindung wird gegebenenfalls automatisch hergestellt.

Exceptions
DriverException

Definition at line 10 of file b15f.cpp.

◆ getMem16()

uint16_t B15F::getMem16 ( volatile uint16_t *  adr)

Liefert den Wert einer MCU Speicherzelle der Größe 16 Bit. Diese kann ein Register oder RAM-Daten sein.

Parameters
adrSpeicheradresse
Returns
Wert der Speicherzelle
Exceptions
DriverException

Definition at line 481 of file b15f.cpp.

◆ getMem8()

uint8_t B15F::getMem8 ( volatile uint16_t *  adr)

Liefert den Wert einer MCU Speicherzelle der Größe 8 Bit. Diese kann ein Register oder RAM-Daten sein.

Parameters
adrSpeicheradresse
Returns
Wert der Speicherzelle
Exceptions
DriverException

Definition at line 443 of file b15f.cpp.

◆ getRegister()

uint8_t B15F::getRegister ( volatile uint8_t *  adr)

Liefert den Wert eines 8-Bit MCU Registers. Diese Funktion arbeitet analog zu getMem8(), jedoch mit einer 8-Bit Adresse.

Parameters
adrSpeicheradresse
Returns
Wert des Registers
Exceptions
DriverException

Definition at line 504 of file b15f.cpp.

◆ pwmSetFrequency()

uint8_t B15F::pwmSetFrequency ( uint32_t  freq)

Setzt die Register so, dass näherungsweise die gewünschte Frequenz erzeugt wird. Ist freq == 0 wird PWM deaktiviert. Standardfrequenz: 31300 (empfohlen, da dann TOP == 255)

Parameters
freqPWM Frequenz
Returns
Top Wert des PWM Value für die gesetzte Frequenz
Exceptions
DriverException

Definition at line 387 of file b15f.cpp.

◆ pwmSetValue()

bool B15F::pwmSetValue ( uint8_t  value)

Setzt den PWM Wert.

Parameters
valuePWM Wert [0..0xFF]
Exceptions
DriverException

Definition at line 407 of file b15f.cpp.

◆ readDipSwitch()

uint8_t B15F::readDipSwitch ( void  )

Liest den Wert des digitalen Eingabeports, an dem der DIP-switch angeschlossen ist (S7)

Returns
Wert für gesamten Port
Exceptions
DriverException

Definition at line 260 of file b15f.cpp.

◆ reconnect()

void B15F::reconnect ( void  )

Versucht die Verbindung zum B15 wiederherzustellen

Exceptions
DriverException

Definition at line 18 of file b15f.cpp.

◆ reverse()

void B15F::reverse ( uint8_t &  b)

Invertiert das Bitmuster eines Bytes z.B.: 10100001 --> 10000101

Parameters
bByte, das invertiert wird

Definition at line 137 of file b15f.cpp.

◆ setAbortHandler()

void B15F::setAbortHandler ( errorhandler_t  func)
static

Setzt eine Fehlerbehandlungsroutine für den Treiberabbruch (abort)

Parameters
funcFunktion, die Exception als Parameter bekommt

Definition at line 179 of file b15f.cpp.

◆ setMem16()

bool B15F::setMem16 ( volatile uint16_t *  adr,
uint16_t  val 
)

Setzt direkt den Wert einer MCU Speicherzelle der Größe 16 Bit. Diese kann ein Register oder RAM-Daten sein. Wichtig: bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen!

Parameters
adrSpeicheradresse
valNeuer Wert für die Zelle
Returns
true, falls Vorgang erfolgreich
Exceptions
DriverException

Definition at line 461 of file b15f.cpp.

◆ setMem8()

bool B15F::setMem8 ( volatile uint16_t *  adr,
uint8_t  val 
)

Setzt direkt den Wert einer MCU Speicherzelle der Größe 8 Bit. Diese kann ein Register oder RAM-Daten sein. Wichtig: bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen!

Parameters
adrSpeicheradresse
valNeuer Wert für die Zelle
Returns
true, falls Vorgang erfolgreich
Exceptions
DriverException

Definition at line 424 of file b15f.cpp.

◆ setRegister()

bool B15F::setRegister ( volatile uint8_t *  adr,
uint8_t  val 
)

Setzt direkt den Wert eines 8-Bit MCU Registers. Diese Funktion arbeitet analog zu setMem8(), jedoch mit einer 8-Bit Adresse. Wichtig: bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen!

Parameters
adrSpeicheradresse
valNeuer Wert für das Register
Returns
true, falls Vorgang erfolgreich
Exceptions
DriverException

Definition at line 499 of file b15f.cpp.

◆ testConnection()

bool B15F::testConnection ( void  )

Testet die USART Verbindung auf Funktion

Exceptions
DriverException

Definition at line 56 of file b15f.cpp.

◆ testIntConv()

bool B15F::testIntConv ( void  )

Testet die Integer Konvertierung der USART Verbindung

Exceptions
DriverException

Definition at line 75 of file b15f.cpp.


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