A little demo on a next new feature

Place your projects here
Helmut_number_one
Posts: 193
Joined: Fri Dec 09, 2022 10:03 am
Location: Flensburg Deutschland
Has thanked: 147 times
Been thanked: 29 times

Re: A little demo on a next new feature

Post by Helmut_number_one »

I have to wait for a new SD card holder, contacts got too hot while soldering......
Is your board available from JLB board shippers or as a Gerber file?

By the way is it possible to use Annex with WT32-ETH01 LAN Interface?
User avatar
cicciocb
Site Admin
Posts: 3040
Joined: Mon Feb 03, 2020 1:15 pm
Location: Toulouse
Has thanked: 624 times
Been thanked: 2175 times
Contact:

Re: A little demo on a next new feature

Post by cicciocb »

[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]Thu Jun 06, 2024 7:09 am I have to wait for a new SD card holder, contacts got too hot while soldering......
Is your board available from JLB board shippers or as a Gerber file?
The board is available as a JLPCB project (and also as a Gerber file).
I can share the link or put the gerber file here if you want.
I have also many spare boards, maybe I can send you one :D

The board is based on SMD components, but It could be redeveloped using traditional components.
Even if it seems paradoxal, I found faster to assemble the boards with SMD than using traditional components.
[Local Link Removed for Guests] wrote: [Local Link Removed for Guests]Thu Jun 06, 2024 7:09 am By the way is it possible to use Annex with WT32-ETH01 LAN Interface?
No, this module is not supported.
However, you can use the W5500 module to achieve the same objective.
[Local Link Removed for Guests]
Michel Alexander
Posts: 43
Joined: Sun Aug 15, 2021 5:23 pm
Has thanked: 34 times
Been thanked: 12 times

Re: A little demo on a next new feature

Post by Michel Alexander »

Hallo,
ich teste folgendes Programm.
Das Programm bricht nach kurzer Zeit immer wieder ab und das Display wird dunkel.
es hat auch den Anschein das beim Starten nicht immer das Display richtig initialisiert wird.
Das Programm läuft Wlog wird ausgegeben aber das Diplay wird Dunkel.

Mein Versuch:
Die Programmteile einzeln laufen zu lassen.
Lasse ich den Programmteil ohne die Abfrage laufen, läuft es ohne abzubrechen.
Lasse ich nur den Teil der Abfrage laufen, läuft es ohne abzubrechen.

Vielen Dank im voruas

'****************************
'* HUB75_01.BAS
'*
'DMAMATRIX.INIT R1, G1, B1, R2, G2, B2, A, B, C, D, E, LAT, OE, CLK
R1 = 4 : G1 = 5 : B1 = 6 : R2 = 7 : G2 = 15 : B2 = 16 : OE = 2
A = 18 : B = 8 : c = 3 : D = 42 : E = 39 : LAT = 40 : CLK = 41
Wert = 1 : intemp$ = "--" : austemp$ = "--" : HH$ = "--" : KW$ ="--"

ONWGETASYNC Antwort ' Daten holen

Dmamatrix.delete

DMAMATRIX.INIT R1, G1, B1, R2, G2, B2, A, B, C, D, E, LAT, OE, CLK

DMAMATRIX.SETUP 1,1

dmamatrix.fill 0
dmaMatrix.show 0, 0

for r = 1 to 100
x=rnd(128):y=rnd(128):dmamatrix.circle x,y,10,rnd(65535),1:cnt=cnt+1
dmaMatrix.show 0, 0
next r

DMAMATRIX.TEXT.FONT 12

DMAMATRIX.FILL 0

do

dmamatrix.fill 0,2,2,61,61
DMAMATRIX.TEXT.POS 5,10
DMAMATRIX.TEXT.BRIGHTNESS 20
DMAMATRIX.RECT 0,0 , 64, 64, green
DMAMATRIX.PRINT "Innen " +intemp$ , "R"

DMAMATRIX.TEXT.POS 5,20
DMAMATRIX.PRINT "Aussen " +austemp$ , "G"

DMAMATRIX.TEXT.POS 2,30
DMAMATRIX.PRINT "H " + HH$ +" " + KW$ ,"W"
DMAMATRIX.TEXT.POS 10,40
Datum$ = Replace$(Date$,"/",".")
DMAMATRIX.PRINT Datum$,"R"

DMAMATRIX.TEXT.POS 10,50
DMAMATRIX.PRINT Time$,"O"

DMAMATRIX.TEXT.POS 03,60
DMAMATRIX.PRINT word$(IP$,1)

