Difference between revisions of "CityLite"

imported>NelsonJenkins
(Created page with "The CityLite (also known as ShittyLite) is a programmable traffic signal system. ==Setup== # Rez signals and set their signal IDs. ## For Single signals, click each signal, s...")
 
imported>NelsonJenkins
Line 2: Line 2:
  
 
==Setup==
 
==Setup==
 +
# Rez poles.
 
# Rez signals and set their signal IDs.
 
# Rez signals and set their signal IDs.
## For Single signals, click each signal, select Config, and set a signal ID.
+
## For 1-Way signals, click each signal, select Config, and set a signal ID.
### X-Straight and Y-Straight are "regular" signals. X and Y are different roads; X is usually the main road, and Y is the crossroad.
+
### X-Normal and Y-Normal are normal "ball" signals. X and Y are different roads; X is usually the main road, and Y is the crossroad. These are only shown for Normal signals.
### X-Left and Y-Left are protected left turn signals. These are optional. Setting this signal ID will change the texture to a left turn signal texture.
+
### X-Left and Y-Left are protected left turn signals. These are only shown for LeftTurn signals, which are optional and require a change in the _config notecard.
 
### Custom allows you to set a custom signal ID. This is only used for custom-programmed controllers.
 
### Custom allows you to set a custom signal ID. This is only used for custom-programmed controllers.
 
## For 4-Way and 3-Way signals, look at the top of the signal (you should see little X and Y markers). Rotate the signal to your liking.
 
## For 4-Way and 3-Way signals, look at the top of the signal (you should see little X and Y markers). Rotate the signal to your liking.
 +
## All other signals can only be used with custom programming, or are standalone.
 +
# If you want, rez pedestrian signals and set their signal IDs.
 +
## X-Normal and Y-Normal are the two default options, they are the same as the traffic signals.
 
# If you don't want all signals in the region synchronized, or you have different intersection configurations (some have left turn signals, some don't, etc.) you will need to set each signal's intersection. Click it, select Config, select Intersection, and type an intersection ID in. More information on intersections is below.
 
# If you don't want all signals in the region synchronized, or you have different intersection configurations (some have left turn signals, some don't, etc.) you will need to set each signal's intersection. Click it, select Config, select Intersection, and type an intersection ID in. More information on intersections is below.
 
# Rez a controller for each intersection ID (if you didn't set any, just rez one controller - this will control all signals in the region).
 
# Rez a controller for each intersection ID (if you didn't set any, just rez one controller - this will control all signals in the region).
# Edit the _config notecard in the controller. For more information on this, see below.
+
# Edit the _config notecard in the controller. Each setting has a comment with instructions. If you don't know what to do, you can just leave it alone - the system will work automatically with just normal signals out of the box.
 
# The signals should start up once the notecard is finished loading.
 
# The signals should start up once the notecard is finished loading.
  
==Protected Left Turn==
+
==Signal Types==
You can set the signal ID to X-Left or Y-Left to change the signal to a protected left turn signal. (If you're using a custom signal ID and you want a left turn signal, you'll have to set it to X-Left first.)
+
You can set the signal ID to X-Left or Y-Left to change the signal to a protected left turn signal. Protected left turn signals are not enabled by default - they'll just remain red. If you have an X-Left signal, you'll need to set XLEFT to 1 in the controller's _config notecard - similarly, if you have a Y-Left signal, you'll need to set YLEFT to 1. This only works with the default sequence; these settings are ignored if you're using a custom programming sequence.
  
Protected left turn signals are not enabled by default - they'll just remain red. If you have an X-Left signal, you'll need to set XLEFT to 1 in the controller's _config notecard - similarly, if you have a Y-Left signal, you'll need to set YLEFT to 1. This only works with the default sequence; these settings are ignored if you're using a custom programming sequence.
+
CityLite also has many other types of signals.
 +
* 4-Way Signal: These can be used like normal single signals, but work for all 4 directions. Their X and Y directions are hard-coded; just look at the top of the signal to see which direction is which.
 +
* Right Turn Signal: these can only be used if the ''crossing'' direction has a left turn signal - they're "connected" to the crossing traffic's left turn signal.
 +
*
  
 
==Signal Customization==
 
