Jump to content

Fader Snapshot


ljmarkus

Recommended Posts

Hallo Markus,

man kann das z.B mit einem Timer realisieren, der alle 5 Sekunden ein Flag setzt (einfach ein Bit in einem freien Register) - Dieser Request sollte dann in USER_Tick() abgefragt werden, ist er gesetzt, loescht man ihn wieder, und sendet den Snapshot. Von der Timer Routine aus sollte man nichts senden, da es sich hierbei um eine Interrupt Routine handelt.

Am einfachsten waere es, wenn Du als Timer den Hook USER_SR_Service_Prepare hernimmst, der wird bereits jede Millisekunde aufgerufen. Hier muesstest Du einen Zaehler einbauen, der bei 5000 anfaengt, und mit jedem Aufruf dekrementiert. Ist der Wert 0 erreicht, wird auf 5000 zurueckgesetzt, und das Request Flag gesetzt.

Beispiel (blind programmiert, nicht ausprobiert):


app_defines.h:
MY_CTR_L EQU 0x070
MY_CTR_H EQU 0x071
MY_REQUEST_FLAG EQU 0x072

main.asm:
USER_SR_Service_Prepare

;; decrement counter
decf MY_CTR_L, F
skpc
decf MY_CTR_H, F

;; ...until it reaches zero
movf MY_CTR_L, W
iorwf MY_CTR_H, W
bnz USER_SR_Service_Prepare_NoReload
USER_SR_Service_Prepare_Reload
        ;; reload counter and request snapshot
movlw LOW(5000)
movwf MY_CTR_L
movlw HIGH(5000)
movwf MY_CTR_H
bsf MY_REQUEST_FLAG, 0
USER_SR_Service_Prepare_NoReload

        ;; old code...

;; branch to the Rx/Tx LED handler

goto MIDI_RXTX_Handler

[/code]

Gruss,

        Thorsten.

Link to comment
Share on other sites

Dieser Request sollte dann in USER_Tick() abgefragt werden, ist er gesetzt, loescht man ihn wieder, und sendet den Snapshot. Von der Timer Routine aus sollte man nichts senden, da es sich hierbei um eine Interrupt Routine handelt.

Gruss,

        Thorsten,

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...