Coder Social home page Coder Social logo

Comments (11)

jandelgado avatar jandelgado commented on September 22, 2024 2

No problem - me too :-) Anyway, I think i found the problem in the meantime ...

from jled.

aGGreSSiv avatar aGGreSSiv commented on September 22, 2024 1

Hello. I have the same problem. I follow your correspondence silently. :)

from jled.

jandelgado avatar jandelgado commented on September 22, 2024

The "current" brightness level is a function of time, and calculated on-demand. JLed does not store the lastly written level, since this would require an additional byte in the internal state, which I want to keep as small as possible. I'll check if it's possible to return the current level with the Update method, then the client can decide to use/store the value.

from jled.

jandelgado avatar jandelgado commented on September 22, 2024

@arnolddej, On the return_current_level_from_update branch I added experimental support for the Update() method returning also the brightness level written, while keeping compatibility with old code. Have a look at the new UpdateResult class. Use it as follows:

auto result = led.Update();    // returns now an `UpdateResult` object that can be cast to a `bool`

// signals that a new value was written out to the LED
if (result.WasChanged()) {
    auto level = result.Value();
    // do something with the level ....
}

from jled.

arnolddej avatar arnolddej commented on September 22, 2024

Thanks! I will try it asap.

from jled.

arnolddej avatar arnolddej commented on September 22, 2024

@jandelgado I've tested it.

It seems like the value not always correspond to the actual brightness whenever you interrupt the running Fade() command with another Fade() command. Also whenever you interrupt the running cmd it sometimes will start at the minimum/maximum brightness level while its current value is only half for example.

Is it even possible to call Fade() with another Fade() on the same object while the first cmd isn't finished yet.

My current turn on/off code:

void turn_on() {
if (ledstrip1.IsRunning()) {
   ledstrip1.Stop();
}
ledstrip1.Fade(current_value_ledstrip1, 255, DURATION);
}

void turn_off() {
if (ledstrip1.IsRunning()) {
   ledstrip1.Stop();
}
ledstrip1.Fade(current_value_ledstrip1, 0, DURATION);
}

from jled.

jandelgado avatar jandelgado commented on September 22, 2024

@arnolddej
Could you please post a complete sketch. Especially the part where current_value_ledstrip1 is obtained is of interest here

from jled.

jandelgado avatar jandelgado commented on September 22, 2024

@aGGreSSiv please open another issue with your question and don't post code with secrets!

from jled.

arnolddej avatar arnolddej commented on September 22, 2024

@arnolddej
Could you please post a complete sketch. Especially the part where current_value_ledstrip1 is obtained is of interest here

I am currently on holiday for a week. Will share the code when I'm back. Basically, I assign a global uint8_t variable like your example. I then use this variable in the Fade() function.

from jled.

jandelgado avatar jandelgado commented on September 22, 2024

@arnolddej I did a few changes, please test again.

from jled.

arnolddej avatar arnolddej commented on September 22, 2024

@jandelgado Unfortunately I already had to build in the lighting. Will test the circuit on a breadboard soon.

from jled.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.