Seite 1 von 1

out8 FW auf TS ARM

Verfasst: 9. Jul 2019, 21:53
von pbl
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

Re: out8 FW auf TS ARM

Verfasst: 10. Jul 2019, 15:58
von Doumanix
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):

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
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).

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

Verfasst: 16. Jul 2019, 22:04
von pbl
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