Hallo.
Ich habe die im Thread TS-ARM nur 1x flashbar angehängte Firmware out8 für TS ARM ausprobiert.
Ich kann nun zumindest IO2 gezielt schalten, womit ich schon einmal sehr zufrieden bin, es scheint aber doch die Pin Zuordnung nicht 100%ig zu passen. IO3 ist z.B. nicht auf Ausgang 2 geschalten, zumindest sehe ich das nicht so.
Ist der Source dieser Firmware auf Git, damit ich das nachprüfen könnte?
Danke
Peter
out8 FW auf TS ARM
Re: out8 FW auf TS ARM
Hi Peter,
achsoo, ich dachte, du hattest dir längt den Source Code angesehen!
Vor dem Hintergrund deines letzten Postings: man kann auf keinen Fall davon ausgehen, dass die Platinen und der zugehörige Code so designt wurden, dass die IOs kompatibel sind!
Für den ARM wurden in der sblib die zu verwendenden Pin-Namen im Code der auf die PIOs des ARM so gemappt (io_pin_names.h):
Die 4TE Controller und 8out Firmware nutzen wohl brav die PIN_IO1 bis PIN_IO8:
Aber die TS ARM enthält eine Konfig / Doku, wo die PIOs des ARM direkt aufgeführt sind und dokumentiert ist, welchem IO das dann auf der Platine entspricht (so wie es im WIki dokumentiert ist).
Beispiel PIN_IO3: in der sblib (und damit auch in der Software des 8out) geht der Pin auf den ARM Pin PIO2_10.
Im Vergleich dazu geht der Pin IO3 des TS ARM auf den ARM Pin PIO0_9 (wie es auch auf der Wiki-Seite des TS ARM steht).
Wenn du jetzt z.B. PIN_IO3 der 8out Firmware ansprichst, geht das also auf PIO2_10 ... und den verwendet der TS ARM gar nicht. Da kann nichts passieren.
Mit dem PIO2_11 könntest du aber Glück haben: der müsste von der FW des 8out auf Schalt-Kanal 8 angesprochen werden. Damit müsste sich auf IO4 des TS ARM etwas tun ...
Grüße
Christian
achsoo, ich dachte, du hattest dir längt den Source Code angesehen!
Vor dem Hintergrund deines letzten Postings: man kann auf keinen Fall davon ausgehen, dass die Platinen und der zugehörige Code so designt wurden, dass die IOs kompatibel sind!
Für den ARM wurden in der sblib die zu verwendenden Pin-Namen im Code der auf die PIOs des ARM so gemappt (io_pin_names.h):
Code: Alles auswählen
#elif defined (__LPC11XX__)
#define PIN_EIB_TX PIO1_9
#define PIN_EIB_RX PIO1_8
#define PIN_PROG PIO2_0
#define PIN_VBUS PIO1_11
#define PIN_INFO PIO2_6
#define PIN_RUN PIO3_3
#define PIN_PWM PIO3_2
#define PIN_APRG PIO0_6
#define PIN_IO1 PIO2_2
#define PIN_IO2 PIO0_7
#define PIN_IO3 PIO2_10
#define PIN_IO4 PIO2_9
#define PIO_SCL PIO0_4
#define PIO_SDA PIO0_5
#define PIN_IO5 PIO0_2
#define PIN_IO6 PIO0_8
#define PIN_IO7 PIO0_9
#define PIN_IO8 PIO2_11
#define PIN_TX PIO3_0
#define PIN_RX PIO3_1
#define PIN_IO9 PIO1_0
#define PIN_IO10 PIO1_1
#define PIN_IO11 PIO1_2
#define PIN_IO12 PIO1_4
#define PIN_IO13 PIO1_5
#define PIN_IO14 PIO1_7
#define PIN_IO15 PIO1_6
#define PIN_LT1 PIO2_1
#define PIN_LT2 PIO0_3
#define PIN_LT3 PIO2_4
#define PIN_LT4 PIO2_5
#define PIN_LT5 PIO3_5
#define PIN_LT6 PIO3_4
#define PIN_LT7 PIO1_10
#define PIN_LT8 PIO0_11
#define PIN_LT9 PIO2_3
Die 4TE Controller und 8out Firmware nutzen wohl brav die PIN_IO1 bis PIN_IO8:
Code: Alles auswählen
const int outputPins[NO_OF_OUTPUTS] =
{ PIN_IO1, PIN_IO2, PIN_IO3, PIN_IO4, PIN_IO5, PIN_IO6, PIN_IO7, PIN_IO8 };
#endif
Code: Alles auswählen
PIO2_2, // A ; IO2
PIO0_9, // B ; IO3
PIO2_11, // C ; IO4
PIO1_1, // D ; IO5
PIO3_0, // E ; IO6
PIO3_1, // F ; IO7
PIO3_2, // G ; IO8
PIO0_5, // H ; IO17 -- pullup Widerstand auf TS-Arm beachten
PIO2_9, // I ; IO9
PIO0_8, // J ; IO10
PIO1_10, // K ; IO11
PIO0_11, // L ; IO12
PIO1_0, // M ; IO13
PIO1_2, // N ; IO14
PIO2_3, // O ; IO15
PIO1_5, // P ; IO16
Beispiel PIN_IO3: in der sblib (und damit auch in der Software des 8out) geht der Pin auf den ARM Pin PIO2_10.
Im Vergleich dazu geht der Pin IO3 des TS ARM auf den ARM Pin PIO0_9 (wie es auch auf der Wiki-Seite des TS ARM steht).
Wenn du jetzt z.B. PIN_IO3 der 8out Firmware ansprichst, geht das also auf PIO2_10 ... und den verwendet der TS ARM gar nicht. Da kann nichts passieren.
Mit dem PIO2_11 könntest du aber Glück haben: der müsste von der FW des 8out auf Schalt-Kanal 8 angesprochen werden. Damit müsste sich auf IO4 des TS ARM etwas tun ...
Grüße
Christian
Re: out8 FW auf TS ARM
Hallo Christian.
Danke für das ausführliche Beschreiben.
Ja, ich hatte mir den Code schon angesehen, aber irgendwie habe ich da nicht ganz durchgeblickt. Besonders war mir auch nicht klar, was ich in config.h konfigurieren sollte:
#define NO_OF_HAND_PINS 8
//#define BI_STABLE
#define ZERO_DETECT
#define HAND_ACTUATION
Das hat dann dein eindeutiger Filename (out8-bcu1_monstable_withHand_noZero.zip ) auch gelöst.
Leider habe ich beim Herumexperimentieren einen Arm vernichtet (EIB+ ist eindeutig zu nahe an IO2), jetzt muss ich erst wieder Ersatz besorgen.
Peter
Danke für das ausführliche Beschreiben.
Ja, ich hatte mir den Code schon angesehen, aber irgendwie habe ich da nicht ganz durchgeblickt. Besonders war mir auch nicht klar, was ich in config.h konfigurieren sollte:
#define NO_OF_HAND_PINS 8
//#define BI_STABLE
#define ZERO_DETECT
#define HAND_ACTUATION
Das hat dann dein eindeutiger Filename (out8-bcu1_monstable_withHand_noZero.zip ) auch gelöst.
Leider habe ich beim Herumexperimentieren einen Arm vernichtet (EIB+ ist eindeutig zu nahe an IO2), jetzt muss ich erst wieder Ersatz besorgen.
Peter