Zoltan Hudak / mbedPi
Committer:
hudakz
Date:
Tue Dec 20 12:08:07 2022 +0000
Revision:
1:1f2d9982fa8c
mbed API for Raspberry Pi boards equipped with BCM2836 SoC.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 1:1f2d9982fa8c 1 #ifndef _DIGITAL_OUT_H_
hudakz 1:1f2d9982fa8c 2 #define _DIGITAL_OUT_H_
hudakz 1:1f2d9982fa8c 3
hudakz 1:1f2d9982fa8c 4 #include "BCM2835.h"
hudakz 1:1f2d9982fa8c 5
hudakz 1:1f2d9982fa8c 6 class DigitalOut
hudakz 1:1f2d9982fa8c 7 {
hudakz 1:1f2d9982fa8c 8 public:
hudakz 1:1f2d9982fa8c 9 DigitalOut(PinName pin) :
hudakz 1:1f2d9982fa8c 10 gpio(pin)
hudakz 1:1f2d9982fa8c 11 {
hudakz 1:1f2d9982fa8c 12 gpio_dir(gpio, PIN_OUTPUT);
hudakz 1:1f2d9982fa8c 13 gpio_write(gpio, LOW);
hudakz 1:1f2d9982fa8c 14 }
hudakz 1:1f2d9982fa8c 15
hudakz 1:1f2d9982fa8c 16 DigitalOut(PinName pin, PinMode mode, int value) :
hudakz 1:1f2d9982fa8c 17 gpio(pin)
hudakz 1:1f2d9982fa8c 18 {
hudakz 1:1f2d9982fa8c 19 gpio_dir(gpio, PIN_OUTPUT);
hudakz 1:1f2d9982fa8c 20 gpio_write(gpio, value);
hudakz 1:1f2d9982fa8c 21 }
hudakz 1:1f2d9982fa8c 22
hudakz 1:1f2d9982fa8c 23 void write(int value) { gpio_write(gpio, value); }
hudakz 1:1f2d9982fa8c 24 int read() { return gpio_read(gpio); }
hudakz 1:1f2d9982fa8c 25 void output() { gpio_dir(gpio, PIN_OUTPUT); }
hudakz 1:1f2d9982fa8c 26 DigitalOut &operator =(int value) { write(value); return *this; }
hudakz 1:1f2d9982fa8c 27 operator int() { return read(); }
hudakz 1:1f2d9982fa8c 28 protected:
hudakz 1:1f2d9982fa8c 29 PinName gpio;
hudakz 1:1f2d9982fa8c 30 };
hudakz 1:1f2d9982fa8c 31
hudakz 1:1f2d9982fa8c 32 #endif // _DIGITALOUT_H_
hudakz 1:1f2d9982fa8c 33