PhobGCC Extras Guide

This is a guide to enabling Extras, community-created features that require to be manually enabled in the PhobGCC firmware.

Prerequisites

Directional Configurations

When enabling an Extra, it must be assigned to one of 4 cardinal directional configuration slots to toggle the feature and and configure its settings.

The two button combinations that are used to toggle and configure Extras are:

Do note that since toggling and configuring Extras is a part of general configuration, they only function if you are not in safe mode.

For configuration, each dpad direction can be used to configure the Extra, but it’s up to each Extra’s implementation to determine how it uses each direction of the Dpad. Please refere to the documentation of the Extra you wish to enable to see how to configure it (if the Extra uses configuration).

Enabling Extras

Opening extras.h

Navigate to the folder where you downloaded the PhobGCC firmware, you should see three folders along with the ‘PhobGCC.ino’ project file.

image

Open the ‘extras’ folder and there should be a file named ‘extras.h’ inside.

Open it by right clicking it and opening it with Notepad or a text editor of choice.

image

Enabling an Extra

Look at the top of the document for the following section:

/* Plugins and extra features outside the normal scope of
 * the PhobGCC can be found here. Uncomment each #define
 * to include the features they provide in a build then
 * set the configuration slot it uses (if it needs configuration)
 * 
 */
//------------------------------------------------------
//#define EXTRAS_ESS
//------------------------------------------------------

Here there is a list of Extras you can enable. Currently we only support one, which is ESS functionality for Ocarina of Time for WiiVC, but with time there will be more to pick from.

Find the Extra(s) you wish to enable, then delete the // that comes at the start of the line that looks like: //#define EXTRAS_EXAMPLE.

If I wanted to enable the ESS Extra, my ‘extras.h’ would look like this:

/* Plugins and extra features outside the normal scope of
 * the PhobGCC can be found here. Uncomment each #define
 * to include the features they provide in a build then
 * set the configuration slot it uses (if it needs configuration)
 * 
 */
//------------------------------------------------------
#define EXTRAS_ESS
//------------------------------------------------------

Setting an Extra’s Configuration Direction

Next, you will need to set the configuration direction for the Extra.

Scroll to the bottom of the file until you find the configuration block related to the Extra you wish to enable.

For example, the ESS Extra looks like this:

#ifdef EXTRAS_ESS
	//-----------------------------------------
	ess::extrasEssConfigSlot = EXTRAS_UNSET;
	//-----------------------------------------
	Serial.println("Extra: Enabling ESS functionality...");
	extrasConfigAssign(ess::extrasEssConfigSlot, ess::toggle, NULL);
#endif

Look for the config slot direction for the Extra you enabled and replace EXTRAS_UNSET with one of:

You can only have one Extra per direction, for a total of 4 Extras enabled maximum.

If I were to set the ESS Extra to Sticks Down, the code would then look like this:

#ifdef EXTRAS_ESS
	//-----------------------------------------
	ess::extrasEssConfigSlot = EXTRAS_DOWN;
	//-----------------------------------------
	Serial.println("Extra: Enabling ESS functionality...");
	extrasConfigAssign(ess::extrasEssConfigSlot, ess::toggle, NULL);
#endif

If you leave the configuration direction unset, you will not be able to toggle or configure the extra you enabled!

When you are finished, save extras.h and re-flash the firmware by using the Arduino Software.

Toggling and Configuring an Extra

Once you’ve finished flashing your PhobGCC with the Extra-enabled firmware, you can then toggle and configure the Extra you enabled (assuming you’re not in safe mode) by using the button combinations listed at the start of this document and following the configuration guide for the Extra you enabled.

Troubleshooting

If you have any issues enabling Extras, please refer to the PhobGCC Discord’s tech support. PhobGCC Discord