Rob Bocchino 53b2dcd0c9 FPP Types and Ports (#727)
* Revise command response port

Replace inline enum with XML enum type
Generate XML from FPP
Revise uses to match

* Revise xml-gen script

* Revise event ports

Replace inline enums with external enums

* Add missing files

* Revise ActiveLogger

* Revise text log port

* Revise text log port

Replace inline enum with external LogSeverity enum
Now Log and TextLog share the same enum for severity

* Revise Fw/Prm

* Revise uses of Fw/Prm

* Revise Fw/Cmd model

* Revise Fw/Cmd build

* Revise build for Fw/Cmd

* Refactor Fw/Log model

* Refactor build for Fw/Prm

* Revise build scripts

Remove workarounds after compiler fix

* Revise model

Revise build scripts
Regerate XML

* Revise FPP model in Fw

* Add gen-xml

* Add metadata files

* Add redo scripts

* Remove gen-xml scripts

* Revise redo scripts

* Revise redo scripts

* Add redo scripts

* Add FPP model for Fw/Com

* Add FPP model for Fw/Time

* Revise redo scripts

* Add FPP model for Fw/Tlm

* Revise redo scripts

* Revise redo scripts

* Revise redo scripts, gitignore

* Remove unused file

* Revise redo scripts

* Add FPP.adoc

* Add FPP model for Svc/Cycle

* Revise defs.fpp and build rules

* Revise do files

Rename fpp-defs to defs

* Update redo scripts

* Revise redo scripts

* Fix build rules

* Add FPP model for Svc/Sched

* Revise update script

* Rename defs.fpp --> locs.fpp

* Revise build scripts

* Revise Svc.Cycle model

Make TimerVal argument by value, not by reference

This is required for compliance with FPP semantics, because
Svc.Cycle is used in async input ports

* Revert "Revise Svc.Cycle model"

This reverts commit a31c12f1c0a9639da818d79da4f7ddd036c0b3d8.

Under the revised semantics of FPP, this change is not necessary.

* Revise Fw/Types build

Add missing file

* Revise FatalHandler

Abort with SIGABRT, not SIGSEGV

* Add FPP model for Ping port

* Revise GDS launcher

Make the HTML server port configurable
Interpret -g 5001 as "Run the HTML GUI at port 5001"

* Fix bug in XML array parser

* Revise build scripts

* Revise build script

* Fix merge errors

* Fix merge errors

* Fix redo scripts

* redo not overwriting Svc/FileDownlink .xml files

* Remove redo database

* Revise .gitignore

* Revise FileDownlink FPP model

* pre redo all in Drv/ByteStreamDriveModel

* Revisited SignalPair to run redo all

* redo all in Ref/SignalGen

* Saving before running redo all

* /Svc/Watchdog pre redo all

* All Svc Enums etc. done minus /Svc/PolyIf and /Svc/WatchDog

* Forgot to add /Seq/Seq.fpp on last commit

* Created Type.fpp, ran redo xml in /Svc/Seq

* /Svc/PolyIf pre redo all

* /Svc/PolyIf returning .hpp error on fprime-util build

* Svc ports etc. complete

* Svc/ActiveLogger pre redo

* /Svc/PolyDb pre redo

* /Svc/ActiveTextLogger pre-redo

* /Svc/ActiveTextLogger post redo

* Svc/ComSplitter pre redo

* Svc/ComSplitter post redo

* /Svc/Deframer pre redo

* Svc/Deframer post redo

* /Svc/FatalHandler pre redo

* /Svc/FatalHandler post redo

* /Svc/Framer pre redo

* /Svc/FramerComponentAi post redo

* /Svc/LinuxTimer pre redo

* post redo for /Svc/LinuxTimer /Svc/PolyDb

* /Svc/Time pre redo

* /Svc/Time post redo

* /Svc/TlmChan pre redo

* /Svc/TlmChan post redo

* Remove files deleted from mainline

* Revert change to Fatal Handler

* Rename CommandResponse to CmdResponse

* Revert name of enum constant

* updated Fw/types.fpp

* Added ActiveRateGroupOutputPorts to Fpconfig.fpp, Svc/ActiveRateGroup pre redo

* /Svc/ActiveRateGroup component finished

* Revise build scripts

* Revise Ref redo build

Make it into a separate project

* Revise fpp build

* Revise fpp build

* Revise ActiveRateGroup

Put AcConstants variable back in for now

* Revise FPP model

* Revise fpp model

Add AcConstants.fpp

* Remove local setup scripts

* Fix spelling in comment

* Revise spell check

Co-authored-by: jweadick <joshua.m.weadick@jpl.nasa.gov>
2021-06-25 18:14:29 -07:00
..
2021-06-25 18:14:29 -07:00
2021-06-09 08:44:46 -07:00
2021-06-09 08:44:46 -07:00
2021-06-01 20:38:33 -07:00
2021-06-01 20:38:33 -07:00
2021-06-09 08:44:46 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-01 20:38:33 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-09 08:44:46 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00
2021-06-25 18:14:29 -07:00

Setup with Cmake

To run unit tests in Autocoders/Python/test, you must use the cmake system. In the top level fprime-sw directory, create an out-of-source build directory with 'mkdir build_test'. This test assumes that you are creating this specific directory name in this specific location. Within this directory, run 'cmake ../ -DCMAKE_BUILD_TYPE=TESTING'. This builds all of the tests. Pytest tests are currently commented out in Autocoders/Python/test/CMakeList.txt, and you must uncomment them in order for them to build, although they use standard out and cannot be run fully from the cmake system. These tests depend on 3 environment variables: BUILD_ROOT, FPRIME_FRAMEWORK_PATH (usually same as build root), and PYTHONPATH (should point to Autocoders/Python/src).

Running Pytest Tests

Uncomment the pytest directory from Autocoders/Python/test. Run 'make check' within your build test directory. This will hang once it finishes building your pytest and tries to run it. Break out (you've already built the test executable and that is all you need), and then return to Autocoders/Python/test and run pytest.

Running Remaining Tests

Uncomment all the pytest directories from Autocoders/Python/test and then run 'make check' within your build test directory.