Parlons Arduino > Bibliothèques

Bibliothèque Accessoire regression BaseAccessoryLigh gestion Blink()

<< < (3/3)

Thierry:
Merci encore pour la correction. Je l'ai implémentée chez moi, et j'ai aussi ajouté un StartAction() dans SetState parce que sinon le clignotement ne démarrait pas :

--- Code: ---void AccessoryBaseLight::SetStateRaw(ACC_STATE inNewState)
{
if (this->state != inNewState)
{
if (inNewState == LIGHTBLINK && this->startingMillis == 0)
this->StartAction();
this->state = inNewState;
this->pOwner->SetStateRaw(inNewState);
}
}
--- Fin du code ---

Dans le simulateur, dans ArduinoForm.hpp j'ai corrigé l'affichage des pins pour voir la valeur analogique courante qui ne s'affichait plus (dans le switch)...

--- Code: ---private: ref class PinListItem
{
public:
int pin;
int state;
String^ name;

PinListItem(int inPin, int inState, String^ inName)
{
this->pin = inPin;
this->state = inState;
this->name = inName;
}

virtual String ^ToString() override
{
String^ str = gcnew String("     ");
String^ textName;

if (String::IsNullOrEmpty(this->name))
textName = String::Format("{0,-4}", this->pin.ToString());
else
textName = String::Format("{0,-4}", this->name);

switch (this->state)
{
case VS_LOW:
str = String::Format("{0}  LOW", textName);
break;
case VS_HIGH:
str = String::Format("{0} HIGH", textName);
break;
case OUTPUT_RESERVED:
str = String::Format("{0} ----", textName);
break;
case OUTPUT_INTERRUPT:
str = String::Format("{0} INTR", textName);
break;
default:
str = String::Format("{0} {1,4}", textName, this->state.ToString());
break;
}
return str;
}
};
--- Fin du code ---

Je ne comprend pas ta demande pour le fading. Dans SetFading, on précise un pas entre 1 et 255, et un délai dans les mêmes limites. Ce qui fait qu'au maximum, un délai de 255ms avec un pas de 1 donne 255*255 ms soit 65 secondes juste pour faire décroître la lumière... Tu as besoin de plus que ça ? Je ne suis pas sûr que le fading soit le plus adapté si c'est le cas.

golgoth1009:
Pour le fading, j'ai un peu détourné le principe, j'ai mis un pas de 255 et un temps de 500ms,
ça m'a permis de faire un délai d'activation entre l'allumage de ma led au vert et l'activation du canton (juste pour que le train démarre légèrement après le passage au vert)

Navigation

[0] Index des messages

[*] Page précédente

Utiliser la version classique