Xabi Posted September 8, 2023 at 12:51 PM Posted September 8, 2023 at 12:51 PM Hallo Zusammen ich bräuchte für einen Aufbau alle Kanäle des IO-16 2.0 defaultmässig als Outputs geschalten. Dafür habe ich im File io16.c folgende Zeilen geändert (alles in der Funktion io16_init): Neu // Ursprünglich 38: pcal6416a.inout = 0x0000; // pcal6416a.inout = 0xFFFF; 39: pcal6416a.pullup_enable = 0x0000; // pcal6416a.pullup_enable = 0xFFFF; 54: channel->direction = IO16_V2_DIRECTION_OUT; // channel->direction = IO16_V2_DIRECTION_IN; Als ich dann die neu generierte FW geflasht habe, waren tatsächlich alle Kanäle auf Output und ausgeschalten. Das Problem war aber, man konnte nicht ohne weiteres via BrickViewer die Ausgänge einschalten. Man kann die Werte zwar ändern, es gibt aber keine Reaktion auf dem Board. Sobald aber ein beliebiger Kanal auf Input geschalten wird, reagiert das Board, und schaltet alle zuvor eingeschaltenen Kanäle auch tatsächlich ein. Daraus lässt sich schliessen, dass nur mit dieser Umkonfiguration ein Umschalten der Ausgänge wahrscheinlich nicht als neue Konfiguration gesehen wird, sondern erst, wenn ein Umschalten von Ausgang auf Eingang vollzogen wird. Die Überprüfung, ob eine neue Konfiguration gesetzt wurde, ist im File pcal6416a.c in den Zeilen 175-195 zu finden. Hat jemand eine Idee, was geändert werden muss, dass man die Kanäle als Outputs schalten kann, ohne dass ein Umschalten als Input dies erst ermöglicht? Vielen Dank und Gruss, Xabi Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.