==Signal Customization==
You can customize Single signals by clicking them, selecting Config, and using Tgl Surround or Tgl Mount. These will toggle the surround plate and the hanging mount, respectively.
+
You can customize 1-Way signals by clicking them, selecting Config, and using Tgl Surround or Tgl Mount. These will toggle the surround plate and the hanging mount, respectively.
  
 
==Access Settings & Manual/Override Controls==
 
==Access Settings & Manual/Override Controls==
Line 33: Line 40:
 
*** '''All Yellow''': X and Y flash yellow.
 
*** '''All Yellow''': X and Y flash yellow.
 
*** '''All Off''': X and Y turn off.
 
*** '''All Off''': X and Y turn off.
*** '''Sig X-Straight, Sig Y-Straight, Sig X-Left, Sig Y-Left''': Lets you change the color for all signals with that ID.
+
*** '''Sig X-Normal, Sig Y-Normal, Sig X-Left, Sig Y-Left''': Lets you change the color for all signals with that ID.
 
*** '''Sig X-All, Sig Y-All''': Lets you change the color for all X or all Y signals.
 
*** '''Sig X-All, Sig Y-All''': Lets you change the color for all X or all Y signals.
 
*** '''Sig Custom''': Lets you change the color for all signals with specified custom ID.
 
*** '''Sig Custom''': Lets you change the color for all signals with specified custom ID.
Line 49: Line 56:
 
Remember, intersection IDs are separate from signal IDs.
 
Remember, intersection IDs are separate from signal IDs.
  
All intersections using the same ID should be configured the same way. This means, if you have one intersection with just straight signals, you shouldn't use the same ID for an intersection with straight and left turn signals. One way to fix this is to use the Default ID for intersections with just straight signals, then have a separate controller for intersections with X-Left signaled intersections, then another for Y-Left signals, then another for X-Left and Y-Left signals. (Obviously, if you don't have a certain type, you can not have that controller, but this is just an example.)
+
All intersections using the same ID should be configured the same way. This means, if you have one intersection with just normal signals, you shouldn't use the same ID for an intersection with normal and left turn signals.
  
 
==Custom Programming Sequence==
 
==Custom Programming Sequence==
Line 64: Line 71:
 
Each commands needs to be on a separate line. The _program notecard that comes with the controller has an example which simulates the default settings in the _config notecard. Let's decode it:
 
Each commands needs to be on a separate line. The _program notecard that comes with the controller has an example which simulates the default settings in the _config notecard. Let's decode it:
  
  X-Straight RED
+
  X-Normal RED
 
  X-Left RED
 
  X-Left RED
  Y-Straight RED
+
  Y-Normal RED
 
  Y-Left RED
 
  Y-Left RED
 
Set all signals to red.
 
Set all signals to red.
Line 73: Line 80:
 
Wait 1 second.
 
Wait 1 second.
  
  X-Straight GREEN
+
  X-Normal GREEN
 
  WAIT 10
 
  WAIT 10
Set X-Straight to green and wait 10 seconds. All other signals will remain red.
+
Set X-Normal to green and wait 10 seconds. All other signals will remain red.
  
  X-Straight YELLOW
+
  X-Normal YELLOW
 
  WAIT 3
 
  WAIT 3
Set X-Straight to yellow and wait 3 seconds.
+
Set X-Normal to yellow and wait 3 seconds.
  
  X-Straight RED
+
  X-Normal RED
 
  WAIT 1
 
  WAIT 1
Set X-Straight to red and wait 1 second. This is the ALLRED config setting.
+
Set X-Normal to red and wait 1 second. (This is the ALLRED config setting.)
  
 
And so on, and so forth. Once the notecard reaches the end, it restarts from the beginning.
 
And so on, and so forth. Once the notecard reaches the end, it restarts from the beginning.
  
 
Here's an example of a program that would control an intersection ID with turn signals and an intersection ID without turn signals at the same time (IntTurn and IntNoTurn):
 
Here's an example of a program that would control an intersection ID with turn signals and an intersection ID without turn signals at the same time (IntTurn and IntNoTurn):
  IntTurn X-Straight RED
+
  IntTurn X-Normal RED
 
  IntTurn X-Left RED
 
  IntTurn X-Left RED
  IntTurn Y-Straight RED
+
  IntTurn Y-Normal RED
 
  IntTurn Y-Left RED
 
  IntTurn Y-Left RED
  IntNoTurn X-Straight RED
