strongback / strongback-java

A library for FIRST Robotics Competition robots that makes it easier to write and test your robot code.
MIT License
41 stars 38 forks source link

Control System Fault tracking #31

Open xortive opened 9 years ago

xortive commented 9 years ago

Control system components that communicate over CAN such as the PDB, PCM, TalonSRX/Jaguar all have faults and sticky faults. There is no central polling mechanism implemented by WPILib, so we should use EventRecorder in each component to track faults.

rhauch commented 9 years ago

We probably want to make recording these faults optional, since the extra logic to poll all of these faults will end up being not trivial, and people may want to turn them off if they can be accessed elsewhere.

rhauch commented 9 years ago

The PneumaticsModule interface already defines a pattern for named faults, how they are sticky, and how the sticky faults are cleared. Other components will have different types of faults, but hopefully we can reuse the same pattern.

xortive commented 9 years ago

The idea of an actual hasFaults interface seems useful to me... you don't have to remember that PneumaticModule uses compressorFaults(), you have a common interface and you just can call faults() and stickyFaults() on any class that implements hasFaults

I'll take a look at this sometime this week, but tonight and tomorrow I'm swamped with homework.

xortive commented 9 years ago

@rhauch Can you assign this issue to me? I don't have privileges to do so.

rhauch commented 9 years ago

@granjef3, it is now assigned to you. Thanks!

xortive commented 9 years ago

@rhauch Just curious, how do you setup your workspace in eclipse for strongback development? should each folder like strongback, strongback-tests be separate projects in eclipse?

The way I did it, I created a blank .project in the strongback-java folder (same level as build-common.xml) and imported that into eclipse.

rhauch commented 9 years ago

@granjef3, well, I just create a new workspace in the strongback-java directory, and then import the existing projects. Also, the ide-config folder contains some Java templates, formatter, and cleanup preferences that you can import to help standardize the auto-formatting in Eclipse.

rhauch commented 9 years ago

@granjef3, any progress on this issue? If you have code that is not done, you can still create a pull-request and just denote in the PR description that it's incomplete.

xortive commented 9 years ago

I've been busy with my birthday celebrations. I will try to work on the code this week, sorry about the delay.

Sent from my iPhone

On Nov 15, 2015, at 3:53 PM, Randall Hauch notifications@github.com wrote:

@granjef3, any progress on this issue? If you have code that is not done, you can still create a pull-request and just denote in the PR description that it's incomplete.

— Reply to this email directly or view it on GitHub.

rhauch commented 9 years ago

@granjef3, well Happy Birthday! We'd like to release 1.1.0 later this week, after #40 (expose PID control for Talon SRX) is done.