GithubHelp home page GithubHelp logo

nasa / tvsio Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 1.15 MB

Trick Variable Server Input Output is a Core Flight Software app that can transfer data to and from Trick simulations

License: Other

CMake 0.88% Makefile 1.59% C 93.39% Shell 0.01% Python 4.13%
tvsio cfs sbn trick

tvsio's People

Contributors

alexlin0 avatar jwpetti1 avatar prkunz avatar tfleming-osr avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

ralphhightower

tvsio's Issues

Cleanup compiler warnings

Enable -Wall -Wextra then cleanup compiler warnings, refer to the multi sim test branch in tvsio_cfs to see the warnings

TVSIO_app multi sim support

Need to be able to support multiple trick sim connections, most of the development is planned to take place in the tvsio_cfs super project, pushing to this branch in the tvsio submodule

Make TVMC cause all compiling to halt if there is a problem with generating code

A user noted that they had a significant problem with getting communications to work. The cause ended up being due to failure to fully parse a TVM file because of broken JSON formatting. The error/warning messages from TVMC were buried by the sheer volume of output from other compilation.

If TVMC can cause compilation to break, then this scenario will prevented in the future.

Socket file descriptor leak

A new socket is opened every time ConnectToTrickVariableServer is called.

If connect fails in that function, the socket remains open and a new one will be created on the next call.

Update/Improve child tasking

The child task ReceiveTaskRun() should be calling CFE_Status_t CFE_ES_RegisterChildTask(void) at startup and void CFE_ES_ExitChildTask(void) at termination.

Once registered, this should allow removal of "TVS_IO" from the prints in the child task

Determine if mybogusfile.h in CMakeLists.txt is really necessary

the CMakeLists.txt file has the following comment:

# had to add "mybogusfile.h" which is never generated so the custom target above would always force this command to run

I suspect this isn't really necessary and can be avoided by tweaking the custom command and target.

Improve handling of missing variables

The current behavior is typically a segfault :face_palm:

There are two things we can do better:

  1. Detect the missing variable response when unpacking messages from sim: "The message returned for the non-existent variable will have a type of 24 and it's value will be the string 'BAD_REF'."
  2. Ask Trick if variables exist using the var_exists command

I think we'll want to do both, since the latter will be the only way to check if variables used in commands exist.

When a variable is missing, the easiest response is to exit the app.

However we could do better and just turn off individual messages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.