+
  IntNoTurn X-Normal RED
  IntNoTurn Y-Straight RED
+
  IntNoTurn Y-Normal RED
 
  WAIT 1
 
  WAIT 1
 
  IntTurn X-Left GREEN
 
  IntTurn X-Left GREEN
  IntNoTurn X-Straight GREEN
+
  IntNoTurn X-Normal GREEN
 
  WAIT 4
 
  WAIT 4
 
  IntTurn X-Left YELLOW
 
  IntTurn X-Left YELLOW
Line 102: Line 109:
 
  IntTurn X-Left RED
 
  IntTurn X-Left RED
 
  WAIT 1
 
  WAIT 1
  IntTurn X-Straight GREEN
+
  IntTurn X-Normal GREEN
 
  WAIT 8
 
  WAIT 8
  IntTurn X-Straight YELLOW
+
  IntTurn X-Normal YELLOW
  IntNoTurn X-Straight YELLOW
+
  IntNoTurn X-Normal YELLOW
 
  WAIT 3
 
  WAIT 3
  IntTurn X-Straight RED
+
  IntTurn X-Normal RED
  IntNoTurn X-Straight RED
+
  IntNoTurn X-Normal RED
 
  WAIT 1
 
  WAIT 1
 
  IntTurn Y-Left GREEN
 
  IntTurn Y-Left GREEN
  IntNoTurn Y-Straight GREEN
+
  IntNoTurn Y-Normal GREEN
 
  WAIT 4
 
  WAIT 4
 
  IntTurn Y-Left YELLOW
 
  IntTurn Y-Left YELLOW
Line 117: Line 124:
 
  IntTurn Y-Left RED
 
  IntTurn Y-Left RED
 
  WAIT 1
 
  WAIT 1
  IntTurn Y-Straight GREEN
+
  IntTurn Y-Normal GREEN
 
  WAIT 8
 
  WAIT 8
  IntTurn Y-Straight YELLOW
+
  IntTurn Y-Normal YELLOW
  IntNoTurn Y-Straight YELLOW
+
  IntNoTurn Y-Normal YELLOW
 
  WAIT 3
 
  WAIT 3
In this case, IntNoTurn's straight signals are set to green while IntTurn's left turn sequence runs through. If you used the default sequence and just one intersection ID, the straight signals in intersections with no left turn signals would just remain red while the left turn sequence runs through. This program eliminates that extended red period, but you have to set two a different intersection ID for each type of intersection.
+
In this case, IntNoTurn's normal signals are set to green while IntTurn's left turn sequence runs through. If you used the default sequence and just one intersection ID, the normal signals in intersections with no left turn signals would just remain red while the left turn sequence runs through. This program eliminates that extended red period, but you have to set two a different intersection ID for each type of intersection.
  
 
Alternatively, you can use the INPUT command to wait for external commands:
 
Alternatively, you can use the INPUT command to wait for external commands:
  X-Straight RED
+
  X-Normal RED
 
  INPUT 1 go
 
  INPUT 1 go
  X-Straight GREEN
+
  X-Normal GREEN
 
  WAIT 4
 
  WAIT 4
  X-Straight YELLOW
+
  X-Normal YELLOW
 
  WAIT 3
 
  WAIT 3
 
This program would wait for something owned by the owner of the signal controller to say "go" on channel 1, and then switch to green for a few seconds, then yellow, then back to red, and repeat.
 
This program would wait for something owned by the owner of the signal controller to say "go" on channel 1, and then switch to green for a few seconds, then yellow, then back to red, and repeat.
Line 136: Line 143:
  
 
Here's one that demonstrates the use of multiple INPUT commands in the same program - a simple starting signal for a racetrack:
 
Here's one that demonstrates the use of multiple INPUT commands in the same program - a simple starting signal for a racetrack:
  X-Straight OFF
+
  X-Normal OFF
 
  INPUT 500 ready
 
  INPUT 500 ready
  X-Straight RED
+
  X-Normal RED
 
  INPUT 500 go
 
  INPUT 500 go
  X-Straight YELLOW
+
  X-Normal YELLOW
 
  WAIT 1
 
  WAIT 1
  X-Straight GREEN
+
  X-Normal GREEN
 
  INPUT 500 reset
 
  INPUT 500 reset
 
This sequence accepts input on channel 500. When you're ready to begin, send "ready" and the signals turn on as red. To go, send "go" and the signals turn from yellow to green. To reset the signals, send "reset" and they turn off.
 
