# B15F: B15F Class Reference

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)
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 | setRegister (volatile uint8_t *adr, uint8_t val)
uint8_t | getRegister (volatile uint8_t *adr)

## Static Public Member Functions

static B15F & | getInstance (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 31 of file b15f.h.

## Member Function Documentation

## abort() [1/2]

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

static

Multithread sicherer Abbruch des B15F-Treibers

Parameters

  ex | Exception als Abbruchursache

Definition at line 473 of file b15f.cpp.

## abort() [2/2]

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

static

Multithread sicherer Abbruch des B15F-Treibers

Parameters

  msg | Beschreibung der Abbruchursache

Definition at line 467 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 166 of file b15f.cpp.

## analogRead()

uint16_t B15F::analogRead | ( | uint8_t | channel | ) |

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

Parameters

  channel | Kanalwahl von 0 - 7

Exceptions

  DriverException |

Definition at line 279 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_a | Auswahl des ADC a, von 0 - 7
  buffer_a | Speichertort für Werte des Kanals a
  offset_a | Anzahl an Werten des Kanals a, die im Speicher übersprungen werden sollen
  channel_b | Auswahl des ADC b, von 0 - 7
  buffer_b | Speichertort für Werte des Kanals b
  offset_b | Anzahl an Werten des Kanals b, die im Speicher übersprungen werden
  start | Startwert des DACs
  delta | Schrittweite, mit welcher der DAC inkrementiert wird
  count | Anzahl an Inkrementierungen

Exceptions

  DriverException |

Definition at line 302 of file b15f.cpp.

## analogWrite0()

bool B15F::analogWrite0 | ( | uint16_t | port | ) |

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

Parameters

  port | 10-Bit Wert

Exceptions

  DriverException |

Definition at line 249 of file b15f.cpp.

## analogWrite1()

bool B15F::analogWrite1 | ( | uint16_t | port | ) |

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

Parameters

  port | 10-Bit Wert

Exceptions

  DriverException |

Definition at line 264 of file b15f.cpp.

## delay_ms()

void B15F::delay_ms | ( | uint16_t | ms | ) |

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

Parameters

  ms | Verzögerung in Millisekunden

Definition at line 432 of file b15f.cpp.

## delay_us()

void B15F::delay_us | ( | uint16_t | us | ) |

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

Parameters

  us | Verzögerung in Microsekunden

Definition at line 437 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 207 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 221 of file b15f.cpp.

## digitalWrite0()

bool B15F::digitalWrite0 | ( | uint8_t | port | ) |

Setzt den Wert des digitalen Ausgabeports 0

Parameters

  port | Wert für gesamten Port

Exceptions

  DriverException |

Definition at line 179 of file b15f.cpp.

## digitalWrite1()

bool B15F::digitalWrite1 | ( | uint8_t | port | ) |

Setzt den Wert des digitalen Ausgabeports 1

Parameters

  port | Wert für gesamten Port

Exceptions

  DriverException |

Definition at line 193 of file b15f.cpp.

## discard()

void B15F::discard | ( | void |  | ) |

Verwirft Daten im USART Puffer auf dieser Maschine und B15

Exceptions

  DriverException |

Definition at line 72 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

  cmd | Der Befehl

Definition at line 451 of file b15f.cpp.

## getBoardInfo()

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

Liefert Informationen zur aktuellen Firmware des B15

Exceptions

  DriverException |

Definition at line 134 of file b15f.cpp.

## getInstance()

B15F & B15F::getInstance | ( | void |  | ) |

static

Liefert eine Referenz zur aktuellen Treiber-Instanz

Exceptions

  DriverException |

Definition at line 442 of file b15f.cpp.

## getRegister()

uint8_t B15F::getRegister | ( | volatile uint8_t * | adr | ) |

Liefert den Wert eines MCU Registers.

Parameters

  adr | Speicheradresse des Registers

Exceptions

  DriverException |

Definition at line 414 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

  freq | PWM Frequenz

Returns
  Top Wert des PWM Value für die gesetzte Frequenz

Exceptions

  DriverException |

Definition at line 359 of file b15f.cpp.

## pwmSetValue()

bool B15F::pwmSetValue | ( | uint8_t | value | ) |

Setzt den PWM Wert.

Parameters

  value | PWM Wert [0..0xFF]

Exceptions

  DriverException |

Definition at line 379 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 235 of file b15f.cpp.

## reconnect()

void B15F::reconnect | ( | void |  | ) |

Versucht die Verbindung zum B15 wiederherzustellen

Exceptions

  DriverException |

Definition at line 57 of file b15f.cpp.

## setAbortHandler()

void B15F::setAbortHandler | ( | errorhandler_t | func | ) |

static

Setzt eine Fehlerbehandlungsroutine für den Treiberabbruch (abort)

Parameters

  func | Funktion, die Exception als Parameter bekommt

Definition at line 485 of file b15f.cpp.

## setRegister()

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

Setzt direkt den Wert eines MCU Registers. Wichtig: bei einer falschen Adresse kann das Board 15 ernsthaften Schaden nehmen!

Parameters

  adr | Speicheradresse des Registers
  val | Neuer Wert für das Register

Exceptions

  DriverException |

Definition at line 396 of file b15f.cpp.

## testConnection()

bool B15F::testConnection | ( | void |  | ) |

Testet die USART Verbindung auf Funktion

Exceptions

  DriverException |

Definition at line 95 of file b15f.cpp.

## testIntConv()

bool B15F::testIntConv | ( | void |  | ) |

Testet die Integer Konvertierung der USART Verbindung

Exceptions

  DriverException |

Definition at line 114 of file b15f.cpp.

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

- drv/b15f.h
- drv/b15f.cpp