BWP-SS19-01/Fein Design/Engine: Unterschied zwischen den Versionen

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen
Zeile 15: Zeile 15:
 
== Engine.c ==
 
== Engine.c ==
 
Im Wesentlichen werden hier die notwendigen PINS initialisiert, um diese mittels GPIO verwenden zu können. Dies geschieht in der '''void internal_init_Engine(void) {...}''' Funktion.<br>
 
Im Wesentlichen werden hier die notwendigen PINS initialisiert, um diese mittels GPIO verwenden zu können. Dies geschieht in der '''void internal_init_Engine(void) {...}''' Funktion.<br>
  +
Um die angeschlossenen PINs nutzen zu können, ist ein Binding notwendig, dies geschieht mittels:
  +
<pre>
  +
dev_pin11 = device_get_binding(GPIO_DRIVER);
  +
dev_pin7 = device_get_binding(GPIO_DRIVER);
  +
dev_pinA3 = device_get_binding(GPIO_DRIVER);
  +
dev_pinA2 = device_get_binding(GPIO_DRIVER);
  +
</pre>
  +
  +
Nach diesem Binding ist es notwendig die entsprechenden PINs auf "OUT" zu setzen, um ein Signal senden zu können:
  +
<pre>
  +
gpio_pin_configure(dev_pin11, AIN1, GPIO_DIR_OUT );
  +
gpio_pin_configure(dev_pin7 , AIN2, GPIO_DIR_OUT );
  +
gpio_pin_configure(dev_pinA3, BIN1, GPIO_DIR_OUT );
  +
gpio_pin_configure(dev_pinA2, BIN2, GPIO_DIR_OUT );
  +
</pre>

Version vom 24. August 2019, 11:30 Uhr

Engine

Die Engine besteht aus dem C-File (Engine.c) und einen Header-File (Engine.h) und spricht die notwendigen GPIO-Pins an, um die Motor anzusteuern.

Engine.h

Im Header-File befinden 4 Konstanten, die den PINS auf dem Motor-Treiber entsprechen.
PIN AIN1 auf dem Motor-Treiber ist mit dem GPIO-Pin 11 auf dem Feather verbunden. AIN2 ist mit PIN 7 verbunden.
PIN BIN1 und BIN2 sind an GPIO-PIN A3 bzw. A2 angeschlossen.

#define AIN1 EXT_P11_GPIO_PIN // 11
#define AIN2 EXT_P7_GPIO_PIN  // 7
#define BIN2 EXT_A2_GPIO_PIN  // A2
#define BIN1 EXT_A3_GPIO_PIN  // A3

Engine.c

Im Wesentlichen werden hier die notwendigen PINS initialisiert, um diese mittels GPIO verwenden zu können. Dies geschieht in der void internal_init_Engine(void) {...} Funktion.
Um die angeschlossenen PINs nutzen zu können, ist ein Binding notwendig, dies geschieht mittels:

dev_pin11      = device_get_binding(GPIO_DRIVER);
dev_pin7       = device_get_binding(GPIO_DRIVER);
dev_pinA3      = device_get_binding(GPIO_DRIVER);
dev_pinA2      = device_get_binding(GPIO_DRIVER);

Nach diesem Binding ist es notwendig die entsprechenden PINs auf "OUT" zu setzen, um ein Signal senden zu können:

gpio_pin_configure(dev_pin11, AIN1, GPIO_DIR_OUT );
gpio_pin_configure(dev_pin7 , AIN2, GPIO_DIR_OUT );
gpio_pin_configure(dev_pinA3, BIN1, GPIO_DIR_OUT );
gpio_pin_configure(dev_pinA2, BIN2, GPIO_DIR_OUT );