This sequence accepts input on channel 500. When you're ready to begin, send "ready" and the signals turn on as red. To go, send "go" and the signals turn from yellow to green. To reset the signals, send "reset" and they turn off.
  
 
Feel free to experiment with programming! We're excited to see what our customers come up with on this.
 
Feel free to experiment with programming! We're excited to see what our customers come up with on this.

Revision as of 19:37, 6 July 2012

The CityLite (also known as ShittyLite) is a programmable traffic signal system.

Setup

  1. Rez poles.
  2. Rez signals and set their signal IDs.
    1. For 1-Way signals, click each signal, select Config, and set a signal ID.
      1. X-Normal and Y-Normal are normal "ball" signals. X and Y are different roads; X is usually the main road, and Y is the crossroad. These are only shown for Normal signals.
      2. X-Left and Y-Left are protected left turn signals. These are only shown for LeftTurn signals, which are optional and require a change in the _config notecard.
      3. Custom allows you to set a custom signal ID. This is only used for custom-programmed controllers.
    2. For 4-Way and 3-Way signals, look at the top of the signal (you should see little X and Y markers). Rotate the signal to your liking.
    3. All other signals can only be used with custom programming, or are standalone.
  3. If you want, rez pedestrian signals and set their signal IDs.
    1. X-Normal and Y-Normal are the two default options, they are the same as the traffic signals.
  4. If you don't want all signals in the region synchronized, or you have different intersection configurations (some have left turn signals, some don't, etc.) you will need to set each signal's intersection. Click it, select Config, select Intersection, and type an intersection ID in. More information on intersections is below.
  5. Rez a controller for each intersection ID (if you didn't set any, just rez one controller - this will control all signals in the region).
  6. Edit the _config notecard in the controller. Each setting has a comment with instructions. If you don't know what to do, you can just leave it alone - the system will work automatically with just normal signals out of the box.
  7. The signals should start up once the notecard is finished loading.

Signal Types

You can set the signal ID to X-Left or Y-Left to change the signal to a protected left turn signal. Protected left turn signals are not enabled by default - they'll just remain red. If you have an X-Left signal, you'll need to set XLEFT to 1 in the controller's _config notecard - similarly, if you have a Y-Left signal, you'll need to set YLEFT to 1. This only works with the default sequence; these settings are ignored if you're using a custom programming sequence.

CityLite also has many other types of signals.

  • 4-Way Signal: These can be used like normal single signals, but work for all 4 directions. Their X and Y directions are hard-coded; just look at the top of the signal to see which direction is which.
  • Right Turn Signal: these can only be used if the crossing direction has a left turn signal - they're "connected" to the crossing traffic's left turn signal.

Signal Customization

You can customize 1-Way signals by clicking them, selecting Config, and using Tgl Surround or Tgl Mount. These will toggle the surround plate and the hanging mount, respectively.

Access Settings & Manual/Override Controls

The access settings in the _config notecard (ACCESS, WHITELIST, and BLACKLIST) are used to access the controller's manual intersection controls AND the signals' override controls for the same intersection. Anyone that has access can do the following:

  • Controller Manual Controls (click the controller)
    • Automatic: Returns control to the automatic sequence (if in manual mode).
    • Manual: Disengages the automatic sequence and lets the user control lights manually. Also opens the Set Colors menu.
    • Set Colors (NOTE: These controls, except for Sig Custom, only work for the default signal IDs - X-Straight, Y-Straight, X-Left, and Y-Left.)
      • X Ylw/Y Red: X flashes yellow, Y flashes red.
      • X Red/Y Ylw: X flashes red, Y flashes yellow.
      • All Red: X and Y flash red.
      • All Yellow: X and Y flash yellow.
      • All Off: X and Y turn off.
      • Sig X-Normal, Sig Y-Normal, Sig X-Left, Sig Y-Left: Lets you change the color for all signals with that ID.
      • Sig X-All, Sig Y-All: Lets you change the color for all X or all Y signals.
      • Sig Custom: Lets you change the color for all signals with specified custom ID.
  • Signal Override Controls (click an individual signal)
    • Rtn Control: Returns control to the controller (if in override mode).
    • Override: Ignores the controller and lets the user control the light manually. Also opens the Set Color menu.
    • Set Color: Lets you change the color for that signal only.

Intersections

CityLite works through the use of intersection IDs. Most users want to keep things simple, so in this case, just don't change intersection IDs anywhere (signals or controller) and everything will be synced together.

However, if you want to separately-controlled intersections, you'll have to set an intersection ID. Click each signal in the intersection and select Config, then select Intersection, then enter your ID. In a separate controller, edit the _config notecard and change the ID. Now, that controller will control only the signals with the same intersection ID. You can set multiple intersections to the same ID, and they'll be synced as well.

Remember, intersection IDs are separate from signal IDs.

All intersections using the same ID should be configured the same way. This means, if you have one intersection with just normal signals, you shouldn't use the same ID for an intersection with normal and left turn signals.

Custom Programming Sequence

You can now program your signals to whatever sequence you want. Just type in the sequence you want in the _program notecard in the controller and set Custom in the _config notecard to Yes.

Programming is done using these commands:

[signalID] [color]
[intersectionID] [signalID] [color]
WAIT [time]
INPUT [channel] [command]
ANYINPUT [channel] [command]

Each commands needs to be on a separate line. The _program notecard that comes with the controller has an example which simulates the default settings in the _config notecard. Let's decode it:

X-Normal RED
X-Left RED
Y-Normal RED
Y-Left RED

Set all signals to red.

WAIT 1

Wait 1 second.

X-Normal GREEN
WAIT 10

Set X-Normal to green and wait 10 seconds. All other signals will remain red.

X-Normal YELLOW
WAIT 3

Set X-Normal to yellow and wait 3 seconds.

X-Normal RED
WAIT 1

Set X-Normal to red and wait 1 second. (This is the ALLRED config setting.)

And so on, and so forth. Once the notecard reaches the end, it restarts from the beginning.

Here's an example of a program that would control an intersection ID with turn signals and an intersection ID without turn signals at the same time (IntTurn and IntNoTurn):

IntTurn X-Normal RED
IntTurn X-Left RED
IntTurn Y-Normal RED
IntTurn Y-Left RED
IntNoTurn X-Normal RED
IntNoTurn Y-Normal RED
WAIT 1
IntTurn X-Left GREEN
IntNoTurn X-Normal GREEN
WAIT 4
IntTurn X-Left YELLOW
WAIT 3
IntTurn X-Left RED
WAIT 1
IntTurn X-Normal GREEN
WAIT 8
IntTurn X-Normal YELLOW
IntNoTurn X-Normal YELLOW
WAIT 3
IntTurn X-Normal RED
IntNoTurn X-Normal RED
WAIT 1
IntTurn Y-Left GREEN
IntNoTurn Y-Normal GREEN
WAIT 4
IntTurn Y-Left YELLOW
WAIT 3
IntTurn Y-Left RED
WAIT 1
IntTurn Y-Normal GREEN
WAIT 8
IntTurn Y-Normal YELLOW
IntNoTurn Y-Normal YELLOW
WAIT 3

In this case, IntNoTurn's normal signals are set to green while IntTurn's left turn sequence runs through. If you used the default sequence and just one intersection ID, the normal signals in intersections with no left turn signals would just remain red while the left turn sequence runs through. This program eliminates that extended red period, but you have to set two a different intersection ID for each type of intersection.

Alternatively, you can use the INPUT command to wait for external commands:

X-Normal RED
INPUT 1 go
X-Normal GREEN
WAIT 4
X-Normal YELLOW
WAIT 3

This program would wait for something owned by the owner of the signal controller to say "go" on channel 1, and then switch to green for a few seconds, then yellow, then back to red, and repeat.

Note that the ANYINPUT is the same as INPUT, but allows objects owned by anyone (or any avatar) to issue the commands, not just objects owned by the same person (or the owner themselves).

Here's one that demonstrates the use of multiple INPUT commands in the same program - a simple starting signal for a racetrack:

X-Normal OFF
INPUT 500 ready
X-Normal RED
INPUT 500 go
X-Normal YELLOW
WAIT 1
X-Normal GREEN
INPUT 500 reset

This sequence accepts input on channel 500. When you're ready to begin, send "ready" and the signals turn on as red. To go, send "go" and the signals turn from yellow to green. To reset the signals, send "reset" and they turn off.

Feel free to experiment with programming! We're excited to see what our customers come up with on this.