| freebus.org http://freebus.org/phpBB3/ |
|
| Spezialcontroller fuer Miele Dunstabzug - 8out problem http://freebus.org/phpBB3/viewtopic.php?f=25&t=2123 |
Seite 1 von 2 |
| Autor: | Lightning01 [ 11. Juni 2013 01:07 ] | ||
| Betreff des Beitrags: | Spezialcontroller fuer Miele Dunstabzug - 8out problem | ||
Hi, ich habe für die Anbindung eines Miele Dunstabzugs (DA31[6|9]0) an den KNX Bus eine Spezialversion des Controllers entwickelt. Diese basiert auf der LPC Sende/Empfangsstufe + dem AVR RF Controller Board + Teile des 8out app boards + Teile des 8 in app boards. Die Eagle files sind im Anhang zu finden. Die Steuerung des Dunstabzuges selbst übernimmt eine weitere Platine welche über I2C (mit PCA9600 tranciever) an den Hauptcontroller angebunden ist. Soweit so gut, leider habe ich mit der knx Library auf dem 8 out teil ein problem mit den ausgängen 5 - 8 (später über i2c, die leds sind nur für den status), nach spätestens ein paar Schaltvorgängen, je nach parametrierung auch schon noch einmal schalten (wenn 5 - 8 alle auf die gleiche gruppenadresse zum testen parametriert sind) bekomme ich PERR oder FERR auf der seriellen Konsole und der UC fängt an komisch zu reagieren (kein "zurücksetzen" über bus mehr möglich, relais von 1 - 4 schalten nur teilweise, leds von 5 - 8 schalten nur teilweise, parametrierung aus ETS nicht möglich). Nach einem power cycle ist alles wieder normal. Die verwendeten Controller sind 328P, die sourcen sind vom git und aktuell, in der fbrf-atmega168p.h habe ich die IO's entsprechend für meine Änderungen angepasst (macht aber keinen unterschied, habs auch mit den original pins probiert). PWM habe ich ebenfalls aus dem Source code auskommentiert zum testen, keine änderung. Den PSU Teil auf der PCB hab ich ebenfalls mittlerweile deaktivert und hänge mit den UC's am Labornetzteil und Störungen in der Spannungsversorgung auszuschließen!! Code: V2.0 EEPROM: 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF CRC 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100: FF FF FF 00 04 20 60 01 FE 11 40 00 00 FF E0 63 0110: A7 25 9A 00 00 00 07 11 08 28 0D 2B 00 2B 01 2B 0120: 07 2B 09 48 05 14 06 00 06 01 06 02 06 03 FE 04 0130: FE 05 FE 06 02 07 FE 08 FE 09 FE 0A FE 0B FE 0C 0140: FE 0D FE 0E FE 0F 03 10 04 11 05 12 01 13 FF FF 0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0190: FF FF FF FF FF FF FF FF FF FF 14 D6 54 9F 00 55 01A0: 97 00 56 97 00 57 97 00 58 93 00 59 93 00 5A 93 01B0: 00 5B 97 00 5C 93 01 5D 93 01 5E 93 01 5F 93 01 01C0: 60 C3 00 61 C3 00 62 C3 00 63 C3 00 64 C7 00 65 01D0: C7 00 66 C7 00 67 C7 00 00 00 00 00 00 00 00 00 01E0: 00 00 05 00 00 00 00 00 00 00 01 00 03 00 00 00 01F0: 00 00 00 00 00 00 55 55 CD 00 00 00 00 00 00 FF ADR:07 G00:1108 G01:280D G02:2B00 G03:2B01 G04:2B07 G05:2B09 G06:4805 ASOC:14 AG:06O00 AG:06O01 AG:06O02 AG:06O03 AG:FEO04 AG:FEO05 AG:FEO06 AG:02O07 AG:FEO08 AG:FEO09 AG:FEO0A AG:FEO0B AG:FEO0C AG:FEO0D AG:FEO0E AG:FEO0F AG:03O10 AG:04O11 AG:05O12 AG:01O13 COMM:14 O00F9FP54T00L00 O01F97P55T00L00 O02F97P56T00L00 O03F97P57T00L00 O04F93P58T00L00 O05F93P59T00L00 O06F93P5AT00L00 O07F97P5BT00L00 O08F93P5CT01L00 O09F93P5DT01L00 O0AF93P5ET01L00 OL00 O0DFC3P61T00L00 O O10FC7P64T00L00 O11F13FC7P67T00L00 SET PIN00 +++ 00 +++ O07W OBJ_07 00 00 OFF Sw SWITCH 00 TO 00 +++ 00 +++ O07W OBJ_07 ss Sw SWITCH 00 TO 80 +++ 80 +++ O07W OBJ_07 00 00 O F Sw SWITCH 80 TO 00 +++ 00 +++ O07W OBJ_07 ss Sw SWITCH 00 TO 80 +++ 80 +++ O07W OBJ_07 sF Sw SWITCH 80 TO 00 +++ 00 +++ O07W OBJ_07 ¾ Sw SWITCH 00 TO 80 +++ 80 +++ O07W OBJ_07 sF Sw SWITCH 80 TO 00 +++ 00 +++ O00W O01W O02W À OBJ_00 01 01 TIMER OBJ_01 01 01 ON OBJ_02 01 01 ON OBJ_03 01 01 ON Sw SWITCH 00 TO 0F +++ 0F +++ TIMEOUT Sw SWITCH 0F TO 0E +++ 0E +++ O07W OBJ_07 s Sw SWITCH 0E TO 8E +++ 8E +++ O07W OBJ_07 ssF Sw SWITCH 8E TO 0E +++ 0E +++ O07W OBJ_07 s Sw SWITCH 0E TO 8E +++ 8E +++ O07W OBJ_07 ssF Sw SWITCH 8E TO 0E +++ 0E +++ PERR O00W O01W O02W O03W OBJ_00 00 00 OFF OBJ_01 00 00 OFF OBJ_02 00 00 OFF OBJ_03 00 00 OFF Sw SWITCH 0E TO 00 +++ 00 +++ O00W O01W O02W O03W OBJ_00 01 01 TIMER OBJ_01 01 01 ON OBJ_02 01 01 ON OBJ_03 01 01 ON Sw SWITCH 00 TO 0F +++ 0F +++ TIMEOUT Sw SWITCH 0F TO 0E +++ 0E +++ Das +++ ist nur zum debuggen eingefügt... es scheint aber als würde der Teil des codes im Fehlerfall nicht mehr immer ausgeführt: Code: void switchPorts(uint8_t port, uint8_t oldPort) { DEBUG_PUTS("SWITCH "); DEBUG_PUTHEX(oldPort); DEBUG_PUTS(" TO "); DEBUG_PUTHEX(port); DEBUG_SPACE(); // Disable PWM only if we switch an IO to high, release a relay does not need power. // if((oldPort ^ port) & port) { // /* change PWM to supply relays with full power */ // DEBUG_PUTS("DISABLE PWM "); // alloc_timer(&app_dat.pwmTimer, PWM_DELAY_TIME); // SET_STATE(PWM_TIMER_ACTIVE); // ENABLE_PWM(0xFF); // --> This is 100% negative duty cycle (active low) // } IO_SET(1,(uint8_t)(port & 1<<0)); IO_SET(2,(uint8_t)(port & 1<<1)); IO_SET(3,(uint8_t)(port & 1<<2)); IO_SET(4,(uint8_t)(port & 1<<3)); IO_SET(5,(uint8_t)(port & 1<<4)); //Port 5 and 6 is reserved for I2C Bus IO_SET(6,(uint8_t)(port & 1<<5)); //Port 5 and 6 is reserved for I2C Bus IO_SET(7,(uint8_t)(port & 1<<6)); //Port 6 & 7 could be used but are on the I2C Receiver as well IO_SET(8,(uint8_t)(port & 1<<7)); //Port 6 & 7 could be used but are on the I2C Receiver as well DEBUG_SPACE(); DEBUG_PUTS(" +++ "); DEBUG_PUTHEX(port); DEBUG_PUTS(" +++ "); DEBUG_SPACE(); //i2c_send_daten(port); Meine Frage: was bedeutet PERR bzw. FERR, wie kann ich hier mit der closed source weiter debuggen, hat jemand eine Idee was das Problem sein könnte. PS: Zum compillieren und coden verwende ich AVR studio 6.1.2562 https://www.dropbox.com/s/at4wraa8ztyf0wy/controller-pcb.jpg Ich hoffe jemand kann mir helfen!!!!
|
|||
| Autor: | do13 [ 11. Juni 2013 08:58 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hallo Lightning01, hast du das mal in der Variante ohne Debug ausprobiert? PERR bzw. FERR bedeuten Parity bzw Frame Error. Das Timing auf dem Bus ist sehr Zeitkritisch und wird vermutlich durch die vielen Debugausgaben gestört. Deshalb die Bitte es einfach mal in der Release Variante auszuprobieren. Sag mal Bescheid ob es dann funktioniert. Gruß Dirk |
|
| Autor: | Lightning01 [ 11. Juni 2013 09:19 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, hab heute in der früh noch etwas weiter eingegrenzt... es sieht so aus als ob das Problem nur auftritt wenn Rückmeldeobjekte aktiviert sind. Weiters hab ich die ports 1 - 4 und 5 - 8 in der "fbrf-atmega168p.h" vertauscht, macht keinen Unterschied. Sobald jedoch Rückmeldungen aktiviert sind (obs nur mit aktivierten RM oder erst wenn auch wirklich eine RM Addresse Parametriert ist hab ich nocht nicht getestet) tritt das problem auf... ich werde auf jeden fall am Abend mit ausgeschaltenem debugging auch nochmals testen. Danke erstmal für die Rückmeldung und bis später |
|
| Autor: | Lightning01 [ 11. Juni 2013 20:38 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, habe jetzt nochmals getestet, das problem tritt nur auf wenn für mindestens einen Kanal Rückmeldungen aktiviert !!UND!! eine RM addresse parametriert ist, also nur wenn wirklich rückmeldediagramme gesendet werden müssen, da aber fast immer gleich beim ersten mal oder spätestens beim zweiten versuch!! hierbei ist es auch egal ob mit libfptpdebug und flag debug_uart oder nur mit libfbtp beim zweiten versuch aufgetreten Code: OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00 O00W O01W O02W O03W OBJ_00 01 01 TIMER OBJ_01 01 01 TIMER OBJ_02 01 01 TIMER OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F CRC TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00 beim ersten versuch aufgetreten Code: O01W O02W O03W OBJ_00 00 00 OFF OBJ_01 00 00 OFF OBJ_02 00 00 OFF OBJ_03 00 00 OFF Sw SWITCH 00 TO 00 O00W O01W O02s OBJ_00 01 01 TIMER OBJ_01 01 01 TIMER OBJ_02 01 01 TIMER OBJ_03 01 01 TIMER Sw SWITCH 00 TO 0F PERR TIMEOUT Sw SWITCH 0F TO 0E TIMEOUT Sw SWITCH 0E TO 0C TIMEOUT Sw SWITCH 0C TO 08 TIMEOUT Sw SWITCH 08 TO 00 die parametrierung zum testen: zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 1 - 4 rückmeldung (nicht invertiert) aktiviert auf kanal 4 verzögerungszeit kanal 1 5x130ms verzögerungszeit kanal 2 7x130ms verzögerungszeit kanal 3 9x130ms verzögerungszeit kanal 4 11x130ms gleiche gruppenadresse auf kanal 1 - 4 (9/0/5) eigene rm gruppenadresse auf kanal 4 (9/0/6) ich hoffe es kann mir jemand weiter helfen. mfg |
|
| Autor: | do13 [ 13. Juni 2013 07:32 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Lightning01 hat geschrieben: hierbei ist es auch egal ob mit libfptpdebug und flag debug_uart oder nur mit libfbtp Was genau passiert bei Verwendung der libfbtp ? Wie erkennst du ob dort der Fehler auftritt? Siehst du dort auch PERR oder FERR auf der seriellen Konsole? Gruß Dirk |
|
| Autor: | Lightning01 [ 13. Juni 2013 08:38 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, nein auf der Konsole sehe ich wie erwartet nichts, aber das Verhalten bleibt exakt das gleiche. Am einfachsten lässt es sich mit der "Zurücksetzen" funktion im ETS testen. Sobald ein RM Telegramm verschickt werden sollte, machmal aber auch erst beim zweiten, funktioniert diese nicht mehr. Die RM Gruppenadresse ist auf die status Led einer Taste eines Gira Tastsensor 2 plus gelegt, damit sieht man schön dass in seltenen Fällen eine Rückmeldung einmal richtig raus geht, dann aber nicht mehr. Sobald sich der status der LED bei Schaltvorgängen nicht mehr ändert treten auch die anderen Probleme (ausgänge schalten willkürlich, zurücksetzen geht nicht mehr, ...) auf!! mfg Rupert |
|
| Autor: | do13 [ 13. Juni 2013 08:45 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, ok. Zitat: die parametrierung zum testen: zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 1 - 4 rückmeldung (nicht invertiert) aktiviert auf kanal 4 verzögerungszeit kanal 1 5x130ms verzögerungszeit kanal 2 7x130ms verzögerungszeit kanal 3 9x130ms verzögerungszeit kanal 4 11x130ms gleiche gruppenadresse auf kanal 1 - 4 (9/0/5) eigene rm gruppenadresse auf kanal 4 (9/0/6) Dies ist noch so? Kannst du mal bitte versuchen weniger Kanäle zu benutzen. Am besten Schrittweise abspecken bis du letztendlich nur noch Kanal 4 (mit der Rückmeldung) nutzt. Gruß Dirk |
|
| Autor: | Lightning01 [ 13. Juni 2013 08:54 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, klar werd ich heute abend gleich mal testen... mfg Rupert |
|
| Autor: | Lightning01 [ 14. Juni 2013 00:47 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, also ich bin gleich auf nur einen Kanal (kanal 4) gegangen... gleiches Problem.. irgendwie scheint da im timing ordentlich was schief zu gehen... aber wie gesagt manchamal erst beim zweiten dritten oder vierten mal senden.... manchmal schon nach dem ersten RM telegramm... Die gruppenadressen sind gleich: gruppenadresse auf kanal 4 (9/0/5) eigene rm gruppenadresse auf kanal 4 (9/0/6) zeitschaltfunktion (ohne einschaltverzögerung) auf kanal 4 rückmeldung (nicht invertiert) aktiviert auf kanal 4 verzögerungszeit kanal 4 11x130ms der aktor hat 1.1.8 der taster hat 1.1.51 der consolen output Code: EEPROM: 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100: FF FF FF 00 04 20 60 01 FE 11 40 00 00 FF E0 63 0110: A7 1F 9A 00 00 00 04 11 08 2B 00 48 05 48 06 14 0120: FE 00 FE 01 FE 02 02 03 FE 04 FE 05 FE 06 01 07 0130: FE 08 FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E 03 0F 0140: FE 10 FE 11 FE 12 FE 13 FF FF FF FF FF FF FF FF 0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0180: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0190: FF FF FF FF FF FF FF FF FF FF 14 D6 54 9B 00 55 01A0: 93 00 56 93 00 57 97 00 58 93 00 59 93 00 5A 93 01B0: 00 5B 97 00 5C 93 01 5D 93 01 5E 93 01 5F 93 01 01C0: 60 C3 00 61 C3 00 62 C3 00 63 C7 00 64 C3 00 65 01D0: C3 00 66 C3 00 67 C3 00 00 00 00 00 00 00 00 00 01E0: 00 00 05 07 09 0B 00 00 00 00 0F 00 03 00 00 00 01F0: 00 00 00 00 00 00 55 55 CD 00 00 00 00 00 00 FF ADR:04 G00:1108 G01:2B00 G02:4805 G03:4806 ASOC:14 AG:FEO00 AG:FEO01 AG:FEO02 AG:02O03 AG:FEO04 AG:FEO05 AG:FEO06 AG:01O07 AG:FEO08 AG:FEO09 AG:FEO0A AG:FEO0B AG:FEO0C AG:FEO0D AG:FEO0E AG:03O0F AG:FEO10 AG:FEO11 AG:FEO12 AG:FEO13 COMM:14 O00F9BP54T00L00 O01F93P55T00L00 O02F93P56T00L00 O03F97P57T00L00 O04F93P58T00L00 O05F93P59T00L00 O06F93P5AT00L00 O07F97P5BT00L00 O08F93P5CT01L00 O09F93P5DT01L00 O0AF93P5ET01L00 O0DFC3P61T00L00 O0EFC0FC3P64T00L00 O11FC3P63P67T00L00 SET PINS FFO03W OBJ_03 01 01 TIMER Sw SWITCH 00 TO 08 TIMEOUT Sw SWITCH 08 TO 00 O03W OBJ_03 0 9ÿMER Sw SWITCH 00 TO 08 TIMEOUT Sw SWITCH 08 TO 00 PERR O03W OBJ_03 00 00 OFF Sw SWITCH 00 TO 00 O07W OBJ_07 00 00 OFF Sw SWITCH 00 TO 00 V2.0 EEPROM: 0000: FF FF F und hier die telegramme: ein telegramm taster ein rückmeldung vom aktor nach verzögerungszeit aus rückmeldung vom aktor zweites ein telegramm taster zweite ein rückmeldung vom aktor nach verzögerungszeit sollte die aus rückmeldung vom aktor kommen aber die kommt nur mehr verstümmelt, danach hat der µC schlagseite und reagiert mit den beschriebenen macken, RM kommen dann keine mehr ordentlich.... ohne rückmeldungen tritt das problem nicht auf. Man sieht schön die überlangen impulse, welche weit über 35µs sind!! das gesammte album findest man hier: https://picasaweb.google.com/rdobroun/KNXDebugging?authuser=0&feat=directlink die raw USBee DX logfiles gibts hier: https://www.dropbox.com/s/xbeojt0i6d80hge/Multiapp-Board-Rueckmeldeproblem-2-ohne-rm-13062013.usbeecomp https://www.dropbox.com/s/50cnick2hrs0nyw/Multiapp-Board-Rueckmeldeproblem-1-mit-rm-13062013.usbeecomp Die files lassen sich mit der USBee Suite (läuft ohne Logic Analyzer HW einfach im demo mode) ansehen: http://www.usbee.com/usbeesuitesw.zip danke für jede hilfe! mfg Rupert |
|
| Autor: | idefix [ 16. Juni 2013 22:12 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
in welchem Git Branch arbeitest du momentan? |
|
| Autor: | Lightning01 [ 19. Juni 2013 00:11 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi Idefix, sorry für die verspätete Antwort, hatte in den letzen zwei Tagen zu viel um die Ohren. Bis jetzt war ich in der "origin/master" am letzen stand unterwegs. Hab aber heute auf deine Frage hin den "origin/newlibname" versucht (aktuellster stand). Da habe ich jedoch das Problem dass nach dem laden der parameter mit ETS der UC in einen endless reset loop geht. Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop auf der Seriellen Konsole stellt sich das dann so dar: Code: V2.0 EEPROM: 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100: FF FF FF 00 04 70 54 02 FF 00 40 00 00 FF E0 63 0110: 8F 1D 84 D4 00 00 03 11 07 28 0D 48 06 18 02 00 0120: FE 01 FE 02 FE 03 FE 04 FE 05 FE 06 01 07 FE 08 0130: FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E FE 0F FE 10 0140: FE 11 FE 12 FE 13 FE 14 FE 15 FE 16 FE 17 FF FF 0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0180: FF FF FF FF 18 D1 53 D7 00 54 D3 00 55 D3 00 56 0190: D3 00 57 D3 00 58 D3 00 59 D3 00 5A D7 00 5B C3 01A0: 00 5D C3 00 5F C3 00 61 C3 00 63 C3 00 65 C3 00 01B0: 67 D3 00 69 D3 00 6B 93 00 6C 93 00 6D 93 00 6E 01C0: 93 00 6F 93 00 70 93 00 71 9 V2.0 EEPROM: 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0100: FF FF FF 00 04 70 54 02 FF 00 40 00 00 FF E0 63 0110: 8F 1D 84 D4 00 00 03 11 07 28 0D 48 06 18 02 00 0120: FE 01 FE 02 FE 03 FE 04 FE 05 FE 06 01 07 FE 08 0130: FE 09 FE 0A FE 0B FE 0C FE 0D FE 0E FE 0F FE 10 0140: FE 11 FE 12 FE 13 FE 14 FE 15 FE 16 FE 17 FF FF 0150: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0160: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0170: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0180: FF FF FF FF 18 D1 53 D7 00 54 D3 00 55 D3 00 56 0190: D3 00 57 D3 00 58 D3 00 59 D3 00 5A D7 00 5B C3 01A0: 00 5D C3 00 5F C3 00 61 C3 00 63 C3 00 65 C3 00 01B0: 67 D3 00 69 D3 00 6B 93 00 6C 93 00 6D 93 00 6E 01C0: 93 00 6F 93 00 70 93 00 71 9 V2.0 EEPROM: 0000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0010: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0020: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0030: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0040: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF läuft immer wieder bis 71 9 und dann gehts von vorne los... im obigen beispiel ist es auf dem 8-in, tritt aber auf dem 8-out genau gleich auf. dabei macht es keinen unterschied ob ich die fbrf-atmega168p.h entsprechend für meine HW anpasse oder das original file nehme. Den Code für die I2C Kommunikation mit der Dunstabzug Steuerplatine habe ich noch gar nicht eingebaut. ein weiteres problem war dass nach dem auschecken und anlegen des AVR Studio Projekts im newlib branch das compile nicht funktionierte weil Studio sich über eine fehlende "fb.h" beschwert welche (neben einigen anderen files) nicht mehr (im include folder) vorhanden ist. Ich hab dann einfach alle nicht mehr vorhanden dateien dann aus dem "origin/master" include verzeichniss rüber kopiert, danach ging der compile durch! mfg Rupert |
|
| Autor: | uwe223 [ 19. Juni 2013 14:40 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hallo, Zitat: Da habe ich jedoch das Problem dass nach dem laden der parameter mit ETS der UC in einen endless reset loop geht. Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop Das kann ich bestätigen. Ich habe das gleiche Verhalten bei der Dimmerapplikation beobachtet. Mit viel Glück fängt sich der Controller irgendwann und funktioniert dann normal. Gruß Uwe |
|
| Autor: | idefix [ 20. Juni 2013 10:58 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Ist die Fuse EESAVE aktiviert? Wenn ja, schalte die mal aus und flashe die Firmware nochmal auf den Kontroller. |
|
| Autor: | Lightning01 [ 21. Juni 2013 00:31 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hi, ich hab bereits den gesamten UC inkl. EEPROM gelöscht und neu geflashed! Hat aber leider nichts gebracht, verhalten ist noch immer gleich. Weiters habe ich versucht via DebugWire einen Breakpoint gleich nach der "restartApplication" Funktion zu setzen, dieser wird aber wenn der loop Fehler besteht nie erreicht, der reset passiert wie es aussieht bereits davor in der Library So lange noch keine oder nur die Deviceadresse Parametriert sind/ist wird die Codestelle jedoch ordentlich nach dem PowerON angesprungen. Code: uint8_t restartApplication(void) { -->BREAKHERE<-- /* IO configuration */ IO_SET_DIR(1, IO_INPUT); IO_SET_DIR(2, IO_INPUT); das MCUSR habe ich auch überprüft (verdacht BOD oder WD), ist aber immer 0x00, könnte aber natürlich auch davor schon gelöscht worden sein. so sehen die fuses aus... BTW: die clock source ist mit absicht da ich anstatt einens quarzes einen 8Mhz Oszillator (siehe schaltplan) dran habe Code: BODLEVEL = 2V7 RSTDISBL = [ ] DWEN = [ ] SPIEN = [X] WDTON = [ ] EESAVE = [ ] BOOTSZ = 2048W_3800 BOOTRST = [ ] CKDIV8 = [ ] CKOUT = [ ] SUT_CKSEL = EXTCLK_6CK_14CK_4MS1 EXTENDED = 0xFD (valid) HIGH = 0xD9 (valid) LOW = 0xD0 (valid) mfg Rupert |
|
| Autor: | do13 [ 21. Juni 2013 10:14 ] |
| Betreff des Beitrags: | Re: Spezialcontroller fuer Miele Dunstabzug - 8out problem |
Hallo zusammen, um das ganze etwas einzugrenzen hätte ich noch ein paar Fragen: 1.) Hängen noch andere Teilnehmer am Bus oder betreibst du den Controller alleine? Wenn noch andere Teilnehmer am Bus hängen, werden in der Zwischenzeit Gruppentelegramme gesendet / empfangen? In diesem Zusammenhang könnte ich mir ein Problem vorstellen. 2.) Zitat: Solange im EEPROM nichts oder nur die Device Adresse gespeichert ist passiert noch nichts, sobald die Parameter hochgeladen wurden --> reset loop Du programmierst die Device Adresse mit der ETS? Kannst du mal den consolen Output posten nachdem nur die Device Adresse programmiert wurde. D.h. wenn es noch funktionieren sollte. 3.) Das ganze passiert auch mit der Releaseversion? Viele Grüße Dirk |
|
| Seite 1 von 2 | Alle Zeiten sind UTC + 2 Stunden |
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |
|