BC9000 - ShadowJonathan/ByteCart GitHub Wiki

Abstract

The BC9000 is a sign to manage anticollision system in intersection. It does not have routing layer and does not read destination address, making it usable in any rail circuit, not necessarily a ByteCart network.

It must be associated with another BC9000 sign.

Function

This sign is placed on a branch that joins the main ring across an intersection, and is associated with another BC9000 on the main branch.

What BC9000 does is to synchronize its own lever with the lever of the associated BC9000, giving 2 possible positions : ON-OFF or OFF-ON. Moreover the position can switch only if there is no risk to break a train.

Giving this rule, the preferred strategy of BC9000 is to switch off its own lever, giving OFF-ON whenever possible, providing that no train will be broken during operation.

On both sides, if preferred strategy can't be satisfied in order to avoid collision, one of the track will be deviated to alternate path.

Usage

BC9000 signs can manage an intersection, and is compatible with trains.

A standard collision point (2 tracks become 1) can be managed entirely with 2 BC9000 working together in a ByteCart-unaware network.

Syntax

Line #1 : Free

Line #2 : [BC9000]

Line #3 : Free

Line #4 : Free

Example

The issue is to manage an intersection. We put some BC9000 signs under the wood blocks, with text facing the direction where the carts are coming from: intersection

Carts must have an escape track that will be used when intersection is taken by another cart: on the main ring the escape procedure will be to turn left in the subring, and on the branch it will be to make a U-turn. The whole construction must form a 3x3 square.

When a cart comes from the left it powers off the lever. Carts coming from downward (if any) will be deviated. intersection

When a cart comes from downward it powers off the lever. Carts coming from the left (if any) will be deviated. intersection

The deviation track must loop. A router can do the job. intersection