Code Monkey home page Code Monkey logo

ros_alarms's People

Contributors

dssoto avatar kev-the-dev avatar mattlangford avatar sentree avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ros_alarms's Issues

C++ tests

There are not unit tests for the C++ library

Add exists service

Alarm server should have an exists() service, so that only queries for alarms that exist will be valid.
At startup, a client node could check if the alarm exists, and only if it does, create an AlarmListener for it.

An alarm would exist only if it has been declared to the server, regardless of whether it is cleared or raised.

PRETTY PRINT

We should be able to pretty-print an alarm object. (alarm, status, severity, node_name, problem, json params).

Text Effects maybe? cough, cough, @mattlangford

ALARM SERVER: publish alarm update before calling callback

We noticed in testing SubjuGator that some alarms can take several seconds to raise. One reason is that the alarm server calls raise/clear callbacks registered in alarm handlers before publishing the update to the rest of the nodes connected. If this callback takes a while (such as calling a service / writing to files), this can create a significant delay in when vital nodes are notified of the change. These callbacks should either be executed async or after the update is published.

Alarm handlers should set initial state of alarm

Alarm handlers should include a method that set's the initial state of that alarm.

Some alarm handlers, for example, in the case of SubjuGator, thruster-out, expect the alarm to have a certain set of parameters ('offline_thruster_names' in this case).

If the handler itself sets up the invariant it expects, the raise and clear functions won't have to deal with the special case of a blank alarm.

Create rviz/rqt plugin(s)

It would be nice to have an included plugin for rviz/rqt which would display active alarms, create buttons to toggle alarms, etc

Feature request, obviously (don't think I'm allowed to add tags)

Add tab completion

Mainly for raise, clear, and report.

Tab completing those alarms with the data in the param /known_alarms

Input Validation

It would be nice if the alarm server rejected certain types of alarm names so that simple mistakes are easier to catch. For example, the empty string, possibly strings with whitespace or non-standard characters, etc.

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.