J'ai parlé un peu trop vite, en cherchant bien, j'ai fini par trouver un câble fonctionnel, ce qui me permet de récupérer ces infos :
19:36:40.535 -> ⸮RI&⸮⸮⸮⸮^
19:36:41.962 -> Accessories V1.1.4
19:36:41.962 -> Developed by Thierry Paris.
19:36:41.962 -> (c) Locoduino 2016-2018
19:36:41.962 ->
19:36:41.962 -> *** Setup Accessories started.
19:36:41.962 -> *** Setup Accessories Finished.
suivi de :
19:35:50.488 ->
19:35:50.488 -> Accessories V1.1.4
19:35:50.488 -> Developed by Thierry Paris.
19:35:50.488 -> (c) Locoduino 2016-2018
19:35:50.488 ->
19:35:50.488 -> *** Setup Accessories started.
19:35:50.521 -> 38 / 39 PortTwoPins MoveRightDir()
19:35:50.521 -> *** Setup Accessories Finished.
19:35:50.521 -> ActionPending : Cant move !
19:35:50.521 -> Action 0 added !
19:35:50.588 -> 38 / 39 PortTwoPins MoveStop()
19:35:50.621 -> 38 / 39 PortTwoPins MoveLeftDir()
19:35:50.621 -> Action 0 deleted !
19:35:50.721 -> 38 / 39 PortTwoPins MoveStop()
J'avoue ne pas savoir qu'en penser. On dirait que le décodeur reçoit en permanance des messages DCC alors même que je n'envoie aucun signal. D'ailleurs quand j'enlève le pin 3, j'obtiens toujours ces messages.
Mon code se limite à ces lignes :
#include <Accessories.h>
#include <Commanders.h>
ButtonsCommanderSwitch boutonAiguillageGauche;
AccessoryMotorTwoWays aiguillageGauche;
PortTwoPins portAiguillageGauche;
void setup()
{
Serial.begin(115200);
Commanders::begin(LED_BUILTIN);
Accessories::begin(0, 500);
DccCommander.begin(0x00, 0x00, digitalPinToInterrupt(3), true);
boutonAiguillageGauche.begin();
boutonAiguillageGauche.AddEvent(DCCINT(15, 0), 2);
boutonAiguillageGauche.AddEvent(DCCINT(15, 1), 7);
portAiguillageGauche.begin(38, 39, DIGITAL_INVERTED);
aiguillageGauche.beginTwoWays(&portAiguillageGauche, DCCINT(15, 0), DCCINT(15, 1), 255, 400);
}
void loop()
{
unsigned long id = Commanders::loop();
if (id != UNDEFINED_ID)
{
// Renvoie l'événement reçu de Commanders, vers les accessoires...
Accessories::RaiseEvent(id, (ACCESSORIES_EVENT_TYPE) Commanders::GetLastEventType(), Commanders::GetLastEventData());
}
Accessories::loop();
}
Aurais-je mal configuré la bibliothèque ?