The Generic Indicator Module is exactly what it sounds like - it's a module for driving up to 64 discrete indicator LEDs off of selected bits in the incoming datastream. The initial purpose of this was to pick up occupancy bits from the intermediate blocks between CTC-controlled sidings, but in the future it will also be used to indicate tripped electronic circuit breakers, repeat signal indications for fascia lights, and show other layout diagnostic information. It's also a handy debugging tool. It truly is generic - a virtual input tied to one of the indicator LEDs can be programmed to track any bit in any packet from any device. The possibilities are limitless.
As has been mentioned elsewhere, the MRBus system has been developed in C using the BoostC compiler. It's not free, but it's quite reliable and very reasonably priced for what it does and there is a free trial version available. For those looking for a good quality PIC C compiler on an affordable budget, I recommend it. As a truly free, open-source PIC compiler becomes available and matures (come on, SDCC people, I'm counting on you...), I'll probably migrate over. For those without the compiler, I've included the compiled hex file for use with pretty much any standard PIC programmer.
Documentation
GIM Configuration Values and Wiring Matrix A guide to the configuration values on the GIM and the wiring of indicator LEDs | [pdf] |
Legacy - v1.0 only - GIM Configuration Values and Packet Summary A guide to the configuration values on the GIM and the structure of the network packets it sends and accepts. | [pdf] |
Legacy - v1.0 only - GIM LED Wiring Matrix Since the LEDs are driven in a matrixed manner, you need to know where to connect each one. From the 8 common (negative) outputs and 8 segment (positive) outputs on the MAX7219, this chart shows you how to hook up every LED. | [pdf] |
Packet Summary
Note 1: S/R indicates Send/Receive, meaning packets the device sends or receives.
Schematics
Version 1.0/2.0 No change in connections - substitute a PIC16F628 for the PIC16F648A for the older v1.0 version | [jpg] |
Firmware
Version 1.0 (PIC16F628) Released 6-Apr-2003 | [src] - [hex] |
Version 2.0 (PIC16F648A) Released 4-Oct-2008 | [src] - [hex] |
Photos
 | Installed MRB-GIM Module 20-Apr-2003 - A finished unit installed on the Wind River Railroad. This one board controls all the occupancy indicator lights on the board not run by the two MRB-PCIM units. | [600x400] [2160x1440] |