* Much work on set flags
* Little more work on flags
* Get UTs passing
* Defaults for flags
* Add uts for set flag
* Switch from bitfield to boolean array
* fix ut
* more work on flag system
* Add some uts
* Add getflag dir
* format
* Update docs
* sp
* Remove update on change from bool tlm
* pr feedback
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* Remove debug prefix from breakpoint commands, start working on line by line step
* Actually add teh step cmd, some uts, update docs
* Fix step ut
* Split up tlm chans, add more for breakpoint stuff
* format
* Remove update on change from bool telemetry channels
* Switch everything that references stack size or offset to U32
* Add dir err tlm
* Rename tlm point to be consistent
* Update state tlm type to enumstoretype
* Make new Fpy::StackSizeType alias
* Add explanation for why we chose U32
* Fix one more static cast
* Bump schema vers to 2
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* Some work towards stack based arch
* Bring fp/int conv up to date
* Get compiling with stack based arch
* Start trying to fix UTs
* Start adding store/load dirs
* Add push val dir
* UTs are running
* UTs passing
* Make exit stack based
* Fix more uts
* Fix final UTs
* sp
* Fix overflow potential err
* Fix another overflow
* same error fix
* Format
* Also add to format checker
* Add math directives
* Add integer extension and truncation
* Also check correct size on stack
* Fix comment
* Push cmd response to stack
* Cast cmd response code to i32
* Add stack cmd, memcmp, discard dirs
* Fix some bugs with stack cmd
* Fix lil bug in sgtack cmd
* same bug
* Fix another bug sry
* Update sdd
* sp
* Fix undefined behavior with bitshift of signed integer
* sp
* Fix lil bug in timeout detection of stack cmd
* Switch format check to do all Svc dirs
* Reformat, and fix packet descriptor serialize bug
* Add UTs for all of arith ops
* Add tests for disc, memcmp, stack cmd
* Add deser tests for those three dirs
* sp
* Format
* Replace magic numbers with sizeofs
* Add currentStatementIdx helper function
* Format
* Split imod into smod and umod
* sp
* Add fmod, copy python behavior for fmod and smod
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* Some work towards stack based arch
* Bring fp/int conv up to date
* Get compiling with stack based arch
* Start trying to fix UTs
* Start adding store/load dirs
* Add push val dir
* UTs are running
* UTs passing
* Make exit stack based
* Fix more uts
* Fix final UTs
* sp
* Fix overflow potential err
* Fix another overflow
* same error fix
* Update sdd
* sp
* Fix undefined behavior with bitshift of signed integer
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
* Add fptoi and itofp dirs
* Fix F32 literal
* Add some file read stage telemetry to err msgs
* Update default register count to 128
* Fix NOT directive to behave properly with if
* Make fptoi and itofp signed/unsigned
* fix warning
* Fix another warning
* Fix sp
* Add fpext, fptrunc, combine with not into unary op, tests pass
* Some UTs, switch to using memcpy
* Add UTs for all binary and unary ops
* Some more UTs
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Add a little work on fp cmps
* Lil more work on fp cmp
* Finish flt stuff, add UT
* sp
* Much cleaner binary cmps
* Add final UTs
* sp
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Start combining dirs and cmd
* Much closer to combining dir and cmd
* Finish making cmds work
* Add directive error codes, fix UT
* Add deser lvar directive
* Add comparison operators
* Add unsigned/signed inequality ops
* Rename store to setreg
* First UT with a binary comparison op!
* Remove printfs
* Doc commnt
* Add and/not, and/or under binary cmp
* Fix a couple bugs in sequencer
* Add exit directive'
* Make exit actually end sequence if positive
* A little more work on UTS
* Fix UTs
* Add deser lvar UT
* Add exit, not, set reg, and binary cmp UTs
* Rename lvar to sreg
* Get the last few old refs to lvar
* sp
* Fix typo
* Fix typo
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* PRIVATE->private and PROTECTED->protected updates in Svc/FpySequencer
* Clean up new UT public/private helpers
* sp
---------
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Add goto, if, setlocalvar, and debugging
* Finish off debug stuff, add more UTs, start work on UT seq builder
* Some more work on UTs
* Finish UTing RunState
* Much more UT of validation
* Test allocbuff
* Add a couple more Uts
* Some formatting and more UT coverage
* Fix docstirng
* Fix rpi conversion bug
* Fix mac warning
* Fix sp
* sp
* Update some docs
* Switch to using fixtures
* Add gettlmval and gettlmtime
* Update docstrings of getprm/gettlm ports
* Add TlmGet port to tlmpacketizer
* Add get_prm_val
* Fix tlmchan gettlm
* Combine tlmval and time into one
* Update tlm packetizer with TlmValid
* Update tlm chan with TlmValid
* PR feedback
* Fix rpi build
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>
Co-authored-by: M Starch <LeStarch@googlemail.com>
* Add initiali fpy sequencer
* Get ready to use internal state machines
* Start modeling state machine in fpp
* Little more work on fpy sequencer
* Little more drafting on fpy sequencer
* State machine review with bocchino
* Remove unnecessary sm stuff
* Update docstgrings
* Start implementing actions for SM
* Little more work on fpy seq
* Get compiling again, rework how errors are handled, start actually reading header from disk
* Much more work on getting the state machine up and working
* Little more work
* More changes to SM. Mostly combine validation into one state
* A little more work on the readXYZ funcs
* Start working on the actual runtime!
* Little more work on sending out cmds
* Some work on handling statement results
* Get waits working hopefully. Also refactor cmd signals and responses
* remove the two states for cmd vs directive
* Some progress in converting to fprime types
* Get seq compiling with new fprime types
* refactor validation a little
* Fix final bugs with seq parsing. First seq rangits add to ref
* Add StatementARgBuf
* Add some tlm, get wait directives working
* Check timebase/ctx, increase allocated size
* Some fixes for removing NATIVE_X
* use handlestmt result
* Fix some types, clean up some errors, add tlm
* Move more stuff to RUN state
* Start pulling seq dirs into internal ports
* Use internal interfaces for directives
* Add timeout to dispatcher
* Fix a lil bug with seq too large
* Sequencer working! Passing all int tests
* Add seq path tlm, timeout, return signals in directives
* Fix several pr feedback items
* More pr feedback
* More fixes from PR feedback
* Remove printf
* Add basic unit tests
* Respond to more feedback
* Do most feedback from comments
* Little more event fixes, add more docs
* Some work on proper cmd response off nominal behavior
* Add all events and conditions to cmdresponsein
* Small fix to unexpected cmd repsonse, remove from ref
* Fix some small compiler warnings
* Fix one more warning
* Fix a comment
* spelling
* Remove unused types from test
* Cast assert arg
---------
Co-authored-by: Zimri Leisher <zimri.leisher@fireflyspace.com>