rusEFI connector mapping is a framework which takes ECU connector photo and pinout metadata file in [YAML](https://en.wikipedia.org/wiki/YAML) format and produces [interactive pinouts](https://rusefi.com/docs/pinouts/), PDF and TunerStudio project .ini.
Input files are located in "connectors" folder of corresponding board configuration folder, for example: [firmware/config/boards/microrusefi/connectors](https://github.com/rusefi/rusefi/tree/master/firmware/config/boards/microrusefi/connectors)
[Here](https://github.com/rusefi/rusefi/blob/master/firmware/config/boards/microrusefi/connectors/main.yaml) is the YAML for microRusEFI's main connector, which is a good example of a complete YAML.
[Here](https://rusefi.com/docs/pinouts/microrusefi/) is the resulting interactive pinout.
The 'info' section contains information which is used to generate the interactive pinout. It contains the following fields:
>'title' - contains the title for the page. Only one connector for a particular board needs this field.
>'board_url' - contains a URL for documentation, which will be placed as a link on the top of the page. Only one connector for a particular board needs this field.
>'name' - contains a human-readable name for the connector.
>'id' - contains a short name for the connector, to be used in the URL when linking to a particular pin.
>'order' - contains an index to order the connectors on the page. The lower the number, the nearer the top of the page. If the 'order' field is not present, order is undefined, but will probably be sorted alphabetically by the file name.
>'image' - subsection which contains a single field, 'file', which contains the filename of the image, which is stored in the same directory as the YAML.
>'pins' - subsection with a list of the pins' locations on the image. Its fields are 'pin', which matches to an 'id' in the main 'pins' section, 'x' and 'y', which are the coordinates on the image.