Warren,
Thanks for the info, I have the feeling that it was quite hard to come
by.
Gene
> Gene,
> It's not really the dictionary in a callback, just some high ram set aside separately for each callback task with HERE R0 and S0 pointing within it. ( Swiftforth documentation - the ONLY user pointers initialized for callbacks )
> If you don't call FSTACK the 'N0 pointer for the float stack is random - NOT a good situation - and can be zero which gives an access violation.
> FSTACK does call /NDP but you still need to call /NDP to initialize the floating point processor with your float parameter preferences in case you didn't call fstack. Only about 1k of ram is UNUSED for each task, each fstack call uses N*10 bytes of ram above HERE so multiple calls will fill this up quickly and cause a dictionary full error message even though the dictionary doesn't really exist for the callback, it is just the HERE pointer crossing the MEMTOP pointer.
> I was getting dictionary full error messages and started looking for the reason.
> There is only so much ram used by the callback mechanism and it gets used in a manner similar to the old block buffers, over and over again.
> The strange thing is that several callback messages may use the same ram 'simultaneously' and hence the need to see if the 'N0 pointer is ok already.
> Possibly these messages occur in the same callback task thread?
> Of course, if you know all of the messages which will need the float stack, you can just do fstack for them.
> Warren Heath ( wheath at comcast.net )
> -------------- Original message --------------
>
> > Hmm, since the floating point stack is located in the dictionary, and
> > the dictionary space is initialized afresh with every call back, seems
> > to me that the FSTACK call needs to be referenced every time. Or I
> > may be missing something.
> >
> > If you look at the code both /NDP and FSTACK call /FSTACK so the
> > sequence is irrelevant.
> >
> > Gene
> >
>
>
> ----------------------------------------------------------------------
> sftalk_at_forth.com The SwiftForth programming discussion email list
> To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
> For list command help, send subject "help" to sftalk-request_at_forth.com
> Message archives are located at http://www.forth.com/archive/sftalk
> ----------------------------------------------------------------------
> This list is a forum for SwiftForth users. For product support and bug
> reports, please send email to support_at_forth.com
> ----------------------------------------------------------------------
>
>
----------------------------------------------------------------------
sftalk_at_forth.com The SwiftForth programming discussion email list
To unsubscribe, send subject "unsubscribe" to sftalk-request_at_forth.com
For list command help, send subject "help" to sftalk-request_at_forth.com
Message archives are located at http://www.forth.com/archive/sftalk
----------------------------------------------------------------------
This list is a forum for SwiftForth users. For product support and bug
reports, please send email to support_at_forth.com
----------------------------------------------------------------------
Received on Mon May 09 2005 - 07:17:40 PDT
Subscribe to our e-mail list service. It's free for all SwiftForth and SwiftX users!
This archive was generated 08-Feb-2012. Archive updated nightly.