[Oberon] FPGA - System Clock advance
Jörg Straube
joerg.straube at iaeth.ch
Wed Mar 20 15:54:39 CET 2019
If you look at a typical handler, it looks like this:
CASE M OF
| Oberon.InputMsg:
IF M.id = Oberon.track THEN Edit(...) ELSIF M.id = Oberon.consume THEN Write(...) END
| Oberon.ControlMsg:
IF M.id = Oberon.defocus THEN Defocus(F) ELSIF M.id = Oberon.neutralize THEN Neutralize(F) END
| Oberon.SelectionMsg: GetSelection(...)
| Oberon.CopyMsg: Copy(F, F1)
| MenuViewers.ModifyMsg: Modify(...)
| CopyOverMsg: CopyOver(...)
| UpdateMsg: Update(...)
END;
Assume you would like to add a new module RealTimeFrames.Mod you could indeed declare a new message type like so
TYPE
TimerMsg = RECORD (Display.FrameMsg) END
and catch it in your handler
...
| UpdateMsg: Update(...)
| TimerMsg: UpdateTrend(..)
END;
Obviously you would also need some additional code to generate these messages.
Seeing all this effort, I could imagine, that installing UpdateTrend() in the Oberon loop is much simpler.
br
Jörg
> Am 20.03.2019 um 13:33 schrieb Tomas Kral <thomas.kral at email.cz>:
>
> On Wed, 20 Mar 2019 12:48:02 +0100
> Tomas Kral <thomas.kral at email.cz> wrote:
>
>> Imagine situation, with real time data input, and graph trending,
>> with reasonable update on [EDIT] second basis.
>
> I can also think of, that each trend, or graph, installs its own update
> task or share a common task in a pool.
>
> Cannot tell what is preferred way of doing that.
>
> --
> Tomas Kral <thomas.kral at email.cz>
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20190320/0d522625/attachment.html>
More information about the Oberon
mailing list