Hallo zusammen, ich möchte mich hier auch nochmal melden
Zunächst in eigener Sache: Da ich in letzter Zeit viel um die Ohren hatte gab's bei meinem Webinterface nicht viel neues. Aber derzeit bin ich dabei den Server von Javascript/Node auf C umzubauen (warum weiß ich selber nicht so recht ). Ob das am Ende hinhaut weiß ich noch nicht, aber das Grundgerüst mit Websockets und CAN steht schon. Jetzt fehlt nur noch der Funktionsumfang. Wenn ich da einen zufriedenstellenden Zustand erreicht habe, dann werde ich das ganze selbstverständlich veröffentlichen.
Dazu habe ich noch eine kleine (rein optische) Änderung am Omega2+ vorgenommen. Das Banner, das beim verbinden mit dem Terminal angezeigt wird, lässt sich unter "/etc/banner" sehr leicht bearbeiten. Das wäre vielleicht auch für das fertige Image ein netter Gag :
1
2
3
4
5
6
7
8
9
10
________ _ ___
/ ____/ /__ (_)__ / _ )___ __ __
/ / __/ / -_) (_-</ _ / _ \ /
/ /_/ /_/__/_/___/____/___/__
____/ A L S Z E N T R A L E
------------------------------------
Onion Omega2+, Ω-ware: 0.2.0 b193
------------------------------------
Und dann noch eine Frage an Gerd:
Ich habe bei meinen Programmier-Eskapaden wiederholt festgestellt, dass der integrierte PIC gerne mal den CAN zuspammt. Das tritt immer dann auf, wenn ich meinen Selbstbau-Decoder (wird über einen USB-Port des Desktop-PCs versorgt) an den Bus hänge. Hier mal ein Mitschnitt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
19:30:20.085 CAN 0x00231B40 [8] AB AF 00 04 00 01 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.087 CAN 0x00231B40 [8] AB AF 00 05 00 01 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.089 CAN 0x00231B40 [8] AB AF 00 06 00 01 00 00 S88 Event: Kennung 43951 Kontakt 6 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.089 CAN 0x00231B40 [8] AB AF 00 07 00 01 00 00 S88 Event: Kennung 43951 Kontakt 7 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.091 CAN 0x00231B40 [8] AB AF 00 0E 00 01 00 00 S88 Event: Kennung 43951 Kontakt 14 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.093 CAN 0x00231B40 [8] AB AF 00 0F 00 01 00 00 S88 Event: Kennung 43951 Kontakt 15 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.095 CAN 0x00231B40 [8] AB AF 00 10 00 01 00 00 S88 Event: Kennung 43951 Kontakt 16 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.097 CAN 0x00231B40 [8] AB AF 00 11 00 01 00 00 S88 Event: Kennung 43951 Kontakt 17 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.098 CAN 0x00231B40 [8] AB AF 00 02 00 01 00 00 S88 Event: Kennung 43951 Kontakt 2 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.100 CAN 0x00231B40 [8] AB AF 00 03 00 01 00 00 S88 Event: Kennung 43951 Kontakt 3 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.102 CAN 0x00231B40 [8] AB AF 00 08 00 01 00 00 S88 Event: Kennung 43951 Kontakt 8 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.104 CAN 0x00231B40 [8] AB AF 00 09 00 01 00 00 S88 Event: Kennung 43951 Kontakt 9 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.106 CAN 0x00231B40 [8] AB AF 00 0A 00 01 00 00 S88 Event: Kennung 43951 Kontakt 10 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.107 CAN 0x00231B40 [8] AB AF 00 0B 00 01 00 00 S88 Event: Kennung 43951 Kontakt 11 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.108 CAN 0x00231B40 [8] AB AF 00 0C 00 01 00 00 S88 Event: Kennung 43951 Kontakt 12 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.109 CAN 0x00231B40 [8] AB AF 00 0D 00 01 00 00 S88 Event: Kennung 43951 Kontakt 13 Zustand alt 0 Zusand neu 1 Zeit 0
19:30:20.953 CAN 0x00231B40 [8] AB AF 00 02 01 00 00 00 S88 Event: Kennung 43951 Kontakt 2 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.955 CAN 0x00231B40 [8] AB AF 00 03 01 00 00 00 S88 Event: Kennung 43951 Kontakt 3 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.957 CAN 0x00231B40 [8] AB AF 00 04 01 00 00 00 S88 Event: Kennung 43951 Kontakt 4 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.959 CAN 0x00231B40 [8] AB AF 00 05 01 00 00 00 S88 Event: Kennung 43951 Kontakt 5 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.961 CAN 0x00231B40 [8] AB AF 00 06 01 00 00 00 S88 Event: Kennung 43951 Kontakt 6 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.963 CAN 0x00231B40 [8] AB AF 00 07 01 00 00 00 S88 Event: Kennung 43951 Kontakt 7 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.965 CAN 0x00231B40 [8] AB AF 00 08 01 00 00 00 S88 Event: Kennung 43951 Kontakt 8 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.967 CAN 0x00231B40 [8] AB AF 00 09 01 00 00 00 S88 Event: Kennung 43951 Kontakt 9 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.969 CAN 0x00231B40 [8] AB AF 00 0A 01 00 00 00 S88 Event: Kennung 43951 Kontakt 10 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.970 CAN 0x00231B40 [8] AB AF 00 0B 01 00 00 00 S88 Event: Kennung 43951 Kontakt 11 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.971 CAN 0x00231B40 [8] AB AF 00 0C 01 00 00 00 S88 Event: Kennung 43951 Kontakt 12 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.972 CAN 0x00231B40 [8] AB AF 00 0D 01 00 00 00 S88 Event: Kennung 43951 Kontakt 13 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.973 CAN 0x00231B40 [8] AB AF 00 0E 01 00 00 00 S88 Event: Kennung 43951 Kontakt 14 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.974 CAN 0x00231B40 [8] AB AF 00 0F 01 00 00 00 S88 Event: Kennung 43951 Kontakt 15 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.975 CAN 0x00231B40 [8] AB AF 00 10 01 00 00 00 S88 Event: Kennung 43951 Kontakt 16 Zustand alt 1 Zusand neu 0 Zeit 0
19:30:20.975 CAN 0x00231B40 [8] AB AF 00 11 01 00 00 00 S88 Event: Kennung 43951 Kontakt 17 Zustand alt 1 Zusand neu 0 Zeit 0
Ansonsten passiert nichts auf dem Bus. Hast du eine Ahnung, woher dieses Verhalten rührt? Meine Vermutung wäre, dass der PIC auf das Verbinden der verschiedenen GND-Leitungen reagiert.
Und wo ich grade den can-monitor benutzt habe, noch ein Änderungsvorschlag: Wenn Bus-Teilnehmer ihre Geräteinformationen übertragen, dann versucht der Monitor alles an Datenbytes als Char auszugeben. Allerdings sind nicht alle Bytes darstellbar, was gelegentlich den Monitor abstürzen lässt und dann das ganze Terminal in blaue Farbe tunkt. Daher würde ich eine abfrage mit isprint() vorschlagen, damit sowas abgefangen wird.
Hier nochmal ein beispielhafter Trace (zwar ohne Absturz, aber u.A. mit Zeilenumbruch):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
19:40:34.352 CAN 0x003A0300 [5] 47 43 DA B2 01 Statusdaten: UID 0x4743DAB2 Index 0x01
19:40:34.354 CAN 0x003B0301 [8] 01 FD 30 F0 E0 C0 00 0F Statusdaten: Paket 0 Anzahl Messwerte: 1 Anzahl Kanäle: 253 Gerätenummer: 0xe0c0000f
19:40:34.364 CAN 0x003B0302 [8] 06 70 06 C2 07 67 08 0C Statusdaten: Paket 1 p�
19:40:34.374 CAN 0x003B0303 [8] 54 52 41 43 4B 00 30 2E Statusdaten: Paket 2
19:40:34.384 CAN 0x003B0304 [8] 30 30 00 32 2E 35 30 00 Statusdaten: Paket 3 TRACK
19:40:34.394 CAN 0x003B0305 [8] 41 00 00 00 00 00 00 00 Statusdaten: Paket 4
19:40:34.405 CAN 0x003BF31D [5] 47 43 DA B2 01 Statusdaten: UID 0x4743DAB2 Index 0x01
19:40:34.405 CAN 0x003A0300 [5] 47 43 DA B2 02 Statusdaten: UID 0x4743DAB2 Index 0x02
19:40:34.414 CAN 0x003B0301 [8] 03 FD C0 0C 30 C0 00 00 Statusdaten: Paket 0 Anzahl Messwerte: 3 Anzahl Kanäle: 253 Gerätenummer: 0x30c00000
19:40:34.424 CAN 0x003B0302 [8] 03 9D 04 B2 0A 1E 0C 49 Statusdaten: Paket 1 ��
I
19:40:34.434 CAN 0x003B0303 [8] 56 4F 4C 54 00 31 30 2E Statusdaten: Paket 2
19:40:34.444 CAN 0x003B0304 [8] 30 30 00 32 37 2E 30 30 Statusdaten: Paket 3 VOLT
19:40:34.454 CAN 0x003B0305 [8] 00 56 6F 6C 74 00 00 00 Statusdaten: Paket 4
19:40:34.465 CAN 0x003BF31D [5] 47 43 DA B2 02 Statusdaten: UID 0x4743DAB2 Index 0x02
Ansonsten wünsche ich ein schönes Wochenende