/*****************************************************************************

    source::worx libPiGPio
    Copyright © 2022 c.holzheuer
    chris@sourceworx.org

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    Uses:

    pigpiod_if2 by joan2937, pigpio @ abyz.me.uk
    https://abyz.me.uk/rpi/pigpio

    sigslot  by 2017 Pierre-Antoine Lacaze
    https://github.com/palacaze/sigslot

***************************************************************************/


#ifndef PIGNODEOUT_H
#define PIGNODEOUT_H


#include <pignode.h>
#include <pigstate.h>
#include <pigpin.h>

/**
 * @brief Eine Signal Senke aka receiver, drain,
 * _empfängt_ status änderungen
 * ein _aktiver_ Buzzer, nur an/aus, keine PWM, oder eben eine LED
 * werden.
 */

class LIBPIGPIO_EXPORT pigNodeOut : public pigNode, public pigState
{

public:

    explicit pigNodeOut( pigpio::bcm_t bcmNo, pigpio::pud_t pud = pigpio::pull_off );
    virtual ~pigNodeOut();

    void change_state( bool newState ) override;

protected:

    pigPinOut _pinOut;

};




#endif // PIGNODEOUT_H
