@Simon... Läuft. Bis auf das kleine Problem mit MS-IE, dass ich in meiner letzen Mail schon geschrieben habe. Danke nochmals... Dirk
Hi! Evtl für den einen oder anderen auch interessant, Handyblitzlicht als Scheinwerfer für die Webcam: http://www.mikrocontroller.net/forum/read-1-331347.html#new Bye, Simon
Hallo Simon Das ist eine sehr feine Sache! Die Idee hatte ich auch schon. Von Linear gibt es feine Treiber dafür, da braucht man außer den Leds kaum mehr Komponenten. Die bauen die ICs für Handy Cams. Außerdem erkennt man sofort das jemand online ist. Löst die Software den Blitz automatisch aus? Mit IR Leds würde man nicht einmal geblendet, dafür ist wieder nichts mit der online Erkennung. LG Michael
Die Software wird die LEDs kurz einschalten, 6previewpics machen (nötig für helligkeitsabgleich), dann das bild schiessen und die LEDs ausschalten. Dann kommt der Bildtransfer. Dh die LEDs sind nur ganz kurz an ;) IR geht nicht, farb cmos sensoren haben IR Sperrfilter drin (sonst würden zb Bäume sehr komisch aussehen). Bye, Simon
>IR geht nicht, farb cmos sensoren haben IR Sperrfilter drin >(sonst würden zb Bäume sehr komisch aussehen). Oder der c't-April-Scherz würde tatsächlich funktionieren ;)
ne letztes Jahr war es mit dem dikitalen Fernsehn aufem Stromkabel wo man mit hilfe eines Netzwerkkabe wo man ein impulse mit einer von frequenz 80Mhz drauf geben msute und dann bei ca 100 Mhz hat man dann die Vidoes empfangen. Gabe es ein Programm das solte das alles machen. das einzige was es macht war auf der Platte videos zusuchen und die wiedergeben. den April schertz hatt ich schnell gefunden ein mal die ct auf geschlagen und schon ware ich bei dem Aprilschertz.
Ich moechte den Webserver jetzt direkt mit 3,6V betrieben. Reicht es aus wenn ich die 4 Kontakte der RJ45 Buchse anhebe und IN und OUT from LM317 kurzschliesse um diesen durch das Aufladen von C13 nicht zu zerstoeren? Gruss H:V btw. Wie siehts mit der Software aus? Gibts schon ein release Datum? dreangel ;)
Hi, ich hätte kurz mal eine Frage zu Magjacks, wenn mir hier dazu jemand eine Antwort geben könnte wäre das natürlich super.. :-) Ich bin mir gerade dabei eine Schaltung mit dem ENC aufzubauen, habe allerdings auf der Netzwerkseite noch einige Probleme. Das Datenblatt des ENC gibt ja vor, den Netwerkseitigen Mittelabgriff des TX Teils über 1000pF nach GND zu verbinden. Nun ist in meinem Magjack (SI-40140) aber auch der Mittelabgriff des RX Teils über diesen C' schon mit GND, bzw pin 8 verbunden. Nun - was tue ich da? eifach dennoch zu GND verbinden, oder besser offen lassen(?) ... Gruss Nik
Hat sich geklärt, ich kann meinen Server nun auch schon pingen :-)
Hi! Soooo es gibt wieder nen neues Hexfile: http://avr.auctionant.de/avrETH1/firmware/avrETH1_testing_firmware_build1035_080406.hex NEU: *** build1013 *** - httpd "add pgm data" rewrite (schachteln möglich) - httpd bug for /fs/filename fixed - tcp close routine enhanced (seqnum calc!) - nic&mca25: buffer 600->900 --> faster! - filesystem.c: fixed file not clean deleted bug! - mpf10 led light fade in/out routines (not used) *** build1034 *** - http upload detects filename & stores file on dflash - /fs/ls generates a clickable list (<a h ref=....) - fixed dataflash overwrite bug - mpf10 can be connected to PORTD7 (led light during webcam pic grab) - first temp readout already during logger_init() Bitte bei dem release beachten: - ich hab am tcp stack geschraubt, evtl gibts wieder probleme unter windows (conn werden nicht korrekt geschlossen). muss ich noch testen - http upload: nur unter firefox(linux) getestet! ist sehr provisorisch. geht aber :) - beim http upload aufpassen dass die files nicht zu gross sind, auf dem dataflash sind ja nur ~240KByte platz ;) - dataflash access dauert aufgrund debug messages relativ lang - nur html/jpg dateien werden korrekt an den browser zurückgeliefert (hab nur content-type jpg+html aktiv) - jpgs müssen .jpg benannt sein (kleinschreiben!) -> alles noch seeehr beta! Jetzt habe ich eigentlich alles soweit drin was ich haben wollte :) Ich werde den Sonntag nutzen um das ganze provisorisch aufzuräumen und dann hoffentlich einen halbwegs vorzeigbaren sourcecode haben g Gruss, Simon
so, bin ein stück vorangekommen. der großteil ist halbwegs aufgeräumt :) Ich muss noch bissl was tun, sollte aber nicht mehr allzulange dauern. http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1077_cleanup.hex CHANGELOG: *** build1035 *** - first code cleanup & added comments - added dataflash content types (-> now detects jpg,png,bmp,gif,html) - file extension is always converted to lowercase ! - moved html/ctype/image stuff to httpd_data.c/h *** build 1068 *** - first source cleanup finished - fixed missing last buffer bug when uploading per http post *** build 1077 *** - moved /fs/ls inside main html template -> file list can be added by $$L* Würde mich über feedback freuen ob der Code bei euch läuft (speziell http upload) Bye, Simon
Hallo Simon... Machst Du eigentlich auch noch etwas anderes ausser Firmware für den Weberver ertellen ??? ;-) Das gibts nirgendwo anders. Fast jeden Tag ne neue Firmware ggg Was war los am Do ? Hab mir auf der Intermodellbau noch ein paar billige Servos für die Webcam gekauft (4 / Stück) Wann kommt denn die Servo Unterstützung ??? ;-) Schönen Rest des Wochenendes Dirk
Hi! g Ach mist, hätte dir bescheidsagen sollen am Do. War nur ne Stunde auf der Intermodellbau/Hobbytronic. Bzw wollte ja nur zur Hobbytronic, da laufen aber nur abzocker und Gangster rum g Preise weit jenseits von ebay (Datenkabel 15 Eur :-X) und teilweise Städe wo man nichtmal erkennenkonnte wie die Firma heisst (waren wohl ein paar Studenten die aus Hongkong SD Karten etc eingekauft hatten) Und dann noch der Eintrittspreis 8 Eur (Studentenrabatt!!!) Servounterstützung: Warte, gib mir 5 Minuten .. scherz ne hab ichnoch nichts für gecodet... Heute komme ich wohl auch nicht mehr zu allzuviel, muss noch diversen anderen Kram machen und vorallem endlich mal die Webcam im Hummelnistkasten installieren... Sonst zieht nachher eine ein bevor ich die cam drinhab (bzw evtl wohnt schon eine drin :-X) Bye, Simon
Hi! Ich bin gerade dabei meinen Stack selbst zu schreiben, hin und wider habe ich dabei trotz ethereal unterstützung Probleme - nun frage ich mich, soll ich einen neuen Thread aufmachen wo man allgemein seine Fragen dazu posten kann(ich bin sicherlich nicht der einzige der sowas proggt), oder soll ich hier fragen?.. ;-) Nik
okay, ich hab mich eben nur gerade gefragt, ob es denn überhaupt viele andere ausser dir hier gibt, die noch Ahnung von dem haben(evt kannst ja dann nur du mir antworten :-X) mfg, Nik
Die ganze Hobbytronic war zum großen Teil ein Schampelmarkt. Da ist die in Stuttgart viel besser. Eins war gut in Dortmund es gab ausreichent Parkplätze nicht wie in Stuttgart.
Wieviel Hallen waren es denn diesmal? Vor ein paar Jahren war das noch echt geil. Mittlerweile immer weniger Hallen mit immer mehr Spiele-/Druckerkrams. 10000 Refillsets. Das kotzt echt an. Grüße, Freakazoid
War nur noch eine (oder ?) Davon ein großer Teil dieser alberne Live-Casemodder Stand und diese Riesenstände wo irgendwelche Kiddies am zocken waren. Refillsets hab ich irgendwie keines gesehen dieses Jahr. Komisch eigentlich g Aber dafür einige "bezahl 2 Kabel, nimm 3 Kabel mit" Stände mit preisen wo man eigentlich "mindestens 8 Kabel für 2 bezahlen" erwarten würde (10m Netzwerkkabel -> 12 Euro / reichelt: 2,99) Und so wars durchgehend :-\ Und dann auch oft "ohne Garantie" aber zum Preis von mit Garantie ::) Vor 4 Jahren oder so war die Hobbytronic echt noch einen Besuch wert. Aber seitdem sind die Preise stetig angehoben worden (Eintritt+Ware) und immer weniger Interessante Stände sind da. Bye, Simon
die Nachfüllset waren auch da. die Hobbytronic war 1 große Halle. Da ist die in Stuttgart viel größer 7 Hallen ca gleiche Größe.
Echt? Wie sieht es mit Technikzeugs in Stuttgart aus? In Do gibts nur noch Computer,Drucker,Spiele,Modding,CD-Hüllen,Kabel, ... und bestimmt das große C. Immer wieder lächerlich die Schlange davor ;-) BTW: Hobbytronic-Thread?
Mal zurück zum eigentlichen Thread... Hallo Simon. Hab die neue firmware (build 1077) eben mal eingespielt. Leider tritt das Problem mit den Verbindungen (wie im Posting vom 04.04. 20:32 beschrieben) wieder auf. Diesmal allerdings nur mit Mozilla. verbindungen werden wieder nicht beendet. Des weiteren funktioniert wohl der upload noch nicht richtig. (oder ich habs nicht verstanden ;-) Wenn ich ein File hochlade (mit Anfrage senden)und dann auf filelist gehe, wird mir das File nicht angezeigt :-( Dirk
Hallo Simon Leider kann ich deinen Code im Moment noch nicht einspielen, baue mir gerade einen neuen Programmer. LG Michael
Hi! @Dirk: Habe jetzt mal meinen Laptop rausgekramt (winxp) und getestet. Sowohl im firefox als auch im ie wird die verbindung korrekt abgebaut. Er lädt nicht länger etc... Was für ein windows hast du ? Hast du eine möglichkeit mir mal ein aufrufen des webservers mit ethereal (gibts auch für windows) mitzuschneiden ? Dann sehe ich direkt wo es hakt ;) File upload: Was passiert denn bei dir ? er lädt es hoch, dann zeigt er upload done aber das file ist trotzdem nicht da ? Da wäre interessant zu sehen was auf dem seriellen debugport los ist... Bye, Simon
Hallo Simon... habe WinXP Home Edition mit SP1 Ethereal hab ich nicht. Nach dem File Upload kommt die Meldung: upload done Wenn ich danach auf den Link File list klicke stehen immer noch nur die 2 Dateien temp8.int und upload.txt dort. Dirk
hmm also ich bräcuhte entweder das was er auf dem seriellen debugport sendet oder nen paketdump :-\ Guck mal in upload.txt rein, ist das evtl dein file ? Wenn er den filename nicht aus dem post request extrahieren kann lädt er es als upload.txt hoch. bye, simon
Hallo Simon... Kleines Update: upload funktioniert (allerdings bei mir nur unter Mozilla) Mit IE das gleiche Problem wie oben beschrieben. File List wird (nach upload mit Mozilla) aber auch im IE nun angezeigt. Allerdings wird der Content .jpg unter IE nicht aufgelöst. Es erscheit das Fenster "Dateidownload". Unter Mozilla wird jpg angezeigt. Die hängenden Verbindungen sind erstmal verschwunden. (warum auch immer) Allerdings hab ich mit der Webcam unter Mozilla hin und wieder noch das Problem, dass das Bild nur teilweise aufgebaut wird, dann erscheit unten im Browser "Fertig" und die Verbindung wird geschlossen. Dirk
P.S. Schau nochmal in Dein Logfile. Dort findest Du evt. meine neue Adresse. Vielleicht kannst Du Dich mit WinXP nochmal drauf connecten um das ganze zu testen. Aber bitte diesmal nur testen ! ;-) Ach ja, wo ist eigentlich der Link zum Video ??? Dirk
jpg: hab ich gerade auch gemerkt, schuld war ein conten-type: image/jpg es muss aber image/jpEg heissen... file upload: muss ich mir im ie nochmal ansehen was der da macht logfile: nacher, muss jetzt weg :-\ falls sich jetzt jemand fragt was dirk mit "Aber bitte diesmal nur testen" meint: ich hatte an einem Tag ein script gebastelt das alle 10 sekunden ein Bild seiner webcam gegrabbt hat. Damit hab ich ihm seine webcam total lahmgelegt g Rausgekommen ist dann dieses Video: http://video.google.com/videoplay?docid=2214203011728418871 Im original wars eindrucksvoller (640x480). Google hat da irgendwie komisch komprimiert ;) Bye, Simon
Hehe cool, das liebe Aprilwetter :). Über wieviele Stunden hast Du denn gegrabbt?
Hallo Simon Das ist toll, wahnsinn, super coole Idee! Welche Software hast Du denn zum zusammenschneiden der Bilder verwendet? LG Michael
Einfach die jpgs in file100000.jpg bis file101334.jpg umbenannt und dann kann man das einfach in avidemux (linux) als video öffnen und als divx speichern :) Alternativ gehts mit mplayer -vo irgendwas (müsste ich nachgucken wie der befehl genau hiess) Bye, Simon
bitte mal alle mca25 user hier gucken (mein post wegen der rev2 cam) http://www.mikrocontroller.net/forum/read-1-232801.html?reload=yes#333543
Hi, ich habe eine frage, was genau bewirkt dieses "Ding" (sorry) Ein richtiger Server ? muss ich da was einbauen oder nur anschließen ? mfg cruzador
Bau mal noch ORDENDLICH was rein. Ist ja noch genug Platz.
Hallo Simon, erstmal : RESPEKT. Ist echt ein geiles Projekt was du da machst. Interesse hätte ich auch, wobei ich das ganze gerne mit einem MSP430 realisieren würde (da ich mit den Teilen bis jetzt gearbeitet habe). Mit den AVRs hab ich noch nicht soviel gemacht (obwohl dieses Projekt wahrscheinlich der beste Einstieg wäre *hehehehe). Das ganze mit deiner Platine zu machen wäre insofern schön als das man ja schon einige Leute hat die das Teil nachgebaut haben und es bei denen läuft. Insofern mal ne Frage : Wie teuer soll die Platine sein ? Ab wann wären wieder welche da ? (du sagtest was davon das du erstmal die Software aufräumen wolltest) Und, (jetzt muß ich auch mal quengeln *ggg) wann gibt es die Sourcen, damit ich bestimmte anpassungen machen kann ? Gruß Rene
Hallo Simon, machst du nochmal eine Sammelbestellung für Platinen? kannst du den Schaltplan online stellen? Bin am überlegen, einen Webserver mit einem PIC Prozessor aufzubauen, da ich mich im letzten halben Jahr schon richtig an PICs gewöhnt habe ;) gruss Matze
Hallo Simon, die Idee des "winzigen" Webserver find ich eigentlich ganz gut, aber leider wirds damit ja auch etwas teurer. Meine Fragen/ Vorschläge: 1. Kann man den Übertrager und die RJ45-Buchse usw. nicht von jeder beliebigen Netzwerkkarte (2,90 bei Reichelt, Grabbelkiste) nehmen? 2. Würdest Du für ein LowCost-Variante deine Schaltung zur Verfügung stellen? (Billigere Bauteile, keine teure Paltine ...) 3. Oder meinst Du, das lohnt sich nicht, und es kommen bald neue Platinen? Hintergrund: Ich hab so meine Probleme mit der Webcam-Software von Dir für den Webserver von Holger Buss .... Gruß Sirko
Hallo Bitte nicht weitersagen ist noch hoch geheim, aber Simon arbeitet gerade schwer an einer abgespeckten Version. Da kannst Du dann den Enc28j60 und die Übertrager einsparen, da macht dann der Atmega die ganze Arbeit. Es wird dann auch einen Soliidaritätszuschlag auf den Platinen Preis geben , damit bedürftige eine umsonst bekommen können. Eventuell wird es dann auch noch eine V3 geben bei der auch noch der Atmeg eingespart wird. Das ist aber noch Zukunftsmusik. LG Michael
Hallo Simon... Was ist los ? Ist das Projekt eingeschlafen ? Gibt ja schon seit dem 09.04. keine neuere Firmware mehr... ;-) Nee, mal im Ernst: Hab ja nun (wenn auch nur im Mozilla) 2 Files auf meinen Webserver geladen bekommen. Werden auch angezeigt, und kann sie mir wieder downloaden. Aber, wie bekomme ich die Files eigentlich wieder vom Webserver entfernt ??? Ansonsten läuft Deine Software hervorragend (Bis auf die Sache mit dem JPG Content Type im IE). Läuft seit der letzten Firmwareeinspielung ohne Reset sauber durch. Ach ja, schöne Osterfeiertage... Dirk
Hi! Ich hatte ein bissl viel an der Uni zu tun. Ausserdem hat auch noch mein Laptop den Geist aufgegeben und der neu bestellte ist immer noch nicht da (ich hasse eb*y powerseller grrrr) Alle die eine Platine erhalten haben sollten eine Osterüberaschung in ihrem Emailpostfach haben ;) Wenn nicht bitte per email melden. >Aber, wie bekomme ich die Files eigentlich wieder vom Webserver >entfernt ??? Stimmt, da werde ich noch eine löschfunktion einbauen ;) >Ansonsten läuft Deine Software hervorragend (Bis auf die Sache mit dem >JPG Content Type im IE). Ist schon gefixt, sobald ich das file löschen drin hab gibts nen neues hexfile :) Bye, Simon
Hallo Simon... Was hat man denn als Student viel zu tun ? ;-) Ich arbeite hier in Düsseldorf und komme auf dem Weg vom Parkhaus zu meiner Arbeitsstelle jeden Tag am Landtag vorbei. Das einzige was die Studenten hier tun, ist immer vorm Landtag zu demonstrieren... (jetzt aber bloss schnell weg, bevor der Simon mich schlägt) gggg Freu mich schon auf neue Hex-File. Wie schon geschrieben, läuft bisher ohne ein einziges Problem sauber durch... Aber nochmal ne andere Frage: Wirst Du die Temp-Messung über I2C beibehalten ? Hatte Dir ja schon mal geschrieben, dass meine Webcam über 10m Kabel angebunden ist. Daher wäre (zumindest für mich) die alte Lösung von J.Börke über OneWire Schnittstelle wohl besser geeignet. Ausserdem hätte ich dann noch ein Kabel frei für die Servoansteuerung. Schöne Ostern... Dirk
>Aber nochmal ne andere Frage: Wirst Du die Temp-Messung >über I2C beibehalten ? Das ganze nach onewire zu ändern/zu ergänzen dürfte überhaupt kein Problem sein denke ich. Am besten per define auswählbar oder so ;) Ich habe aber keine onewire dinger hie rrumliegen, muss mir also erstmal welche kaufen bevor ich dafür code basteln kann ;) BYe, Simon
Hi Simon... Hoffe, Du hast mir meine Sprüche über die Studis nicht übel genommen... ;-) Könnte Dir nen DS18S20 zur Verfügung stellen. Komme ja auch fast jeden Tag durch Deine Heimatstadt... Dirk
>Hoffe, Du hast mir meine Sprüche über die Studis nicht übel
genommen...
Ne, keine Sorge g
Also wenn du den onewire über hast und einfach bei mir in den
Briefkasten werfen
würdest dann würde ich demnächst mal gucken das Ding zu unterstützen
;)
(Adresse hast du doch, oder ? Sonst siehe Impressum auf der avrETH
Website)
Bye, Simon
Hi! Es gibt mal wieder nen frisches hexfile :) Neues kurz zusammengefasst: - man kann files löschen - man kann io pins per klick an/aus schalten (../site/io -> dort der obere button ist die smd led (siehe anhang)) - bugfixes am httpd - bissl den html kram aufgeräumt echte Changelog: *** build 1078 *** - httpd_data.c: content type: jpg -> jpeg - mca25.c: added workaround for rev2 cam (rev2 = KTY 105 017, rev1 = KTY 105 016) *** internal source version 1086 *** *** build 1086 *** - filesystem.c: fixed /fs/ls view - httpd.c: added green/red button & io port control parser (port is not set! just a demo!) *** build 1094 *** - httpd.c: removed if (pos<x) stuff from httpd $$ parser - httpd.c: add support for io on/off - port.c: implement port io functions - httpd.c: removed /fs/f<fileid> support - filesystem.c: added file remove link - filesystem.c: fixed typo (..._HI & ..._HI in fs_delete_file + changed flash->buf to buf->föash) -> del file should now work - httpd.c: after upload show info inside main div Bitte beachten: - fast alle debug messages sind aus - javascript kram nur mit firefox (linux) getestet - beim benutzen der buttons von /site/io zeigt er immer "transferring" an obwohl gar nix mehr gemacht wird (hängt irgendwie mit dem javascript zusammen, irgendwelche ideen ?) Und hier nun der Link: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1094_newio.hex Bye, Simon
Ich bin verwirrt. Ich habe auf einen Standart initialisierten ENC von Windows XP aus einen Ping gesendet. In der Anlage ist zu erkennen was im ENC Speicher angekommen ist. Die MAC Adressen und die IP-Adressen sind wunderbar zu erkennen. Nur die Strucktur hat nichts mit dem zu tun, was ich hier über den Ping gelesen habe. http://www.it-infothek.de/fhtw/semester_2/re_od_10.html Im Header kann ich auch keine dem Standart entsprechende IP-Strucktur erkennen. Hat da jemand eine Idee ?????
Zudem scheint es der ARP-Request von windows zu sein (Broadcast). Ist Deine WinMac = 00:0a:e6:1a:72:42 (Elitegroup Mainboard g)? Du weißt aber, daß vor jedem empfangenen Ethernet-Paket ein 6Byte Status-Vektor kommt?
@André Kronfeldt, Danke André das Passt ja alles auch wunderbar, Ether-Frame ist erkennbar und OK, MAC ist OK, Win XP ist OK, Elitegroup ist OK. Aber was nicht OK ist, die MAC des Senders Taucht 2 mal auf, zwischen Quell-IP und Ziehl-IP liegen 6 x 00. Das hat alles nichts mit einem Standart IPv4-Ping-Paket zu tuen wie ich es nach http://www.it-infothek.de/fhtw/semester_2/re_od_10.html erwartet hätte. Wo kann ich nachlesen wie der "Universal" Ping struckturiert ist und welche Antwort er erwartet.
Es ist ein ARP-Request: HardwareType: 0x0001 Protocol-Type: IP 0x0800 HardwareSize: 6 Protocol Size: 4 Opcode: Request (0x0001) SenderMAC: 00:0a:e6:1a:72:42 SenderIP: 192.168.173.11 TargetMAC: 00:00:00:00:00:00 TargetIP: 192.168.173.250 => Who has 192.168.173.250 tell 192.168.173.11 In Dein Reply kommt an die 6x 0x00 Deine MAC. => 192.168.173.250 is at xx:xx:xx:xx:xx:xx Natürlich taucht die MAC des Senders im ARP-Header UND im ETHERNET-Header auf. Wie kommst Du immer auf IPv4? Dein Bild ist NICHT der Ping (ICMP über IPv4), sondern ein aRP den Windows absetzt um das Ping auszuführen. Eine MAC bleibt nicht sonderlich lange im ARP-Cache ;-) Grüße, Freakazoid
Vielen Dank für das Licht im Dunkel. Das sind meine ersten Versuche. Ich wuste nicht, das vor dem eigentlichen Ping erst ein ARP kommt. Wenn ich das nun Richtig verstanden habe, muss ich nun den APR mit eingesetzert MAC und natürlich mit getauschtem Ziel und Quelle zurücksenden. Daruf hin sendet XP erst den eigentliche Ping ?
Jo. Das sieht ungefähr so aus: XP: Ey Karte, mach mal Ping an 192.168.173.250 Karte: Okay. Wenn Du mir sagst welche MAC der hat? Ich kann nur Ethernet. Bin halt Billigkarte ;-( XP: Oki. ARP: Who has 192.168.173.250 tell 192.168.173.11 Rieger: 192.168.173.250 is at xx:xx:xx:xx:xx:xx XP: Ey Karte. Mach mal Ping an 192.168.173.250 MAC xx:xx:xx:xx:xx:xx Karte: Ping! Rieger: Pong g Dir fehlt erstmal der erste 'Rieger', also der ARP-Reply ;-) Grüße & viel Erfolg, Freakazoid
BTW: ein ARP kommt nur, wenn Du an eine IP was schicken willst und Windows die MAC braucht. NICHT vor jedem Ping. Der ARP-Cache behält die MAC einige Sekunden lang bei. Um zu testen ob Dein Arp-Reply funktioniert schick ein Ping. Bei "No route to host" funktionert Dein ARP-Reply nicht. Bei "Timeout sonstwas" kommt kein Ping-Reply (ICMP). Ein 'arp -a' Zeigt Die auch den Arp-Cache an. Da sollte nach einem Deiner Ping-Versuche sowas wie '192.168.173.250 <incomplete>' stehen. D.h. Windows hat ARP-Request für 192.168.173.250 gesendet, aber noch keine Antwort erhalten. Grüße, Freakazoid
Noch mal Danke, ich habe auch etwas brauchbares im Internet gefunden. http://www.geocities.com/SiliconValley/Vista/8672/network/arp.html#A22
Windows ignoriert mein ARP-Replay. Lt. ENC Statusvektor (ist auch mit ausgegeben) hat er das Paket sauber übertragen können. Der ENC läuft auf half duplex. Oben steht der WindowsARPrequest unten meine Antwort. Danach hätte ich ein Ping von Windows erwartet, der schickt aber weiter nur Requests.
Was von dem 2. Paket sendest Du? Alles? Auch das '0f' Anfang?
Ne 0F ist das INI-Byte für den ENC, so stehts zumindest im Datenblatt. Darauf soll ich ja auch den ETXST zeigen lassen und der ETXND soll auf das letze zu übertragende Byte zeigen! Oder ? Schön von dir zu hören Gruß Christof
öh? Woher kommt der Datenblock? Geht der so über's Netz, oder ist das nur eine Vermutung von Dir? Am Besten Du schneidest den Datenblock am Hub mit, oder unter Windows. Das 0x0f darf nicht mit übertragen werden. Ansonsten scheint der Reply okay zu sein (grob überflogen). Wo im Datenblatt steht das mit dem INI-Byte? Grüße, Freakazoid
André bevor wir hier weiter machen, ist es glaube ich sinnvoll einen neun Thread zu eröffnen. Das was wir hier Besprechen könnte auch für andere die sich von Grund auf mit der Thematik beschäftigen wollen sehr interesant sein. In welcher Rubrik wäre der Thread denn gut aufgehoben
Gefunden. Du meinst das 'PACKET CONTROL BYTE'. ja das stimmt. ETXST und ETXND sollten damit korrekt sein. Wird das Paket denn gesendet?
Tja. gute Frage. Die Rubrik ist schon okay. Eigentlich ist das ja Simons Thread. Insofern geb ich Dir Recht. Mach einen neuen auf. Problem ist nur, daß da ebenfalls alle Themen den ENC betreffend einlaufen werden. Aber das kann man dann nicht verhindern. Gehen wir also mit gutem Beispiel voran ;-)
OK ich mach dann einen neuen auf. Schlimmstenfalls schieb unser Admin ihn in eine andere Rubrik. Gib mir ne halbe Stunde.
Super Projekt! Allerdings interessiert mich warum du als Flash einen Atmel Dataflash und keinen Baustein aus der "Serial Flash" Reihe genommen hast. Vielen Dank für deine Antwort. Grüße
Hi! Weil es die dataflash Bausteine bei segor in SO8 gab :) Ursprünglich wollte ich nur nen kleines i2c eeprom nehmen, hab dann aber zufällig bei segor die dataflash dinger gesehen und die passten sehr gut :) Bye, Simon
Hi! So, es gibt ein neues Hexfile :) Neues kurz zusammengefasst: * dataflash zugriff jetzt sehr viel schneller: - bei files <65KByte -> bis zu 35KByte/s - ab 65kbyte wirds bissl langsamer (15kbs) da die long arithmetrik ein bissl mehr rechenzeit braucht ;) * fast alle debuginfos aus -> schneller * ntpclient debug define bug gefixt CHANGELOG: *** build 1094 *** - httpd.c: removed if (pos<x) stuff from httpd $$ parser - httpd.c: add support for io on/off - port.c: implement port io functions - httpd.c: removed /fs/f<fileid> support - filesystem.c: added file remove link - filesystem.c: fixed typo (..._HI & ..._HI in fs_delete_file + changed flash->buf to buf->flash) -> del file should now work - httpd.c: after upload show info inside main div *** build 1103 *** - filesystem.c: speedup for dataflash read access: it does no longer slow down more down the longer the file is - filesystem.c: (use a pointer to next data byte) - dataflash.c: use "read n bytes from buffer" -> speedup - dataflash.c: dataflash read speed is 15-32 KByte/s 8with all debug info off!) [0-65k -> fast, 65k-x slower because of long calc] - ntp_client.c: fixed "nodebug->not time update" bug - disabled nearly all debuginfo as default download: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1103_speedup.hex Ausserdem habe ich jetzt mal Screenshots von allen Webseiten gemacht: http://avr.auctionant.de/avrETH1/software_screenshots.html Bye, Simon
Hallo Simon... Hab die Beta 1103 im Web-Server. Bin ich hier eigentlich der einzige, der die neuen Betas intalliert und testet ? Ist verdammt ruhig hier geworden. Ach ja, läuft übrigens gut. Einige Kleinigkeiten sind mir noch aufgefallen: - Upload von Files mit meinem IE geht leider immer noch nicht. (Erscheinen dann nicht in der FileList) - Es gibt anscheinend Probleme mit Filenamen >8 Zeichen. Wenn ich diese veruche in der Filelist anzuwählen und zu öffnen ercheint eine Meldung: Seite nicht gefunden (HTTP 404 - Datei nicht gefunden)im IE und im Mozilla Auch ein remove dieser Files (erscheinen in der Filelist) ist nicht möglich. - Servofunktion läuft noch nicht richtig ;-) Ansonsten aber meiner Meinung nach (z.B. beim Bildaufbau der Webcam) schneller. Dirk
>Bin ich hier eigentlich der einzige, der die neuen Betas >intalliert und testet ? g das hab ich mich auch schon gefragt ... Ich glaub ich bau echt mal ne spywarefunktion ein (ein nachladen von http://auctionant.de/spy.gif?avrethversion=1103 bei jedem index aufruf) gg >- Upload von Files mit meinem IE geht leider immer noch nicht. > (Erscheinen dann nicht in der FileList) ok da hab ich noch nicht dran gearbeitet ;) >- Es gibt anscheinend Probleme mit Filenamen >8 Zeichen. > Wenn ich diese veruche in der Filelist anzuwählen und zu öffnen >ercheint eine Meldung: Seite nicht gefunden (HTTP 404 - Datei nicht >gefunden)im IE und im Mozilla >Auch ein remove dieser Files (erscheinen in der Filelist) ist nicht >möglich. Ähh avrETH kürzt die Filenames auf 8.3 (also 8 zeichen fname+3 extension). Wieso hast du welche mit >8 zeichen ?! Könntest du mir mal deine dynip adresse zumailen ? dann kann ich mir das mal anguggn :) >- Servofunktion läuft noch nicht richtig ;-) doch, musst nur /activate/hidden/wireless/servo/pos/controller/1 aufrufen g Ne ist auch noch nicht drin ;) @All: weitere kommentare zur firmware sind willkommen ;) Was ist eigentlich mit den anderen ? Habt ihr noch nicht gelötet oder wieso gibts sowenig feedback ? Bye, Simon
Hallo Simon
<<<
Was ist eigentlich mit den anderen ? Habt ihr noch nicht gelötet oder
wieso gibts sowenig feedback ?
>>>
Sorry, ich arbeite noch an dem Programmer, habe Angst das der Enc
wieder Wo gibt. Sind ja nicht gerade billig.
Ansonsten verfolge ich die Entwicklungen mit großer Aufmerksamkeit
und hoffe das ich auch bald Feedback geben kann.
Sorry das da bei mir so wenig weiter geht.
LG
Michael
Hi! Achso :) @Dirk: ich hab den fehler gefunden, das problem waren sonderzeichen (leerzeichen zb) im filename. Wird in der nächsten Version gefixt sein ;) (ist ja fast wie bei DOS damals g) Bis dahin bitte nur a-zA-Z0-9-_ im filename benutzen ;) Bye, Simon
Hallo, ich möchte mit dem ENC28J60 zunächst alle Packete empfangen und dann abhänig vom Inhalt entscheiden, ob es eins für mich war. Ist das möglich, unabhängig von der ENC-MAC Adresse, also völlig transparent, zu arbeiten? Oder akzeptiert er nur Broadcast und seine Adresse? Danke! Enrico
Solltest Du mit dem UCEN-Bit im ERXFCON Register steuern können. Siehe Kapitel 8 im Datasheet (Seite 48).
Hi Simon... Das mit den Leerzeichen stimmt wirklich. Waren welche im Filenamen drin. Lassen ich nun auch nicht mehr vom Webserver löschen :-( Bin schon auf die nächste Version gespannt. Dann vielleicht schon mit Servounterstützung ? quängel Du hast mal geschrieben, dass das ganze nur 2 Zeilen zusätzlichen Code erfordert... ;-) Kann ja dann nicht so schwierig sein ggg. Ach ja, den DS18S20 zum Testen für die OneWire Temp-Messung schmeiss ich Dir die Tage in den Briefkasten. Dirk
@Dirk: guck mal auf deinen server im upload (hab deine ip in meinen auctionant logfiles entdeckt g) löschen: ich wollte eh ne option zum formatieren einbauen (/mkfs oder so aufrufen) servo: Problem ist dass kein timer pin nach aussen geführt habe :-\ Aber es müsste theoretisch ausreichen den signal pin für zb eine sekunde mit dem signal per software zu versorgen. die cam wiegt ja nix, sollte auch danach in position bleiben ;) Muss mir nur noch was für die html steuerung einfallen lassen (hab da schon ne idee, würde aber wieder javascript brauchen :-X) ds1820: cool! @Lupin: Danke :) Das alte system (einzelne htmls) wurde mir zu arbeitsintensiv und ich hab es auf mein selbstgebautes quick&dirty cms umkopiert. Bye, Simon
Hi Simon... Hat funktioniert g Schönes Bild. Bekommt die nächste Firmware nen Passwortschutz für die Admin-Seiten ? lach ...dem signal per software zu versorgen. die cam wiegt ja nix, sollte auch danach in position bleiben ;)... Das ist nicht das Problem ! Weiss nur nicht, was das Servo macht, wenn es keinen Impuls mehr bekommt. Normalerweise erwartet es alle 20ms einen Impuls zw. 1,0 und 2,0ms (1,5ms=Mittelstellung) Kann mir vorstellen, dass das Servo dann Mist macht, wenn Spannung noch da, aber kein Impuls mehr anliegt. Dirk
Hi! Ne, wenn kein Signal kommt bleiben die in position bzw gehen in so ne Art Stromsparmodus. Hab ich zumindest letztens irgendwo gelesen, muss ich mal testen ;) Aber kann schon hinkommen, beim programmieren hat der servo bei der alten Cam ja auch nicht gezuckt. Und da ist er ja auch an Vcc und bekommt kein Signal. Admin: ja, war geplant, so langsam geht mir aber der Programmspeicher aus ::) Muss ich mal sehen wo ich da noch optimieren kann... BYe, Simon
Was hälst du eigentlich davon ein FAT oder vergleichbares "offenes" Dateisystem zu nehmen ? :) Grüße
ich glaub der knappe Programmspeicher. Warum soll er FAT verwenden wen doch kein ander Computer oder ein andere µc direkten zugriff auf den speicher hat. Gruß Marco
Hi! Genau :) Lohnt einfach nicht. Sowohl vom avr progmem als auch vom datenoverhead ;) Ausserdem boten sich die 256+16 byte pro sektor geradezu dazu an eine verkettete Liste als Datenstruktur zu nehmen (256byte daten + 16 byte als verwaltung pro sektor). Jeder Block hat also einfach nen next pointer ;) Hat denb vorteil dass ich mich nicht um Lücken (defrag) kümmern muss beim files löschen etc ;) Anbei mal eine neue Version, hat sich aber kaum was getan. CHANGELOG: *** build 1104 *** - (internal) cvs checkin - filesystem.c: fixed bad chars in filename bug (not tested yet) - filesystem.c: /adm/rm/<fileid> in flist - httpd.c: now always determines content type by file extension - httpd.c: all files must use extension -> .htm etc - httpd.c: moved critical stuff to adm -> add passwort protection! - httpd.c: added filesystem format option -> /adm/mkfs.htm - httpd.c: added /site/ficon.gif - filesystem.c: file list with icon / size in kbytes - insgesamt bissl aufgeräumt -> codesize @Dirk: probier mal die filelist ansicht, da solltest du auch deine defekten files einzeln löschen können. Alternativ gibts jetzt auch nen /adm/mkfs.htm :) Ich hab das gefühl dass der ganze server jetzt schneller reagiert. (hab einiges aufgeräumt/umgebaut) Debuginfos sind fast alle aus. Hier das File: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1104.hex Bye, Simon
Hi Simon! Kannst du nicht deinen aktuellen Server mal ans Netz hängen und ONLINE verfügbar machen zum Testen? (Solange du nicht dran Programmierst) Einfach mal zum schauen wie es denn so in REAL funktioniert. Immer nur Bildchen gucken ist langweilig Wie schauts denn überhaupt mit neuen Platinen aus? Ich hätte da interesse an 2 Stück, hab schon den ENC hier liegen. Gruss Hansi
jo ein webserver der nicht im web zu erreichen ist ist doof ;(
jo einen moment, ich stell sie gleich mal für eine h online ;)
so, bitteschön: http://84.60.1.124:3333/ Cam zeigt aber nur schwarz an, bitte keinen quatsch hochladen, bitte keine files löschen. filesystem format ist disabled BYe, Simon
nachdem ich das Projekt jetzt schon länger nicht mehr beobachtet habe kann ich nur eins sagen: Respekt!
danke :) sorry musste gerade nochmal kurz neu programmieren ;) jetzt sollte er wieder on sein
so, da der Besucherandrang langsam nachlässt schliesse ich die verbindung auch mal wieder. Mein labornetzteil stinkt furchtbar nach trafolack wenns länger an ist, deshalb kann ich es über nacht nicht anlassen ::) Muss mal was anderes dranpacken. n8, Simon
Hallo Simon... 23:43 Dein Webserver ist nicht erreichbar. Hab eben (bevor ich zur Arbeit gefahren bin noch kurz die 1105 auf meinen Server gespielt. Hat ganz gut funktioniert. Auch das löschen der korrupten Files und das format hat funktioniert. Hab dann gerade mal versucht, meinen Server zu erreichen. Geht ebenfalls nicht. Evt. ein Bug in der SW ? Musste auch mit der 1104 gestern meinen Server 1x resetten. War ebenfalls nicht erreichbar. Dirk
Hi! Mein server ist jetzt offline ;) Wegen deinem hängen bleiber suche ich dann mal. Wüsste nicht auf anhieb was ich grossartig geändert habe ::) Weisst du noch wonach das passiert ist ? BYe, Simon
Kannst Du mal schauen, ob Du meinen Server erreichst ? Nicht, dass es an unseren Firmen-Netz liegt... Adresse hast Du ja ;-) Kann Dir leider auch nicht sagen, wonach das ganze passiert ist. Dirk
Hallo, da ich grad ne Kamera MCA-25 suche (eigentlich für meinen 2. Server von Holger Buss) und die beim deutschen Ebay unbezahlbar werden, hab ich mal bei nem amerikanischen Verkäufer nachgefragt. Da die Versandkosten alles überragen (und es sich deshalb erst ab 5 Stück lohnt), würd ich gern wissen, ob hier Interesse daran besteht. Der Preis wird hoffentlich nicht höher als 5 Euro pro Stück sein (bei 5 bestellten). Evtl. kann noch Zoll dazu kommen, aber die Wahrscheinlichkeit bei so billigen Teilen ist eher gering. Versand innerhalb Dtl.s würde auch nur 70 ct sein. @Simon: Kannst Du schon sagen, wann Du neue Platinen machen lässt, damit vielleicht noch mehr Leute interesse bekommen (und weil ich selber warte)? Gruß Sirko Kontakt: sirnan (ÄHT) gMx (Punkt) de
Hi! Platinen weiss ich noch nicht genau. Das wird wohl auf ein neues Layout hinauslaufen (stepdown reg, anderer uc,..) Momentan stecke ich die energie ins schreiben der circuit cellular contest doku. man ist das furchtbarm sich was auf englisch aus den fingern zu saugen :-X Ausserdem bastel ich am webservercode... Aber wieso willst du die in amiland kaufen ? check doch erstmal ebay.ch/at etc ;) Btw beim deutschen bekommt man sie immer noch für 2-3 euro ;) Man muss nur wissen wie man sucht und nen guten augenblick abpassen g So, es gibt mal wieder ein neues hexfile (nur für dirk ? g): http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1105.hex CHANGELOG: - main.c: rx buffer -> NIC_BUFFERSIZE ! - httpd.c: upload failure detection + err msg - httpd.c: added http auth - mynic.h: changed nic buffersize 900->1000 Jetzt sollten alle dateien in /adm/* passwortgeschützt sein. logindaten: #define HTTPD_ADMIN_AUTH_LOGIN "admin" #define HTTPD_ADMIN_AUTH_PASS "1eth1" Ist bis jetzt aber nur mit dem firefox und konqueror getestet ;) Bye, Simon
Hallo alle zusammen, auch ich habe ein ENC28J60 Board gebastelt. Softwareseitig habe ich dabei auf WinAVR, uIP, avrlib und efsl gesetzt. Alle Quellen und meine Doku (die den Namen nicht wirklich verdient) finden sich auf: http://www.pcclock.de/avr2web/ Ich habe gelesen das bei vielen der ENC heiß wird. Das ist auch bei mir der Fall, daher habe ich ihm einen kleinen Kühlkörper aufgesetzt.
Hallo Simon... Version 1105 ist drin. (wahrscheinlich auch wieder nur bei mir ;-)) Allerdings hängt mein Webserver wohl schon wieder. :-( Hab das Gefühl, die letzte "funktionierende" Version war die 1094. Seit der 1103 konnte ich "Hänger" nachvollziehen. Werde wohl in den nächsten Tagen mal die 1103 wieder einspielen um zu sehen, ob's damit auch auftritt. Server ist sowohl über Intranet als auch über Internet nicht mehr erreichbar. Gabs irgendwelche "grossen" Änderungen zw. 1094 und 1103, die das Problem verursachen könnten ? Kannst Du das ganze bei Dir eigentlich auch nachvollziehen ? Mein Server hat mit der 1105 gerade mal 6h gelaufen, bevor er sich weggehangen hat. Dirk
Hi! Danke! 1094->11xx hab ich einiges am filesystem/dataflash zugriff gemacht. Insbesondere habe ich den zugriff auf das dataflash erweitert! Und wenn ein spi read beim dataflash hängen bleibt steht der server! Da habe ich einen Ansatz wo ich suchen kann! Danke! Könntest du mal versuchen keine dataflash/filesystem aufrufe zu machen testweise ? Also den server ganz normal nutzen, nur keine sachen aus fs und nicht /adm/upload aufrufen Oder hast du den serial debug port angeschlossen ? da könnte ich den letzten output brauchen Bye, Simon
Hallo marcel, dein Projekt sieht ja wirklich gut aus. Werde ich mir mal genauer anschauen....
Hallo Simon... Hab eigentlich keine Zugriffe aufs Filesystem gemacht. Hab die SW eingespielt, dann einige Files hochgeladen. Nach einiger Zeit hab ich nochmals versucht, den Server zu erreichen. Ging auch noch ohne Probs. Als ich nun in der Firma nochmal zum Testen drauf zugreifen wollte, ging nichts mehr. Zwischen den 2 Versuchen lagen ca. 2,5h, in denen ich nichts dran gemacht hab. Wie schon geschrieben werde ich 1103 nochmal draufspielen, um zu sehen, obs damit auch Probleme gab. Ansonsten kommt 1094 nochmals drauf. Dann können wir weitersehen. Debug hab ich nicht dran. Hab den MAX232 beim letzten Mal nicht ans laufen bekommen. Evt. mag meine Version vom Chip die 3,6V nicht, oder die C's waren mit 0,1µF zu klein. Dirk
ah ok.. hab dir gerade mal ein hex (build1106) gemailt wo ich die vermutete dataflash änderung rückgängig gemacht habe. würde mich zwar wundern da es streng nach datenblatt gecodet ist (statt 1byte auszulesen lese ich 256 pro zugriff, genau wie im datenblatt...) aber evtl ist es das ja ;) Bye, Simon
Hallo Simon... Werde ich morgen nachmittag ( nachdem ich aufgestanden bin ) mal ausprobieren. Kannst Du nochmal kurz versuchen, meinen Server zu erreichen ? Adresse kennst Du ja. Willl nur ausschliessen, dass es hier am Firmennetzwerk liegt. Dirk
adresse kenne ich leider nicht (schick mir mal ne mail bitte avr AT auctionant.de) ich kenn sie nur wenn irgendwer auf den link unten geklickt hat und die ip in meinem logfile ist ;) Bye, Simon
Hallo Simon... Hatte die SW 1106 (die per Mail gekommen ist) drin. Damit hat der Server ca. 0,5h gelaufen. Danach war kein Ping oder ansprechen über Intra- bzw. Internet mehr möglich. Hab nun versuchsweise mal die 1094 wieder eingespielt. Bis jetzt läuft er. Später, wenn ich wieder in der Firma bin und von da aus nochmals testen kann, kann ich Dir mehr sagen. Dirk
Hi! Ok danke! Dann wars nicht die Dataflash Änderung ::) Kannst du mal drauf achten was die Seite war die du zuletzt aufgerufen hast ? Ich hab meinen gestern 1h laufen lassen mit der 1106 und per wget im 0,1 sekundentakt webseiten runtergeladen. Er ist ganz normal weitergelaufen... Bye, Simon
Hallo Simon... Bin nun auf der Arbeit und... die 1094 läuft immer noch :-) Wenn Du sagst, bei DIr läuft die 1106 ohne Problem stellt sich evt. eine andere Frage: Kann es an evt unterschiedlichen Chip Revisionen von enc oder Mega32 liegen ? Gibt es in der Errata zu den Bausteinen Änderungen zw. den Revisionen ? Hatte auch schon an therm. Probleme gedacht, aber die werden wohl nicht bei einer älteren Firmware verschwunden sein... Andere Änderungen gabs nicht zw. 1094 und 1103 ? Evt. Änderungen im Cam-Part, welche den Server runterzieht ? Dirk
Hi! Ne, groß was gemacht hab ich nur am filesystem/dataflash... Sehr merkwürdig... Aber ich habe eine Sourcecode kopie von der 1094. Ich habe gerade mal ein diff gemacht. es sind nicht viele Änderungen gemacht worden. Eine Testversion mit ein paar zurückgeänderten Sachen habe ich dir eben per mail geschickt ;) Danke fürs testen ! Ich vermute fast dass es ein bug ist der nur zb mit dem ie auftritt (warum auch immer!) Ich bin gespannt auf deinen testbericht ;) Gruss, Simon
> Kann es an evt unterschiedlichen Chip Revisionen von enc oder > Mega32 liegen ? > Gibt es in der Errata zu den Bausteinen Änderungen zw. den > Revisionen ? Die Erratas beim ENC28J60 sind gleich.
Hi Simon ;) Ich bin nun gerade auch dabei so was kleines zu bauen. UDP ICMP ARP konnte ich mir durch ethereal mehr oder weniger selbst erklären, aber evt. könntest du mir sagen, woher du den ganzen TCP Kram gelernt hast(?) Sourcen wie uIP hab ich mir schon angeschaut, nur ist der bereits fast zu mächtig, hab dort den Überblick total verloren, bei Ulrichs Code hats auch einige Dinge, die ich nicht nachvollziehen kann. Daher - kennst du zufällig eine Seite, auf der das einigermassen gut Erklärt ist?(vorallem TCP, der Rest geht ja bereits :-) ) Nik
Hi! Zu TCP hatte ich mal was in einer (schlechten!) Vorlesung gehört. Meine Hauptquelle war das inet, also zB http://en.wikipedia.org/wiki/Transmission_Control_Protocol http://www.web-ee.com/primers/files/BeginnersGuide2Ethernet.pdf Bye, Simon
dankeschön ;) Das Pdf mag irgendwie nicht laden (firfox sagt Verbindungstimout) aber die wiki Seite sieht echt gut aus, da gibts sogar ne recht lange Ausführung davon in Deutsch, hätte nie gedacht das man dort sowas auch findet. Ich muss leider zwangsweise alles aus Büchern oder dem Inet lernen, bin noch zu jung für ein Studium und in der Schule haben wir noch nicht mal besprochen, was transistoren etc sind...schnarch. Mein Problem bei tcp sind vorallem die Syn Ack Felder, ich bin mir bezüglich des Programmaufbaus nicht ganz sicher was ich da in dem Fall mache, wenn zB 5 Clients gleichzeitig verbunden sind, dann brauch ich ja für alle einzelne Counter...ich werds mir mal ansehen und hoffentlich auch bald integrieren, hab bis jetzt nämlich nur ein UDP Interface, das kann man mit PHP zwar schön steuern, aber so 'das Wahre' ists auch nicht...:P Nik
>Mein Problem bei tcp sind vorallem die Syn Ack Felder, ich bin mir >bezüglich des Programmaufbaus nicht ganz sicher was ich da in dem Fall >mache, wenn zB 5 Clients gleichzeitig verbunden sind, dann brauch ich >ja für alle einzelne Counter. Nicht nur das! Du musst dir pro tcp verbindung den ack/seq counter merken, evtl den clientport und den aktuellen verbindungsstatus. (bei ulrich radigs code merkst du dir die seq/ack nummern glaub ich nicht) Leider habe ich auch noch keine Doku gefunden wo genau erklärt wird wie genau jetzt ein verbindungsabbau gemacht wird. Da gibt es ja verschiedene Versionen (client baut ab, server baut ab, fin+ack in einem paket etc) Ich hab das dann mehr oder weniger durch probieren rausgefunden :-\ Bye, Simon
Hi Simon... Kurzer Zwischenstatus: Die 1094 läuft immer noch sehr stabil ! Werde gleich mal die 1107 einspielen und weiter testen. Dirk
nachobenschieb Hallo Simon... Erneut ein kurzer Zwischenstatus: Hab jetzt die 1107 drin ! Läuft jetzt seit ca. 8h, scheinbar ohne Probleme. Sieht so aus, als hättest Du den Bug gefunden. freu Alles weiter so in ca. 24h. Dann sehen wir mal weiter... Dirk
>Sieht so aus, als hättest Du den Bug gefunden. *freu*
sag das nicht zu laut g
Ich habe ja zwei Dinge gegenüber der 1006er version geändert.
Aber wenn es die änderung war die ich vermute:
main.c: nic_receive_packet(&buffer[0],NIC_BUFFERSIZE) back to
nic_receive_packet(&buffer[0],600) (buffersize is 1000 !)
dann ist das seeeeehr merkwürdig !
Muss ich nochmal genau nachforschen.
Das ist eigentlich seltsam da der sendebuffer in jedem fall 1000 byte
benutzt. Es kann dann nämlich nur
a) stack vs buffer konflikt sein (müsste dann aber auch beim senden
passieren ?!)
b) irgendein enc28j60 bug (vermutlich dieser ungerade pointerbug aus
der errata, den fange ich nämlich (noch) nicht ab)
Wie auch immer, danke dir fürs testen !!
Ich hab ne gute Nachricht für dich:
So wie ich das sehe hatte ich doch einen output compare pin
rausgeführt!
Hatte mich schon gewundert wieso ich das vergessen hatte g
-> hardware servo support...
Müsste man nur noch testen ob die servos auch mit 3.6V laufen. Sollten
sie aber eigentlich, beim modellbau hat man ja auch gerne mal etwas
weniger .)
Bye, Simon
@Simon: Servos sind normalerweise für 4- oder 5-zellige Akkus gedacht; nominal 4.8 - 6 V, die Entladeschlußspannung liegt also bei 3.6 V bei einem 4-Zeller. Das dürfte dann auch schon die erreichbare Unterkante darstellen; meine Graupner Varioprop zickt da auch schon mal ganz schön herum. Also entweder solltet ihr eine höhere Betriebsspannung für den Servo vorsehen, oder ganz gezielt einen kaufen, der mit 3.6 V klarkommt. Nebenbei bemerkt sind auch die (Anlauf-) Ströme der Servos nicht ohne, mit ein bischen Pech steigt dann auch gleich der Webserver aus... aber ein kleiner Micro-Servo tut es ja vielleicht -- hab' leider nur grad nix passendes da zum Testen. So long, Tillomar
Hi! Ja ich weiss ;) Hab hier so super miniservos. Die ziehen locker 4A (zwar nur kurz aber trotzdem). Das ganze muss ja auch fast nichts bewegen, auf Schnelligkeit kommts ja auch nicht so an ;) Werde ich dann testen wenn ich den Code bastel. Sonst muss man dem Servo halt noch extra 5v geben oder so ;) BYe, simon
Hallo Simon... Ich befürchte, das war es doch noch nicht :-( heul Server hängt wieder. Hab heute nacht noch probiert, da lief noch alles. Heute morgen wieder Timeout und kein Ping möglich. Wobei ich nicht gleube, dass der Server wirklich hängt. So alle ca. 20sec leuchted die rote LED kurz mal auf. Dirk
Ah ok... bzw Mist! g Das heisst der Server bleibt hängen wenn lange keiner drauf zugreift, richtig ? Das würde auch erklären warum das bei mir nicht passiert ist (hab ja immer wie wild dateien geladen) Da werd ich meinen mal ein paar h laufen lassen mit debugoutput... Bye, Simon
Hi Simon... So ungefähr. Wie geschrieben, denke ich nicht, dass der Server komplett hängt. Weisst Du, was der ca. alle 20sec an Daten holt/bekommt ? Das bedeutet doch das aufleuchten der roten LED, oder ? Ist zumindest die LED neben der blauen "Link ok" LED. Dirk
die rote led leuchtet immer wenn er irgendwas sendet oder empfängt. Bzw wenn der enc28j60 was sendet/empfängt. Selbst wenn der avr steht kann der leuchten. Alle 20s wird wahrscheinlich der tcp conn request deines browsers sein. ich schick dir gleich mal eben ein hex was genau wie 1007 ist nur immer mit der status led blinkt wenn er noch läuft... Bye, Simon
Hi Simon... 1108 ist drin und läuft. Mal sehen, wie lange. Dirk
@dirk: hast wieder post! Kann es sein dass der server immer hängt wenn er die 0 uhr schranke überschreitet und man danach die site/temp.htm aufruft ? Ich habe soeben einen (blöden) bug gefunden ! Wenn die Systemuhrzeit zb 33 Uhr ist und man /site/temp.htm aufruft dann bleibt der uc hängen ! Er versucht dann nämlich aus einem eeprom Speicherbereich zu lesen der gar keiner mehr ist :-X bzw eine for schleife tickt dann aus 8) Warum die uhrzeit aber >24uhr werden kann ist mi nicht ganz klar (habs bei mir zum testen manuell mit 33 uhr initialisiert -> tot). Hab noch was an der clock routine gefixt. Bye, Simon
Hi Simon... Du hast auch Post ! Server hängt wieder. LED blinkt aber schön regelmässig vor sich hin. Naja, mit 33 Uhr ist ja nicht ganz so schlimm. So spät wirds bei mir selten ggg Die 1109 werde ich morgen oder so mal einspielen. Für heute ist Schluss. Hatten eben Kindergeburtstag und nun bin ich am Ende :-( Werde wohl früh ins Bett gehen... ggg Dirk
Hi! Mein Webserver ist jett seit >24h durchgängig am laufen... Ich vermute Dirk hat eine andere enc28j60 revision als ich. Ich werde in der nächsten Version mal den pointer workaround aus der microchip errata einbauen. Dirks Server schien nämlich nicht zu hängen (er empfing die ethernetpakete immer noch) nur konnte er keine pakete mehr senden ?! Sehr seltsam... Anbei mal ein Temperaturgraph von heute (links von der linie = 5.5.06, rechts davon ist von gestern). Der Graph zeigt 24h. Der LM75 hängt bei mir aus dem Fenster (Nordseite) Bye, Simon
Hallo Simon... Wie bekomme ich denn die Rev. des enx28j60 raus ? Steht die nur im Chip ? Aufdruck auf meinem enc ist jedenfalls ENC28j60 (e3) Sollte e3 die Revision sein ? Lt. Errata soll die Rev. im Register EREVID (Adresse 0312h) zu finden sein. Vielleicht kannst Du ja mal ne firmware "basteln", welche die Adresse 0312h ausliest und den Wert auf der Startseite mit anzeigt. Evt. hilft das ja bei der Fehlersuche weiter. Dirk
bin grad schon dabei, gibt gleich ne neue rev (mit servo beta)
So, hier die neue version: http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1110.hex NEU: *** build 1106 *** - internal bughunt version *** build 1107 *** - internal bughunt version *** build 1109 *** - clock.c: new way to calc next time - logger.c: add security check for eeprom bug (h>24 -> out of bound -> hang!) - lm75.c: do not return 0xFF as valid temp - logger.c: do not use lm75 temp register, added own tempreg! *** build 1110 *** - enc28j60.c: moved rx buffer to begin - enc28j60.c: added ptr bug workaround - logger.c/lm75.c: fixed typo in logpos check ! - main.c: 800ms delay after init before sending any data - servo.c: new, support servo connected to PORTD.7 -> servo support: http://192.168.0.6/servo/000 bis http://192.168.0.6/servo/255 (führende nullen!) setzt servo an PORTD.7 Und nun das beste: meine normalen Modellbauservos gehen direkt mit 3.6V :) Das scheint nochnichtmal irgendwie zu stören :) Aber bitte testen bzw um sicherzu gehen den Servo extern mit 5V versorgen (beide GND verbinden) @Dirk: Wäre cool wenn du den Code mal testest, da ist jetzt der enc28j60 bug umgangen. Ich hoffe dass der fürs stehenbleiben verantwortlich war .-\ Achja und auf der index.htm sieht man jetzt die enc28j60 revision (ich hab rev4). Bye, Simon
so, gibt ne neue version. Diesmal mit servo html seite wo man den Servo per mausklick in die servopos Grafik steuern kann.(siehe screenshot) das javascript ist mit ie,ffox,opera getestet, sollte also gehen ;) http://avr.auctionant.de/avrETH1/firmware/avrETH1_build1111.hex CHANGES: - servopos nun über /servo_000.bmp bis /servo_255.bmp steuerbar - /site/servo.htm als übersicht für den servo Bye, Simon
Laut den Errata-Sheets gibt es aber keine Unterschiede zwischen Revision B1 (EREVID = 0x02) und B4 (EREVID = 0x04). Und von anderen Versionen stand nix auf der HP von Microchip, als ich vor ca. 3 Wochen geschaut hab.
Hi! Das hab ich schon gesehen. Aber komischerwiese scheint der bug nur bei Dirk aufzutauchen und bei mir nicht ?! Evtl gibt es ja noch einen unbekannten bug von der 2er rev oder so. Wobei ich mich schon die ganze Zeit frage warum die eine neue revision rausbringen die dann genauso viele fehler hat wie die alte ?! :-X Schon irgendwie seltsam... Bye, Simon
Vielleicht damit sie die alten Revisionen ohne Reue noch verkaufen können ;). Mir ist das halt vor 3 Wochen aufgefallen, als ich bei meinem die Revision ausgelesen hatte und mich erstmal geärgert hab, warum ich noch die alte bekommen habe, obwohl ich ne Weile auf die neue gewartet hab (wie ihr ja auch). Da hab ich dann erstmals in die Errata-Sheets geschaut.
Hi Simon... Version 1111 ist drin. Hab übrigens auch Rev. 4 des enc. :-( Solangsam glaub ich, mein Server will uns nur ärgern. Warum kannst Du das ganze denn nicht nachvollziehen ? Vielleicht solltes Du mal meinen Server bei Dir aufbauen, und ich nehm Deinen zum Testen mit. Vielleicht liegts ja auch am Erdmagnetfeld unter unserer Wohnung oder so... ;-) Servoabsteuerung ist ja cool. Hab zwar noch keinen Servo dran, aber schön, dass es nun drin ist. Werd ich die nächsten Tage mal probieren. Vor allem das Einstellen der Servoposition, klasse. Meinst Du nicht, ne einfache Auswahlbox mit vorgegebenen Werten (möglichst auf der Webcamseite) hätte gereicht ? ggg Evt. mit automatischem Refresh des Bildes, nach Auswahl der Servoposition. Dirk
>Solangsam glaub ich, mein Server will uns nur ärgern. Glaub ich auch g >Warum kannst Du das ganze denn nicht nachvollziehen ? Wie gesagt, ich bekomms nicht hin bei mir :( Warten wir jetzt mal den Testlauf mit der 1111 bei dir ab. Wenn da wieder was passiert werde ich meinen Server ins Netz stellen und dir die Adresse geben. Dann kannst du den mal genauso "bearbeiten" wie deinen. Wenn dann was passiert hab ich das serielle Logfile und kann evtl sehen woran es liegt. >Vor allem das Einstellen der Servoposition, klasse. Danke :D Das kommt später mal direkt unter das Webcambild. Evtl zusätzlich noch ne Auswahlbox daneben ;) Ich muss mir nur was wegen dem Programmspeicherplatz überlegen, es sind nur noch 30 Byte oder so frei :-X Aber ich hab da ein paar Stellen wo ich ein bissl optimieren kann denke ich :) BYe, Simon
Hallo ich verfolge schon länger das Projekt. Leider arbeite ich mit PIC´s. Ich habe allerdings gleiche Probleme: Es stürtzt immer mal ab. Manchmal hilft auch kein Reset - einfach warten und immer reseten.... Machmal hilft dafür aber ARP -d auf dem PC. Könnt Ihr ja mal testen. ARP.EXE ist ein Dos-Programm für den ARP-Speicher auf dem PC. Mal ne Frage: Die Common-Register sind doch alle gespiegelt? Werden diese gleichzeitig beschrieben? Ich kann (zum debuggen) alle Common-Register auslesen. Nur leider sind die Common-Register nicht in allen Bänken immer gleich. Dachte erst die SPI macht fehler. Ist aber doch wohl eher unwahrscheinlich, oder? Er geht manchmal stundenlang! Könnt ihr mal die Common-Register auslesen? Gruß LM
Hi, Ich hab einen aehnlichen Aufbau wie Simon mit einem Atmega32, und hab meinen eigenen Code geschrieben. Ich hab manchmal auch das Problem, dass der enc28j60 scheinbar abstuerzt, ich bekomme dann zb. keine interrupts mehr fuer reinkommende Pakete (die reinkommen muessten, die Led blinkt). Hat da jemand noch eine Idee? LM, hast du das mal ausprobiert, ob die Common-Register verschiedener Baenke sich unterscheiden? Gruss, - Alexander
Hi! Das hört sich interessant an Alexander! Genau das hat Dirk nämlich beschrieben... Der Webserver läuft weiter, rx led blinkt das wars. In der neuen 1111er Version habe ich die von der Errata empfohlenen Workarounds für das PKTIF Flag (nochmal extra den count checken) und diesen Pointerbug (immer ungerade werte ins register schhreiben + aufpassen beim wrappen) implementiert. Ich hoffe dass das der Fehler war. Warum es aber nur bei Dirk passiert und nicht bei mir ?! Evtl haben einfach nur manche der ENCs diesen Bug ? Schon irgendwie komisch :-\ @LM1: Welchen stack benutzt du ? den von Microchip ? Das mit den ARP paketen hört sich eher wie irgendein Bug in der arp verwaltung an. Oder evtl doch dieser pointerbug und nur durch genügend eingehende pakete kommt er irgendwann wieder auf nen gültigen pointer ? Schon irgendwie komisch... Wegen dem auslesen ? Sind das evtl die Register die nur mit >8mhz fehlerfrei auslesbar sind ? BYe, Simon
Hi Simon, den Pointer-Workaround hab ich drin, den PKTIF-Workaround noch nicht, das werd ich nochmal checken. Der ENC28j60 ist eigentlich sehr geil, aber das gefaellt mir grad garnicht :// Hat jemand mal mit Microchip geredet? Gruss, - Alexander
Hallo, ich nutze "Ethereal" um meine gesendeten Daten im PC anzeigen zu lassen. Ich sende zyklisch ein Packet und bekomme den Inhalt auch richtig angezeigt. Nur spielt es keine Rolle, wie ich TX und RX verbinde. D.h. ich kann TPOUT mit 1-2 oder mit 3-6 vom PC verbinden, in beiden Fällen zeigt mir der PC exakt meine gesendeten Daten. Allerdings nur, wenn ich immer alle 4 Leitungen verbinde, nur Senden allein verbinden geht nicht. Was stimmt bei mir nicht? Oder ist alles i.O.? Danke! Enrico
Hast du evtl nen Switch der Crossover kabel erkennt und dann umschaltet ? Bye, Simon
Hallo, ja ich benutze den Microchip-Stack. ARP: So ganz kapier ich das auch nicht. Ist jedenfalls Definitiv so, daß der ENC28J60 dann wieder geht. Eigentlich speichert das ARP doch nur die MAC-Adresse.? SPI ist bei 10MHZ (geht bei PIC problemlos) Pointerbug? Welchen meinst du denn? Evt. spielt da auch der Router mit (der händelt ja den verkehr über eine ARP-Tabelle). Wenn ich über eine andere Mac (und ip-) adresse (also 2ter PC) anpinge geht er wieder. Ist wirklich komisch. LM, hast du das mal ausprobiert, ob die Common-Register verschiedener Baenke sich unterscheiden? Genau das ist das, was mich stutzig macht. die 0x1A bis 1F sollten eigentlich gespiegelt sein. Wenn der ENC28J60 geht ist das auch so. Aber leider nicht immer! Also scheint es ein SPI-Problem (Takt = 10MHz) zu sein. Gruß LM1
Hi, LM1, hast du das wirklich mal gesehen, dass die Baenke sich unterschieden haben? Das wuerd mich interessieren, denn dazu hast du bisher nichts konkretes gesagt... - Alexander
@Alexander so im Anhang steht es... Für Debug mußt du Bank einsetzen. Wobei nur die letzten Bytes wichtig sind. Das ganze ist mit ICD2 und der "Watch"-Funktion aufgezeichnet. Guß Lars
@Simon Nein, ich gehe mit dem Kabel direkt in meinen PC, also meine Broadcom-Netzwerkkarte. Nur scheint es egal zu sein, ob ich TX-ENC mit TX-PC oder RX-PC verbinde. Die Schaltung ist wie im Datenblatt, nehme als Übertrager einen FB2022. Wie gesagt, ich kann ein gekreuztes Kabel nehmen oder ein eins-zu-eins. In beiden Fällen empfange ich exat die Daten des ENC. Warum? Danke!
HI! Dann schaltet deine Netzwerkkarte wohl um :) Der ENC kann das glaub ich ncht ... Bye, Simon
Gut und danke, dann verbinde ich ENC-TX mit PC-RX (3-6) und ENC-RX mit PC-TX (1-2), oder? Macht es einen Unterschied ob ich dann einen Switch oder direkt eine Netzwerkkarte anspreche?
Hi Simon... Was soll ich sagen ? Firmware 1111 läuft immer noch. ;-) Ich will mich noch nicht zu früh freuen, und Dich nicht zu früh loben, aber vielleicht wars das diesmal wirklich. Immerhin läuft die Dose nun schon seit fast 48h. Weiteres (auch bzgl. Servounterstützung) folgt die nächsten Tage. Dirk
Hi, Ich hab immer wieder das Problem, dass der enc28j60 "abstuerzt", ich bekomme also keine Interrupts mehr, es kommen keine Pakete mehr rein (PKCNT konstant 0) und ich muss das ganze resetten, der Mikrocontroller laeuft noch und der enc28j60 laesst sich auch noch ansprechen, aber es kommt halt nichts mehr. :/ Irgendeine Idee? Die Erratas hab ich soweit implementiert (speziell #6 und #13), das passiert auch mit beiden Hardware-Revisionen (rev02 und rev04)... - Alexander
@Alexander was sagt den RXERIF? hat einer denn ne Meinung zu meinen Debug-Daten? Gruß
Hi, EIR ist 0, soweit hab ich das schon gecheckt. :/ Gruss, - Alexander
Hi, @Simon hast Du noch Platinen zu verkaufen? Hätte gern eine zum probieren. Oder gibst Du die Schaltung (evtl. die Eagle Files) frei? Gruss Holger
Hi, gibt es eigendlich eine zusammenfassung von dem ganzen forum, also sowas wie eine projektpage mit der ganzen schaltung etc, ich würde das gerne nachbauen.
Hi, @Stefan: Website schon weiter oben genannt, aber leider fehlt die Schaltung zum Nachbau :-( Schade. Oder kann ich mal wieder nich richtig gucken? Gruss Holger
Moin, ich verfolge den Thread auch schon eine ganze Weile und kann dir sagen, das es hier keinen Schaltplan gibt. Zumindestens den von Strfan habe ich noch nciht gesehen. Mußt du schon selber machen, wobei zumindestens bei dem Artikel zum ENC28J60 2 Schaltpläne bei sind, nach denen man das ganze selber entwickeln kann. Ist auch eigentlich nicht sonderlich schwierig. Mike
Na ja, das mit dem "selber entwickeln" ist so eine Sache. Die Hardware muss ja auch immer zur Software passen. Mit Hardware hab ich kein Problem, bin beruflich und technisch in der Lage auch Fine-Pitch oder BGA zu löten etc. Mit Software bin ich ein Fossil - bin froh, wenn ich ein paar Portbeinchen zum klappern kriege. Dann hörts ja auch schon fast auf. An einer Übertragung mit UART hab ich 3 Wochen gesessen.... Will sagen, ich bin auf ein komplettes Projekt angewiesen - Webserver Software selber programmieren kann ich nich....... ..na und die MCA-25 Cam würd' mich schon interessieren. Wollte auch erst Ulrich Radigs Webserver nachbauen - kriege keinen RTL8019 mehr. Selbst ein befreundeter Computerhändler hat schon seine alten Kramkisten durchsucht.... Gruss Holger
@Holger: Solche Netzwerkkarten mit dem RTL findest Du in jedem Wertstoffhof oder zur Not bei eb**. Simon hat an alle, die bei ihm Platinen bestellten, einen Plan in Papierform beigelegt. @Simon: könntest Du bitte die Servo-Geschichte so machen, dass es auch im IE und ohne Skripte geht, also nur ein Form, das man mit Enter eingeben kann (Wertebereich 0..9). Bitte auf der Servo-Testseite und der Kamera-Seite. Vielleicht sogar so, dass nach dem Enter der Eintrag gleich markiert ist, so dass für eine Neueingabe nur drübergetippt und Enter gedrückt werden muss. Wäre es möglich, die IPs für den Gateway und die eigene IP aus den oberen EEprom-Stellen auszulesen, damit man eigene Werte eintragen kann. Mit Schlüsselstellen z.B. AA 55 CC 33 davor und danach, wenn diese nicht vorhanden, defaults verwenden. Und das EEprom nicht jedes Mal löschen. Danke
@Holger: Ok, dann gebe ich dir recht, daß ein nachbau einfacher ist. Wenn du noch einen RTL8019 mehr kriegst, kannst du dich gerne nochmal bei mir melden. Ich hab hier noch 2 oder drei Karten davon rumliegen. Wollte auch erst den Webserver damit bauen, habe dann aber den enc28j60 entdeckt und bastel seid dem damit rum.
Hi, mittlerweile (danke Simon!) hab ich meine Bugs gefunden, ich hab Errata #6 uebersehen und #13 falschrum implementiert. Bei Gelegenheit gibts dann von mir mal Schaltunterlagen und Software :) - Alexander
Hi, solltet ihr auch mal Probleme haben, auf SPIF zu pollen, seid bitte sicher, dass ihr den Pin SS entweder als Output konfiguriert, oder per (internem oder auch externem) Pullup diesen Pin auf High zieht, ansonsten kann es zu merkwuerdigen Effekten kommen. Ich hab ne ganze Weile debugged bis ich gemerkt hab, dass der von SPI Master auf Slave umspringt, weil der Atmel meint, dieser Pin (der in meiner Schaltung so erstmal in der Luft hing) waer auf Masse gezogen worden... - Alexander
HI! Danke :) Der SS ist beim avrETH als CS für den ENC verwendet worden. Also nen output ;) @Holger: Die Schaltung werde ich wenn erst nach dem Circuit Cellular Wettbewerb freigeben ;) Platinen habe ich momentan leider keine mehr. @Schreiber: Ja mal sehen wie ich das auch als non javascript machen kann. Wobei das javascript eigentlich auch im ie gehen sollte (wurde im ie, opera und firefox getestet) BYe, SImon
Hi, @Simon: Ja, OK, hab zwar noch nix von diesem Wettbewerb gehört aber ich wünsche Dir auf alle Fälle Erfolg dabei! Das reicht mir auch, wenn ich irgendwann mal an SB und evtl. eine Platine komme. Mir rennt das Projekt ja nicht weg. Mach ich erst mal irgend was anderes: In der Sonne liegen... Haha... Bitte köntest Du an mich denken, wenn es evtl. mal wieder fertige Platinen gibt. ist zwar kein Problem, aber das Rad muss ja nicht zweimal konstruiert werden. Gruss Holger
Ah, ha..... lesen bildet! AVR 2006 Contest! Na dann Simon: viel Glück für die 15.000$ - bis 16. August ist ja nicht mehr lange hin. Gruss Holger
Thread wiederbeleb Gibt es eigentlichen einen ungefähren Termin wann bugfreie ENC28J60 das Werk verlassen? Grüße, Patrick
Simon, ich wünsche dir auch viel Glück beim Wettbewerb! Ich suche momentan eine Möglichkeit die Webseite ein bißchen flexibler werden zu lassen. Mein Webserver liest drei DS18S20-Sensoren aus und stellt die Temperaturen auf der Webseite dar. Nun muss bei mir die Webseite immer neu geladen werden, um den neuen Wert anzuzeigen. Ist nicht so schön. Gibt es eine einfache Möglichkeit, dass ich die Seite stehen lassen kann und nur den Temp.-Wert ändere? Leider habe ich noch keine Erfahrungen in Java oder Javaskript. Gruß Elektrikser
Hi, wie gehts nun weiter hier? Ist ja etwas ruhig geworden mit dem Projekt. Gibt es updates, neuigkeiten?
Hi! Ich schreibe momentan an der Doku für den Circuit Cellular Contest :) BYe, Simon
Hallo alle, Hallo Simon, freut mich, dass Du noch dran bist. Habe in den letzten Tagen ein bisschen gebastelt, werde dazu auch noch im anderen Thread bzgl. Kamera was tippen. Was mir noch in den Sinn kam: was braucht die meiste Zeit bei der Bildübertragung? Es sind ja immerhin einige (ca.6) Sekunden. Würde mich freuen, wenn man da noch optimieren könnte. Die Bilder sind ja so in etwa 40-50 KByte groß, d.h. die theoretische Übertragung bei 460800 dauert eine Sekunde. Klar kommt noch das LAN-Protokoll, aber dauert das wirklich so lange? Andere Möglichkeit wäre, dass man diese Übertragungszeit durch einen höheren Prozessortakt verkürzen kann. Die nächsten geraden Frequenzen wären 11,0592 MHz (Teilfaktor 3*8=24) und 14,7456 (Teilfaktor 4*8=32). Klar läuft der Mega32L bei 11MHz außerhalb der Spec, dürfte er aber schaffen. Andererseits liebäugle ich schon länger mit dem Mega644, wenn ich das Datenblatt richtig interpretiere, ist er bei 3,6V mit 15 MHz innerhalb der Spec. Was meint Ihr? Nochwas zum Servo: meiner (Multiplex MPX Tiny-S) läuft zwar prinzipiell mit 3,6V, jedoch brummelt er oft, nachdem er eine Position angefahren hat, insbesondere aus einer bestimmten Richtung. Muss ich noch untersuchen, warum, evtl. Störungen, Spikes, Überschwingen... Evtl. könnte man dies und hohe Impulsströme vermeiden / verringern, indem man das PWM-Signal in mehreren Schritten auf die gewünschte Position anfährt. Finde ich auch optisch schöner, wenn die Kamera etwas langsamer in die richtige Position schwenkt. Jetzt macht es einen Ruck. Noch ein kleiner Bug: Wenn man den Positionierbalken ganz rechts anklickt, geht er in die Position ganz links. Simon, wäre schön, wenn Du eine neuere Version posten könntest, wenn vorhanden. Also, in ca. 10 Min. gibt es (seit 6 Wochen) was neues auf www.mikrocontroller.net/forum/read-1-232801.html bzgl. Kamera.
>etwa 40-50 KByte groß, d.h. die theoretische Übertragung bei 460800 >dauert eine Sekunde. Klar kommt noch das Also wenn das Bild zb 50 KByte hat kommt noch der Mux Overhead drauf. Wenn ich es richtig im Kopf habe ist das nen Faktor ~1.33 -> 66.5 KB Das größte Problem ist aber der tcp/ip overhead bzw dass der webserver immer nur ein Paket schickt und dann auf ein Ack wartet. Das könnte man evtl verbessern indem man 2 Pakete losschickt. Dazu müsste aber noch etwas am TCP Stack erweitert werden. Das passt in den mega32 bestimmt nicht mehr rein (hab nur noch wenige Byte frei :-X) Ich bin im moment noch am planen einer neuen Version des Webservers mit größerem uC und mehr Anschlussmöglichkeiten. Bye, Simon
> Nun muss bei mir die Webseite immer neu geladen werden, > um den neuen Wert anzuzeigen. Das reload kann man mit einem meta-header automatisch veranlassen. Der Server muß dazu gar nichts machen, sonder nur die Anweisung in die html Seite aufnehmen, daß der Client (WebBrowser) die Seite in x Sekunde refresged werdeb soll. <meta http-equiv="REFRESH" content="5;URL=http://myip/meineurl.html"> veranlaßt den browser nach 5 sekunden meineurl.html zu reloaden
Das stimmt schon. So funktioniert es bei mir ja auch (sie aktualisiert ca. alle 6s). Allerdings möchte ich die Seite stehen lassen und nur den Wert immer neu aktualisieren. Dazu müsste ich eine Art dynamische Webseite machen. Es gibt bestimmt eine Möglichkeit mit Java, PHP oder Jscript. Da fehlen mir leider die Kenntnisse. Gruß Elektrikser
dann schau dir mal AJAX an (asynchronus javascript and XML) Ist aber für nen mega32 wahrscheinlich ein wenig zu dicke ;)
Ich arbeite mit einem 128er. Mal sehen, ob das eingebaut werden kann.
die einfache Variante wäre natürlich über frames. Dann bräuchtest du nur den kleinen frame in dem der Wert dargestellt ist zu reloaden.
Dass wäre wahrscheinlich genau das, was ich bräuchte. Wenn ich den Temperaturwert in einem kleinen Frame anzeigen würde und jedesmal wenn der Wert sich ändert nur den Frame neu schicken bräuchte, wäre das schon schöner. Das Geflackere beim Webseiten-Aufbau nervt mich.
Hi, ich hab dieses Wochenende auch mal einen Prototypen geaetzt, das Ergebnis gibts unter http://www.lochraster.org/etherrape . Das ganze ist 80x100mm gross und ausschliesslich ohne SMD-Teile gebaut, die SMD-Version layoute ich gerade. Meine Software kann bisher arp, ip, udp und icmp, weiteres ist natuerlich geplant. Gruss, - Alexander
@Elektrikser Lad mal bei Rapidshare was hoch, dann siehst du das, was du brauchst sehr schoen in der Praxis...
Hallo Alexander! Ich wollt mal Fragen, ob Du Deine Platinen selber aetzt, oder die in Auftrag gibst. Falls letzteres, waer ich an einer interessiert (weil das SMD-Layout ist mir doch nen bisschen futzelig ;-))
Hi, Ja, ich habe diese erste Testplatine selber geaetzt und ueberlege gerade auch, da welche von fertigen zu lassen. Mein Vater hat dankenswerterweise 20 Jahre Erfahrung im Aetzen und auch das entsprechende Zubehoer alles da, deshalb dauert das mit Prototypen meistens nicht lange. Ob ich mal welche fertigen lasse, weiss ich noch nicht. Erstmal muss die Software das koennen, was ich will. Wer sich auch selber eine aetzen will, kann mir ja eine Mail schreiben und bekommt von mir die Vorlagen. - Alexander
Hi, interessiert mich sehr, hab dir auch gleich mal ne Mail geschrieben ;)
Hi, Ich hab mal die Schaltung, die ich verwendet habe, unter http://lochraster.org/etherrape veroeffentlicht. Diese Schaltung tut bei mir recht gut, aber ueber jegliche Hinweise und Anmerkungen bin ich dankbar :) - Alexander
Hi, Ich hab grad ein Problem mit dem enc28j60: Ich kann unter bestimmten Bedingungen (nc <atmel> <tcp-echo-port> < /dev/urandom) einen Zustand erzeugen, in welchem permanent ein receive error besteht, aber EPKTCNT = 0 ist und auch ERXXWRPT > ERXRDPT ist: net: controller interrupt, EIR = 0x01 = r net: receive error! RevID: 0x04 Cntrl: ECON1 ECON2 ESTAT EIR EIE 0x37 0x80 0x41 0x00 0xDB MAC : MACON1 MACON2 MACON3 MACON4 MAC-Address 0x0D 0x00 0x32 0x00 ACDE48FD0FD0 Rx : ERXST ERXND ERXWRPT ERXRDPT ERXFCON EPKTCNT MAMXFL 0x0000 0x0FFF 0x001E 0x001D 0xA1 0x00 0x0280 Tx : ETXST ETXND MACLCON1 MACLCON2 MAPHSUP 0x1000 0x1068 0x0F 0x37 0x10 DMA : EDMAST EDMAND 0x0FCC 0x1019 Hat vielleicht jemand eine Idee, wodran das liegen koennte und wie ich aus diesem Zustand wieder rauskomm? Es reicht nicht, nach Datenblatt das RXERIF in EIR per BFC zu resetten, das taucht direkt wieder auf... grad etwas ratlos, - Alexander
hehe ich bin nicht der einzige der so verrückt ist und das alles auf Lochraster baut! :D Schöne Sache Alexander, aber eine Frage habe ich noch - und zwar wie du den Magjack dennoch auf das normale Rastermass bekommen hast, ich habe die Buchse nämlich einfach durch leichtes umbiegen der Anschlüsse auf die Rückseite gelötet... ;-) Bei der Software bin ich in etwa so weit wie du, icmp, arp, ip und udp empfang gehen und im Moment stecke ich bei Tcp leider fest, da ich im Moment nicht viel Zeit habe aber in meinen Sommerferien gehts dann sicher weiter :-) Siehe http://www.nikbamert.com/index.php?seite=elektronik&subsite=udp Evt. kommst du aus dem Zustand mit einem Hardware Reset wieder raus...ist vielleicht nicht die feine Methode aber etwas anderes fällt mir leider nicht gerade ein. Ich habe hier mit meinem ENC auch ein Problem und zwar muss ich die Schaltung teilweise 10 mal einschalten bis der Ping endlich klappt, es liegt aber nicht an meiner Software, die läuft nämlich jedesmal an, ich vermute der enc wird nicht jedesmal richtig initialisiert, oder aber ich habe dann genau den Zustand den du hast,ich muss mal den Status auslesen wenn das eintritt.. :P Nik
Hi Nik, soweit ganz nett, dazu ein paar Anmerkungen: * du verwendest zum Selektieren des SPI-Client nicht den Slave-Select (SS/PB2) Port des atmega8, das kann zu Problemen fuehren, wenn dieser Pin freischwebend, als Eingang und ohne Pullup konfiguriert ist. Hat mich nen Tag Debuggen gekostet rauszufinden, warum meine SPI Datentransfers nicht enden (SPI war in den client mode gewechselt...). * R_bias sollte nicht 2k sondern 2k7 sein (-> Errata) * der atmel sollte Blockkondensatoren an den Versorgungsanschluessen haben (100n oder so) * deine ARP-Implementation ist sehr fehleranfaellig, es reicht nicht aus einfach nur Source- und Destinationmac zu vertauschen, du pflegst keinen ARP-Cache usw. * warum macht ihr alle die Checksummenberechnung im Atmel? Der enc28j60 kann das viel fixer (siehe Datenblatt), wobei der Autor des Datenblatts das Einerkomplement nicht verstanden hat, denn das Ueberpruefen von Checksummen geht mit dem enc28j60 viel einfacher, als beschrieben (das hab ich auch schon an Microchip weitergetuetet). Was benutzt du fuer einen ferrite bead? Ich hab mal bei Microchip nachgefragt, was genau die meinen und welchen die verwendet haben... Soweit, - Alexander
Hi, ich versuche mich gerade an der Portierung des Code`s von Nik an den M16C28. Momentan hadert es an der Mehrfacheinbindung von der stack.h. Der Linker beschwert sich über doppelte Definitionen: Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_buffer' is multiple defined Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_myip' is multiple defined Error (ln30): C:\Hew3\ethernet\ethernet\release\enc28j60.r30 : '_mymac' is multiple defined Wie kann ich sowas verhindern? Mfg Sascha
Moin Sascha, normalerweise sollte der Compiler bei doppelten Definitionen nur warnen, solange die Definitionen inhaltlich identisch sind. Ansonsten ist es üblich, den Inhalt der Header-Files mit #if defined(_STACK_H__HEADER_) #define _STACK_H__HEADER_ ... #endif zu klammern, Nach MISRA soll man sich zwar nicht darauf verlassen, aber das wird Dich sicher nicht hindern... Btw,, ich habe hier einen M16C62, den ich gerne mit dem ENC28J60 verheiraten würde; wird Deine Software irgendwann frei verfügbar sein? Simon ist ja noch nicht so weit. Ich suche (für den M16C) einen TCP/IP-Stack, der mehrere gleichzeitige Verbindungen und Sliding Window Buffer beherrscht. So long, Tillomar
Hi Alexander *Ich hab ihn aber als Ausgang definiert, enc28j60.c, Zeile 197 :-), sonst geht bei mir nämlich gar nichts mit SPI *R_bias Bin ich mir nicht ganz sicher, ich dachte falls der falsche dran ist geht gar nichts(bei den früheren revs warens doch noch 2000 Ohm(?)) *Ja ich muss sagen ich hab mir die ARP Implementierung ein wenig abgeschaut(bei U. Radig) aber ich verstehe nicht ganz weshalb ich einen ARP Cache brauche, wenn ich den atmega nur als Server arbeiten lasse, bzw jeweils nur auf Packete antworten lasse (er versendet selbstätig noch keine Packete) *Das mit der Checksumme verstand ich eben nicht ganz, ich hab die Option im Procyon Treiber mal eingeschaltet - doch dann setzt er mir am Ende das Packets eine 4 byte lange Checksumme hin, die, so glaube ich, über das ganze Packet ausgerechnet wird...aber wenn man das irgendwie anders besser hinkriegt...noch so gerne, das würde mir evt. gerade noch den Platz einsparen um den minimal Code <2kb zu bringen Udp bootloader... ;) Zum ferrite bead: Ich hab den enc mittlerweile mehrfach in Betrieb, und beide Male ohne, und zwar aus dem Grund weil ich die Microchip Angabe nicht wirklich verstehe. Ich habe statt der Spule einfach einen Draht genommen, klappt auch :-) Die Sache ist eben die: ich habe bei der einen Schaltung hin und wieder Probleme bis sie anläuft, wenns dann mal läuft ists kein Proble m mehr(tausende Pings ohne Ausfall). Dann wenns nicht klappt mit dem starten liegts aber auch nicht bei meiner ARP Implementierung, da der Computer von dem ich Pinge die Arp noch immer im Cache hat. Die Sache scheint irgendwo bei der Kommunikation enc<-->atmega zu liegen, manchmal glaube ich fast, dass der ENC eine startup zeit braucht, oder vielleicht mein Spannungsregler nicht genügend Saft liefert(beim einschalten vielleicht nicht...) Aber die Blockkondis werde ich natürlich einbauen(sobald CSD liefert...) @Sascha: Ich dachte zuerst du könntest vielleicht eine main.h anlegen und dort dann stack.c einbinden, nur müsstest du ja dann auch in allen anderen files wiederum main.h einbinden wobei man dann wieder beim gleichen wäre...soo erfahren bin ich in C leider noch nicht, arbeite erst ein Jahr mit gcc :( mfg, Nik
@Tillomar #if defined(_STACK_H__HEADER_) #define _STACK_H__HEADER_ ... #endif sollte es nicht heißen #ifndef _STACK_H #define _STACK_H ... #endif was aber leider nicht hilft. Sollte der Source fertig werden, ist er natürlich frei. Wenn ich das erst einmal mit der Mehrfacheinbindung weg kriege. Mfg Sascha
@Sascha:
> sollte es nicht heißen
Ja freilich, war wohl geistig abwesend...
Wenn das wirklich nicht hilft, dann heißt das entweder:
-- irgnedwo wird Dein _STACK_H wieder #undef-ed
-- oder es gibt in unterschiedlichen Headern die gleichen Definitionen;
da hilft dann nur suchen.
Vielleicht hilft es, wenn Du mal ein Cross-Referenz von Deinem
Sourcecode und seinen Includes anlegst; meist sieht man dann recht
schnell, woran es scheitert.
So long,
Tillomar
Hi Nik, im Datenblatt auf Seite 7 hast du gelesen, dass der enc28j60 eine startup-Zeit braucht, und man CLKRDY pollen soll? R_bias muss nach der Errata 2k7 sein, obs anders auch tut, keine Ahnung. Wir reden von verschiedenen Checksummen, du brauchst einmal eine CRC Checksumme (4 Byte) fuer das ethernet-Packet und einmal eine Einerkomplement Checksumme fuer IP/ICMP/UDP/TCP usw. Du redest von ersterer, ich von letzterer, und der enc28j60 kann beide in Hardware. Wenn dus ordentlich machen willst, schaue nicht bei Ulrich Radig ab, da sind unschoene Dinge drin... - Alexander
>im Datenblatt auf Seite 7 hast du gelesen, >dass der enc28j60 eine startup-Zeit braucht, >und man CLKRDY pollen soll? Habe ich zwar übersehen, aber die Procyon lib macht das von selbst habe ich gerade gesehen. Den 2k7k Widerstand probier ich dann mal aus wenn ich einen finde :-) Zu den Checksummen(Seite 76) - sehe ich das richtig dass der Enc den Wert zwar berechnen kann, ihn aber nicht selbst in das Packet schreibt? "The EDMACSH and EDMACSL registers will contain the calculated checksum" Dann muss man dann ja doch noch einen gewissen Aufwand treiben damit die an den rechten Ort kommt, bin mir nicht sicher ob es mir das Wert ist nur um die Sache ein bisschen schneller zu kriegen. >Wenn dus ordentlich machen willst, schaue nicht bei Ulrich Radig >ab, da sind unschoene Dinge drin... Natürlich will ich es ordentlich machen, aber den Bootloader möchte ich so klein wie möglich haben, damit er vielleicht auch noch in eine 2kb section reinpasst (im moment noch 4kb, funktioniert aber tadellos) Das einzige das mich daran hindert, den Code für den Bootloader auf meine Website zu stellen ist, dass ich auf der anderen Seite ein VisualBasic Programm habe, es funktioniert zwar ebenfalls wie gewünscht, man braucht aber eine Runtime und Winsock und und und... Hab mich schon an winsock in C (lcc compiler) ran gewagt, aber dort habe ich den Durckblick noch nicht wirklich. Nik
Hi Nik, das ist richtig, die Checksumme landet dann in den beiden Registern. Zum ueberpruefen, ob die Checksum korrekt ist oder nicht langts allemal, und das noch in ein Paket reinzuschreiben ist trivial, weil das Offset ja immer konstant ist. Ich wage zu behaupten, dass das bei mir kuerzer ist :) Die Magjack-Dose hab ich auch durch Bohren der groesseren Loecher und durch Rumbiegen der kleineren auf die Lochrasterkarte bekommen... - Alex
Hi! Tatsache, der enc kann ja echt selber nen crc berechnen :o Hab ich irgendwie überlesen... Das vereinfacht das natürlich enorm/macht es schneller... Muss ich demnächst mal einbauen :D Bye, Simon
Hi Simon, Du machst _CRC32_ (die Ethernet Checksum) im Atmel?! Huch, weia, das ist echt gross. Oder meintest du die Einerkomplementsumme? %) Haettest du mir mal den Source geschickt, dann haett ich dir das schon frueher gesagt G - Alex
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.