Added log file rotation support via new options keep copies and cycle term
to logger declaration
Changed default logger base prefix directory to be in users home folder
~/.ioflo/log/
Breaking changes to FloScript syntax for Log and Loggee. This allows for more
flexible specification of fields to be logged. The defualt shorthand is now
more compact to write. Also supports logging of dicts stored in a Share's deck
deque. there are three forms based on the log rule
log test on (once, never, always, update, change)
loggee source [as tag] [source [as tag]] ...
source:
[(value, fields) in] (path, dotpath)
log test on streak
loggee [(value, fields) in] (path, dotpath) [as tag]
log test on deck
loggee fields in (path, dotpath) [as tag]
Removed FIFO and LIFO log rules and replaced with streak log rule which is fifo.
Fixed log so does not store last values unles rule on change is used
Fixed log so that only the fields present in share when log prepare (during startup)
is called are logged by default. This prevents inadvertent additon of fields to share
from messing up log columns
Added syntax to FloScript for setting field values to namedtuple Point type classes.
6 classes supported for three 2D and three 3D for the XY, XYZ, NE, NED, FS, and
FSB coordinate systems. Syntax is to include letters with the axis as in
10x5y3z
Added "aft" connective to is updated need so can change the comparison to > instead
of default >=
Added aid.quaternioning module with some simple quaternion operations
Added aid.vectoring module with some simple operations on vectors:
mag, mag2, norm, dot
Some refactoring of aid.navigating module
Made some breaking changes to the Need Floscript syntax. This code was getting
cumbersome and difficult to augment/enhance so needed refinement in the syntax
This may break some floscripts. Hopefully this will solidify the syntax going
forward and allow for easier enhancement of new needs
Added 're' as connective 're' means about or in regard or in reference to
Used for framer state and frame goal references in Needs and 'set' verb we
we can disambiguate
Expanded use of 'is' as a connective to also be a comparison like connective
Added it to reserved connectives list (bug not to be there already)
Conditionals (Need) are used in the following verbs
go target [if conditional [and conditional ...]]
let target [if conditional [and conditional ...]]
aux target [if conditional [and conditional ...]]
Old Syntax:
always
done tasker
done (any, all) [in frame [(me, framename)][of framer [(me, framername)]]]
status (me, tasker) is (readied, started, running, stopped, aborted)
update [in frame (me, framename)] indirect
change [in frame (me, framename)] indirect
elapsed comparison framergoal [+- tolerance]
recurred comparison framergoal [+- tolerance]
state [comparison goal [+- tolerance]]
[(value, field) in] indirect [comparison goal [+- tolerance]]
New Syntax:
state [comparison goal [+- tolerance]]
(elapsed, recurred) [re [me]] comparison framergoal
[+- tolerance]
indirect is (updated, changed) [in frame (me, framename)]
tasker is done
(auxname, any, all)
[in frame [(me, framename)]
[in framer [(me,framername)]]] is done
(me, tasker) is (readied, started, running, stopped, aborted)
state:
[(value, field) in] indirect
goal:
value
[(value, field) in] indirect
comparison:
(==, !=, <, <=, >=, >)
tolerance:
number (the absolute value is used)
framergoal:
goal
value
[(value, field) in] indirect
--------
20160528
--------