Refactor the air brake code

Registered by Cédric GNIEWEK on 2016-11-22

Currently, all of the parts of the air brake system is mixed in a single block of code called AirSinglePipe, AirTwinPipe, etc. depending on the type of brake system.
The code is highly difficult to maintain. For example, the most important function of AirSinglePipe (the Update function) is really complex because most components of the brake system are updated in this function.

So the brake system has to be separated into different bits of code.

The components that have to be separated are :
- Equalising reservoir
- Brake pipe pressure regulator
- Main pipe pressure regulator
- Triple valve
- Distributor
- Auxiliary reservoir
- Brake cylinder

The AirSinglePipe, AirTwinPipe, etc. classes will only do the propagation of the air in the pipes.

Another important part of the refactoring will be the conversion of the pressure variables to bar.
It's a really old decision (from 2014), that we never had the time to apply.

Discussion: http://www.elvastower.com/forums/index.php?/topic/29263-refactoring-the-air-brake-code/
Roadmap: https://trello.com/c/7oiPyWQy/328-refactor-the-air-brake-code

Blueprint information

Status:
Started
Approver:
James Ross
Priority:
Medium
Drafter:
Cédric GNIEWEK
Direction:
Approved
Assignee:
Cédric GNIEWEK
Definition:
Approved
Series goal:
None
Implementation:
Good progress
Milestone target:
None
Started by
Cédric GNIEWEK on 2016-11-22

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.