CC3000 webszerver crash

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
kpeter
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2015. január 19. hétfő, 11:20

CC3000 webszerver crash

Hozzászólás Szerző: kpeter »

Helló!

A következő szituban vagyok: arduino uno + CC3000 wifi shield-en próbálok egy egyszerű webszervert összeütni.

A cucc végülis működik, de néhányszáz lekérés után megáll, mint a cövek. Ping továbbra is van rendesen, de már a 80-as port sincs nyitva.

Gondoltam én szúrtam el...

Az egészet visszagöngyölítettem odáig, hogy az eredeti Adafruit CC3000 Library Webserver példáját módosítottam minimálisan, hogy lássam mit csinál, és ugyanezt :(
A módosítás a következő (mellékelve is van):
a setup() előtt (99. sor) definiáltam egy ilyet:
unsigned long series=0;

a 192. sorban megadtam egy új HTTP headert:
client.fastrprintln(F("Refresh: 5"));

és a 200-201. sorban kiírom az oldalra a series-t és növelem:
client.println(series);
series+=1;

Néha 35-nél akad ki, néha 300 fölött.

Gondoltam rá, hogy kerülő megoldásként a httpserver tcp socketet újraindítom, de nem találtam a httpServer.begin() ellentétét. Meg ez se volna túl elegáns :)

Másnál ez a kód jól működik? Hardware hiba lehet? Hogy lehetne ezt kidebugolni?

A tippeket előre is köszi,
peter
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: CC3000 webszerver crash

Hozzászólás Szerző: kapu48 »

Lényeges dolog lenne tudni milyen Arduino lapot használsz?

A hiba jelenségből ítélve valahol elfogy a memória foglalás!
(Tömb vagy verem túlcsordulás?)
kpeter
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2015. január 19. hétfő, 11:20

Re: CC3000 webszerver crash

Hozzászólás Szerző: kpeter »

Szia!

Uno R3 a lap.

A memory leak-re hajaz, de a tesztek alapján azért zárnám ki, mert a program ugyanazt ismételgeti ciklusban, nincs input, ugyanaz az egy böngésző refresheli az oldalt 5 másodpercenként, mégis néha 30 ciklus után kiakad, néha meg 300 után, sőt volt már 500 felett is.
Meg ráadásul "gyári" example memory leak-kel?

De tegnap már találtam valami free ram mérő függvényt, azt be akarom rakni...
kapu48 írta:Lényeges dolog lenne tudni milyen Arduino lapot használsz?

A hiba jelenségből ítélve valahol elfogy a memória foglalás!
(Tömb vagy verem túlcsordulás?)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: CC3000 webszerver crash

Hozzászólás Szerző: Robert »

Mindent jó lenne minél kevesebb függvénybe/eljéáráshívásba rakni.
Memóriafelszabadítás nem mindíg történik meg jól.

De akár a CC3000 firmware is lehet hasfájós. Itt a külső pingre is tesztelnék...
kpeter
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2015. január 19. hétfő, 11:20

Re: CC3000 webszerver crash

Hozzászólás Szerző: kpeter »

Robert írta:Mindent jó lenne minél kevesebb függvénybe/eljéáráshívásba rakni.
Memóriafelszabadítás nem mindíg történik meg jól.

De akár a CC3000 firmware is lehet hasfájós. Itt a külső pingre is tesztelnék...
Köszi a tippet!

Külső pinget mindig nézem, az meg se rezdül: 3-4 ms, nagyritkán valami zavarral, de nem látszik korreláció a crash-sel. És persze utána is pingelődik tovább, hogy a listener bezáródik.
CC3000-ben az utolsó firmware van. Ja és külső tápról megy az egész, mert azt írták, hogy az USB lehet hogy kevés.
A saját alkalmazásomban egy websrv() függvény alatt van minden, a gyáriban meg ahogy mellékelte a gyártó :)
A memóriát hogy érdemes nézni?
Válasz küldése