DMAMATRIX.SHOW 0,0
Pause 500
dmamatrix.fill 0,2,42,61,10


select case wert
case 1
destination$ ="http://192.168.5.84:8093/v1/command/get ... HZ.DHT.Tem"

case 2
destination$ ="http://192.168.5.84:8093/v1/command/get ... eiz_aussen"

case 3
destination$ ="http://192.168.5.84:8093/v1/command/get ... er.Hamburg"

case 4
destination$ ="http://192.168.5.84:8093/v1/command/get ... enderwoche"
end select

WGETASYNC(destination$,443)



loop


Antwort: ' Daten Auswertung
wlog "1 Antwort 1"
WebJSON$ = WGETRESULT$

if JSON$(WebJSON$, "val") = "not found"
wlog time$,destination$
wert = wert + 1
if wert > 4 then
wert = 1
endif

return

endif
wlog "2 Antwort Kontrolle anfrage OK"
'Wlog "3 Start Case"
select case wert
case 1
intemp$ = JSON$(WebJSON$, "val")

case 2
austemp$ = JSON$(WebJSON$, "val")

case 3
HH$ = JSON$(WebJSON$, "val")

case 4
KW$ = JSON$(WebJSON$, "val")

end select
Wlog "3 Ende Case"
wert = wert + 1
if wert > 4 then
wert = 1

endif

Wlog time$,"Innen",intemp$,"Aussen",austemp$,"Wasserstand Hamburg",hh$,"Kalenderwoche",KW$
Return
User avatar
PeterN
Posts: 767
Joined: Mon Feb 08, 2021 7:56 pm
Location: Krefeld, Germany
Has thanked: 352 times
Been thanked: 431 times
Contact:

Re: A little demo on a next new feature

Post by PeterN »

Hi Michel Alexander,

Der Code ist linear programmiert und läßt dem Interpreter wenig Zeit sich um Hintergrundprozesse zu kümmern. Die Abrufe der Fern-Sensoren erfolgen asynchron, ihr Ergebnis kann also irgendwann eintreffen, und muss dann zuverlässig verarbeitet werden.
Ich würde zunächst
- die Hauptschleife nicht mit DO…LOOP realisieren, sondern als Unterprogram von einem Timer alle 0.5 (oder besser 2) Sekunden aufrufen lassen.
- das PAUSE Kommando weglassen
- Dem timer-Kommando muss dann jedoch unbedingt auch das kommando WAIT und END folgen. Damit kann dann auch die Hintergrundaktivität für WGETASYNC initialisiert werden.
- im Unterprogramm ANTWORT mit IF … THEN … ELSE … ENDIF arbeiten und nur ein RETURN benutzen
Das nur ganz grob in schneller erster Durchsicht.

————————————

The code is programmed linearly and leaves the interpreter little time to take care of background processes. The calls from the remote sensors are asynchronous, so their result may arrive at some point and must then be processed reliably.
I would first
- not implement the main loop with DO...LOOP, but have it called as a subprogram by a timer every 0.5 (or better 2) seconds.
- omit the PAUSE command
- However, the timer command must be followed by the WAIT and END commands. The background activity for WGETASYNC can then also be initialized.
- In the ANSWER subroutine, work with IF ... THEN ... ELSE ... ENDIF and only use one RETURN


This is just a very rough first overview.

Good luck!
Viel Erfolg!

Peter



EDIT: Forgot to mention that there seems to be a missing THEN in the subroutine ANTWORT:
Michel Alexander
Posts: 43
Joined: Sun Aug 15, 2021 5:23 pm
Has thanked: 34 times
Been thanked: 12 times

Re: A little demo on a next new feature

Post by Michel Alexander »

Hallo Peter,
im habe den Code geändert:

timer0 1000, Anzeige ' erneuern der Anzeige
timer1 9999, Daten ' Daten abholen
wait
End

So ist es jetzt über Nacht durchgelaufen. Vielen Dank für deine Anregung.

Ich habe aber trotzdem noch festgestellt das beim Start das Display nicht immer richtig initialisiert wird und Schwarz bleibt.
User avatar
PeterN
Posts: 767
Joined: Mon Feb 08, 2021 7:56 pm
Location: Krefeld, Germany
Has thanked: 352 times
Been thanked: 431 times
Contact:

Re: A little demo on a next new feature

Post by PeterN »

Schön, dass es jetzt besser funktioniert.
Für die ganz spezielle HUB75-Anzeige: Cicciocb kann vielleicht helfen

Glad it's working better for you now.
For the very special HUB75 display: Cicciocb may be able to help
Post Reply