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

    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

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


#include <chrono>
#include <thread>

#include <pigled.h>
#include <pignodeout.h>
#include <pigstate.h>


pigLED::pigLED( bcm_t bcmNo )
    : pigNodeOut( bcmNo , pull_off )
{

}


pigLED::~pigLED()
{

}


void pigLED::blink( int millisOn, int millisOff )
{
    if( !millisOff )
        millisOff = millisOn;

    std::thread thrd(
    [=]()
    {
        _pinOut.set_level( high );
        std::this_thread::sleep_for( std::chrono::milliseconds( millisOn ) );
        _pinOut.set_level( low );
        //std::this_thread::sleep_for( std::chrono::milliseconds( millisOff ) );
    } );
    thrd.detach();

}
