Difference between revisions of "SimuCUBE Firmware User Guide"

From Granite Devices Knowledge Wiki
Jump to: navigation, search
[checked revision][checked revision]
 
(82 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Welcome to the beta testing program! Thank you for your interest in testing to improve SimuCUBE.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
!IMPORTANT NOTES
 
!IMPORTANT NOTES
Line 8: Line 7:
 
|}
 
|}
 
The Firmware and this Guide are both work in progress, please make sure that you are using the '''latest version''' of the guide, which is posted on our wiki site.
 
The Firmware and this Guide are both work in progress, please make sure that you are using the '''latest version''' of the guide, which is posted on our wiki site.
 +
 +
== Simucube 2 ==
 +
 +
This user guide is not for Simucube 2, but some filter descriptions are still valid.
 +
 +
Simucube 2 user guide will be published on https://www.simucu.be website when it is ready.
  
 
== Notes and Warnings ==
 
== Notes and Warnings ==
  
 
=== Hardware support ===
 
=== Hardware support ===
Due to hardware differences, SimuCUBE firmware is only supported on SimuCUBE builds and <span style="color:#ff0000;">'''will not work on builds based on IoniCUBE'''</span>.
+
Due to hardware differences, SimuCUBE firmware is only supported on SimuCUBE builds and <span style="color:#ff0000;">'''will not work on builds based on IoniCUBE or ARGON'''</span>.
  
 
=== Beta disclaimer ===
 
=== Beta disclaimer ===
Line 29: Line 34:
 
=== Game support ===
 
=== Game support ===
 
'''Currently Supported Titles'''
 
'''Currently Supported Titles'''
* iRacing
+
 
* rFactor 2
+
As of firmware version 0.9.4, most of the DirectInput FFB games are supported.
* Dirt Rally - (should work as it is similar to rFactor 2) changing friction effect may not work properly as it is not currently parsed correctly.
+
'''Other Simulators/Games Titles: '''Other titles might work with the SimuCUBE firmware perfectly or in totally unexpected ways, <span style="color:#ff0000;">Beware!</span> You are free to use other titles and we will fully welcome reports on what works or doesn’t so that we may get the firmware working with as many titles as possible.
+
  
 
=== Safety disclaimer ===
 
=== Safety disclaimer ===
SimuCUBE based Force feedback system (FFB) pose high mechanical danger that may cause serious injuries to living beings, cause damage to external property or loss of profits. Always operate SimuCUBE based system with maximal caution.
+
{{warning|SimuCUBE based Force Feedback systems (FFB) pose high mechanical danger that may cause serious injuries to living beings, cause damage to external property, or loss of profits. Always operate SimuCUBE based systems with maximum caution.
* Beware of very high sudden torques or vibrations produced by motor attached to SimuCUBE - these are expected even in normal operating conditions
+
* Beware of very high sudden torques or vibrations produced by motor attached to SimuCUBE - these are expected even in normal operating conditions.
* Be aware that malfunction of misconfiguration may cause uncontrolled or higher than normal motor rotation or torques
+
* Be aware that malfunction of misconfiguration may cause uncontrolled or higher than normal motor rotation or torques.
* End-user's responsibility is to ensure that motor, or items connected to the motor can not cause damage due to rotation, torque or vibration
+
* End-user's responsibility is to ensure that motor, or items connected to the motor can not cause damage due to rotation, torque or vibration.
* Always be ready to let go from the motor or parts connected to it (i.e. take hands off the simulator wheel)
+
* Always be ready to let go of the motor or parts connected to it (i.e. take hands off the simulator wheel)
 
* Make sure that a reliable stopping method is available and user reachable at all times (reliable method: unplugging AC power). Note that unplugging power might not stop motor immediately.
 
* Make sure that a reliable stopping method is available and user reachable at all times (reliable method: unplugging AC power). Note that unplugging power might not stop motor immediately.
* Do not try to stop spinning motor by hands or other mechanical means
+
* Do not try to stop spinning motor by hands or other mechanical means as injury could occur.
* Note that wheel, cables or other items attached to motor may hit objects or living beings and may have damaging effects. User's responsibility is to control this danger and take responsibility of the possible consequences caused by moving items.
+
* Note that wheel, cables or other items attached to motor could become dislodged and hit objects or living beings with damaging effects. User's responsibility is to control this danger and take responsibility of the possible consequences caused by moving items.
* Ensure that motor has been rigidly fixed to avoid it getting loose under extreme vibrations
+
* Ensure that motor and items attached to the motor are rigidly fixed to avoid becoming loose under extreme vibrations and rotations.
* Understand that the responsibilities of the manufacturer of the SimuCUBE are limited to fulfilling the technical specifications and functions of the device. The technical function includes production of high torques and speeds on a large motor. Understand that spinning motor or high torques produced by it are considered operation within specifications, so potential damages caused by such operation are not within liabilities of the manufacturer.
+
* Understand that the responsibilities of the manufacturer of the SimuCUBE are limited to fulfilling the technical specifications and function of the device. The technical function includes production of high torques and speeds on a motor. Understand that motor rotation and torques produced by it are considered operation and within specifications, so potential damages caused by such operation are not within liabilities of the manufacturer.
* Commonly used motors may exceed torque of 30 Newton meters and rotation speed of 1000 rpm when attached to SimuCUBE
+
* Commonly used motors may exceed torque of 30 Newton meters and rotation speed of 1000 rpm when attached to SimuCUBE.
* Due to high electric currents, motor, cables or IONI drive may get dangerously hot (skin burns, fire hazard)
+
* Due to high electric currents, motor, cables or IONI drive may get dangerously hot. (skin burns, fire hazard)
'''For your own safety, do not operate SimuCUBE if you don't understand these dangers'''
+
'''For your own safety, do not operate SimuCUBE if you don't understand these dangers'''}}
  
 
== Installation of SimuCUBE Bootloader and Firmware ==
 
== Installation of SimuCUBE Bootloader and Firmware ==
 +
 +
=== Steps to verify before starting ===
 +
 +
The following settings must be done, before updating to SimuCUBE firmware, to get the most easy upgrade. Note, that these only concern those that already use the third-party MMOS firmware.
 +
 +
Connect to drive via [[Granity]], and then
 +
 +
* Check that SMO value (SM Bus Address Offset), found on the Goals tab, is 0. If not, change it to 0.
 +
* Check that you have NOT enabled any homing function in the IONI drive settings.
 +
* Check that you have NOT configured a limit switch function to do something in IONI drive.
 +
* Check that HV Bus Voltage on the Testing tab in Granity, and verify that your Overvoltage Fault Threshold is at least 1.5 V or 2.0 V above it. Later IONI firmwares require this additional margin.
 +
* Check that the Maximum Motor Current is slightly above the Maximum Continuous Current.
 +
** All of the above points mostly concern DIY builders, who have configured their systems by themselves.
 +
** If any changes had to be made, save settigns to drive, and restart drive.
 +
* Please make sure the drive has been updated to at least IONI firmware version 1.6.1 (version code 10601) or later. Earlier IONI firmware versions lack the support for automatic firmware update mechanism that SimuCUBE firmware utilizes.
 +
** If your installed IONI Fimware is prior to the one listed above then you must update the IONI firmware manually using [[Granity]]. ''(see Troubleshooting: #1 Automatic IONI Firmware update fails)''
  
 
=== Bootloader Installation ===
 
=== Bootloader Installation ===
  
This step must be done only if you have '''NOT''' previously installed a SimuCUBE bootloader. Generally this is the case if your current SimuCUBE firmware is of version 0.5.x or earlier or when migrating from the 3rd party MMOS firmware.
+
This step must be done only if you (or your retailer) have '''NOT''' previously installed a SimuCUBE bootloader. If you have a system with MMOS Drive Firmware installed start at step #1, If you have a NEW SimuCUBE purchased direct from Granite Devices or from a retailer that does not install firmware the device should be in DFU mode and you can start at step #3. If the SimuCUBE is not in DFU and MMOS is not installed you will need to manually enable DFU mode by using the #CASE C  method described in the "Setting SimuCUBE into Device Firmware Mode (DFU)" section of the [[Installing MMos firmware into SimuCUBE]] page.
 +
 
 +
 
 +
==== Actual Bootloader Installation ====
  
  
Line 66: Line 88:
 
[https://granitedevices.com/wiki/Installing_MMos_firmware_into_SimuCUBE#Setting_SimuCUBE_into_Device_Firmware_Mode_.28DFU.29 https://granitedevices.com/wiki/Installing_MMos_firmware_into_SimuCUBE#Setting_SimuCUBE_into_Device_Firmware_Mode_.28DFU.29]
 
[https://granitedevices.com/wiki/Installing_MMos_firmware_into_SimuCUBE#Setting_SimuCUBE_into_Device_Firmware_Mode_.28DFU.29 https://granitedevices.com/wiki/Installing_MMos_firmware_into_SimuCUBE#Setting_SimuCUBE_into_Device_Firmware_Mode_.28DFU.29]
  
If the bootloader firmware fails to install using any of the methods above (retaining MMOS functionality) please try removing the SimuCUBE Bootloader DFU file directly from the .zip package to your desktop rather than extracting it with the entire .zip. We have found that the standard Windows .zip extraction can corrupt the files when extracted together.
+
If the bootloader firmware fails to install using any of the methods above (retaining MMOS functionality) please see the Trouble Shooting section of this guide.
  
 
Successful bootloader installation and startup is noted by the SimuCUBE status LEDs located next to the green power LED lighting up one-by-one, after which they will go off with the power LED remaining lit.
 
Successful bootloader installation and startup is noted by the SimuCUBE status LEDs located next to the green power LED lighting up one-by-one, after which they will go off with the power LED remaining lit.
Line 72: Line 94:
 
<u>Step by Step Install for Bootloader from MMOS:</u>
 
<u>Step by Step Install for Bootloader from MMOS:</u>
  
<nowiki>#</nowiki>1: Click on DFU Mode button (USB connection ICON should turn red)
+
This link below is a video that shows the basic SimuCUBE Firmware installation process from start to finish. It also shows the common troubleshooting case where Windows installs an incorrect driver for the STM32 Bootloader device initially, and how to update the driver for it so installation will go smoothly. This issue is also covered in the Trouble Shooting section of this guide.
  
<nowiki>#</nowiki>2: Close MMOS
+
https://www.youtube.com/watch?v=e16MU0ckcjo
  
<nowiki>#</nowiki>3: Open DFUse Demo (verify that "STM Device in DFU Mode" is in the dropdown menu at top)
+
'''#1: Click on DFU Mode button''' (USB connection ICON should turn red)<blockquote>[[File:1dfumode.jpg|frameless|355x355px]]</blockquote><blockquote></blockquote>'''#2: Close MMOS''' (not closing MMOS Control panel can cause DFU installation failure)
  
<nowiki>#</nowiki>4: Set the SimuCUBE bootloader.dfu as the file to be transferred by clicking on Choose in the Upgrade and Verify Section of DFUse and locating the file within the SimuCUBE Configuration Tool Folder (or the desktop if you have had to extract it separately)
+
'''#3: Open DFUse Demo''' (verify that "STM Device in DFU Mode" is in the dropdown menu at top)
  
<nowiki>#</nowiki>5: Click on verify
+
<blockquote>[[File:2dfusedemolist.jpg|frameless]]</blockquote><blockquote></blockquote>'''#4: Set the SimuCUBE bootloader.dfu as the file to be transferred''' click on Choose in the Upgrade and Verify Section of DFUse and locate the simucube-bootloader.dfu file within the SimuCUBE Configuration Tool Folder (or the desktop if you have had to extract it separately)<blockquote>[[File:3dfuselect.jpg|frameless]]</blockquote><blockquote>[[File:3bfilename.jpg|border]]</blockquote>
  
<nowiki>#</nowiki>6: Click on Upgrade in the Upgrade and Verify Section of DFUse
+
'''#5: Make sure that "Verify after download" is checked.'''  (in the Upgrade and Verify Section of DFUse)
  
<nowiki>#</nowiki>7: Click OK on the Dialog that comes up  
+
'''#6: Click on Upgrade in the Upgrade and Verify Section of DFUse'''<blockquote>[[File:6upgrade.jpg|frameless]]</blockquote><blockquote></blockquote>'''#7: Click OK''' on the Dialog that comes up<blockquote>[[File:7verify.jpg|frameless]]</blockquote>
  
<nowiki>#</nowiki>8: After Successful upload Click on "Leave DFU Mode" toward the top center of the DFUse interface.
+
'''#8: After Successful upload Click on "Leave DFU Mode"''' toward the top center of the DFUse interface. If you forget to do this step you will need to power down the SimuCUBE, wait a few seconds and then turn the SimuCUBE back on..
  
<nowiki>#</nowiki>9: Close DFUse
+
'''#9: Close DFUse Demo'''
  
 
=== SimuCUBE Firmware Installation ===
 
=== SimuCUBE Firmware Installation ===
Line 94: Line 116:
 
After installing the SimuCUBE Bootloader, the SimuCUBE will start up in firmware update mode. The SimuCUBE Firmware must be installed using the SimuCUBE Configuration Tool with the Firmware Update Wizard. Installation by ANY other method <span style="color:#ff0000;">will not work</span>.
 
After installing the SimuCUBE Bootloader, the SimuCUBE will start up in firmware update mode. The SimuCUBE Firmware must be installed using the SimuCUBE Configuration Tool with the Firmware Update Wizard. Installation by ANY other method <span style="color:#ff0000;">will not work</span>.
  
Once the Bootloader is installed via the instructions above Open the SimuCUBE Configuration Tool and press the Upgrade Firmware Button.
+
Once the Bootloader is installed via the instructions above Open the SimuCUBE Configuration Tool. As of firmware version 0.9.4 and later, the firmware update wizard will automatically open.
  
 +
After the SimuCUBE firmware has been successfully installed, SimuCUBE will boot automatically and update the IONI firmware to the latest version automatically. Please wait for the firmwrae update wizard to finish, including the countdown on the last page of the wizard, before doing any power-cycling of the system. After the wizard closes, the Configuration Tool will close and it must be reopened to start using SimuCUBE.
  
After the SimuCUBE firmware has been successfully installed, the Configuration Tool will close and the SimuCUBE will restart. You must reopen the Configuration Tool to start using SimuCUBE.
+
{{warning| Avoid very short power up / power down cycle right after installing the SimuCUBE firmware. The silent, automatic IONI firmware update could be interrupted and fail, in this case the IONI drive will be left in DFU mode. The SimuCUBE firmware does not currently have the capability to automatically recover the IONI from its Firmware update mode and Granity will be required for recovery. Please see the troubleshooting section of this guide for instructions to recover from this issue and '''please send us a report about it.''' This will enable us to estimate the importance of adding the ability to recover from this mode directly.}}
  
 +
If the SimuCUBE Configuration Tool is open while the IONI Firmware is being updated it will indicate that an updating is occurring, along with the percentage of update done. It will NOT provide you with a separate indication of completion. Upon completion, the Operating Mode status indicator will show the current operation mode. This could be “Hardware settings not configured”, “waiting for index point”, or “Operational”. Successful update can verified by looking at the IONI Drive Firmware Version number on the Advanced Tab of the configuration software. On successful completion of the update to the IONI Firmware the three red SimuCUBE status LEDs, next to the power indication LED on the SimuCUBE mainboard, will flash two times (on-off-on-off) with 1-second on and off times.
  
Subsequent SimuCUBE firmware updates will be done by the Firmware Update Wizard from the configuration tool. It will command SimuCUBE to go to firmware update mode and then update the firmware automatically. The “Update Firmware” button in the configuration tool can be pressed when there is no firmware installed and will search for the bootloader (described in the installing bootloader section). The latest IONI drive firmware will be installed or updated automatically at the first start-up of a new firmware release.
+
At the time of writing this guide, the required and correct IONI firmware version is 10700. An updated version of Granity may be needed for use to configure the IONI drive with this firmware. Granity  can be downloaded separately from here: [http://granitedevices.com/wiki/Granity#Download http://granitedevices.com/wiki/Granity#Download]
  
==== Powering up your SimuCUBE ====
+
== SimuCUBE Configuration Tool User Guide ==
On the first power up after returning the the SimuCUBE to run mode with the firmware installed, the SimuCUBE will automatically update the IONI drive firmware to the latest version. If an earlier version of the IONI firmware is installed the SimuCUBE will re-flash it to the latest version the firmware requires. Installing newer IONI firmware (if available) will not result in it being re-flashed to the prior version by SimuCUBE.
+
  
 +
'''NOTE:''' Before using the SimuCUBE Firmware with your system please make sure that ALL previous drivers and software from any other wheel systems has been un-installed or deactivated to mitigate any possible incompatibilities or conflicts that could cause unusual or erratic behavior from the SimuCUBE.
  
The firmware update will take anywhere from seconds to a couple of minutes to complete (depending on download speeds). If you have the SimuCUBE Configuration Tool open while this is happening it will indicate that it is updating the Firmware, along with a percentage of update done. It will NOT provide you with a separate completion indication. On completion, the Operating Mode status indicator will show the current operation mode. This could be “Hardware settings not configured”, “waiting for index point”, or “Operational”. Successful update can be seen in the actions portion of the configuration software where it will show the IONI firmware version supplied with the firmware. On successful completion of the update to the IONI Firmware the three red SimuCUBE status LEDs, next to the power indication LED on the SimuCUBE mainboard, will flash two times (on-off-on-off) with 1-second on and off times.
+
The purpose of this firmware and tool combination is to simplify and optimize the SimuCUBE to improve the user experience and simplify the set-up of your wheel. To this extent we are trying to keep this tool as easy to use and straight forward as possible with all of the needed information regarding the function of the SimuCUBE and any connected devices readily accessible and understandable. This firmware includes advanced features to improve and allow the SimuCUBE to be vastly adjusted in feel to give any user the experience that they prefer in (eventually) any game. As of firmware release 0.8.11 the new Tabbed interface was introduced.. The older style implementation will no longer be referenced.
  
 +
=== Fixed Information: ===
 +
The following information is provided on a constant basis regardless of the Tab you are looking at in the interface.
  
Please avoid very short power up / power down cycle right after installing the SimuCUBE firmware. The silent, automatic IONI firmware update could be interrupted and fail, in this case the IONI drive will be left in DFU mode. The SimuCUBE firmware does not currently have the capability to automatically recover the IONI from its Firmware update mode and Granity will be required for recovery.
+
==== Operating Mode ====
 +
<blockquote>This indicator tells the current state of the SimuCUBE. Under normal conditions this will read Operational and your SimuCUBE will be functional in game. Other information could include items like IONI USB Mode, Firmware upgrade mode, as well as other states.</blockquote>
  
 +
==== Active Profile ====
 +
<blockquote>This indicates name of the active profile currently in use.</blockquote>
  
'''If this does occur on your system, please send us a report about it.''' This will enable us to estimate the importance of adding the ability to recover from this mode directly. In order to recover from the firmware update mode you will need to open the SimuCUBE Configuration tool and enable the IONI USB configuration mode located in the Actions section. Once done, the '''latest''' IONI firmware must be downloaded separately using the link below and uploaded to the IONI using Granity. [http://granitedevices.com/wiki/IONI_firmware_releases http://granitedevices.com/wiki/IONI_firmware_releases]
+
==== E-Stop & Motor Status ====
 +
<blockquote>This area will indicate if you have your e-Stop activated as well as if your motor has faulted for any reason. There will be an indication of what code was faulted to make any sort of troubleshooting easier. Cycling E-stop button will also clear faults.</blockquote>
  
 +
==== Save Settings to SimuCUBE button ====
 +
<blockquote>This button at the bottom of the interface will save all changes made to the SimuCUBE. If the up to date indicator above this button is green you do not need to save any settings. If this indicator is blinking red it means something has changed and if you want to retain those settings after power cycling the SimuCUBE you will NEED to use this button to save the settings. If you are unsure that you wish to permanently keep the settings that you change then do not save the settings and the next time you restart the SimuCUBE you will revert back to your prior settings. Please note the save action will take around 2 seconds on SimuCUBE hardware. During this time games will not receive inputs and the wheel won’t receive new commands. '''This could cause unexpected effects in games''', as it is possible that games might classify a 2-second freeze as controller disconnection.</blockquote>
  
At the time of writing this guide, the required and correct IONI firmware version is 10061. An updated version of Granity may be needed for use with this firmware and should be downloaded separately from here: [http://granitedevices.com/wiki/Granity#Download http://granitedevices.com/wiki/Granity#Download]
+
=== Overview Tab: ===
 +
The overview tab provides you with all of the pertinent information regarding the settings currently on your SimuCUBE.  
  
== SimuCUBE Configuration Tool User Guide ==
+
==== Wheel Indicator & Reset Center Button ====
 +
<blockquote>The large wheel in this area represents your wheel. When calibrated correctly the wheel should be positioned so that wheel center is located at its uppermost position when your physical wheel is straight, in addition wheel position should indicate approximately 0 degrees. When you turn your wheel physically the indicated wheel should turn in relation to position exactly. If your physical wheel when straight is not straight with the wheel for any reason you may temporarily reset the center point of the wheel by clicking on the Reset Center button. To permanently change the center offset you will need to run the Configure Motor, Encoder, and Centerpoint wizard on the Hardware Set-up tab.</blockquote>
  
The purpose of this firmware and tool combination is to simplify and optimize the SimuCUBE to improve the user experience and simplify the set-up of your wheel. To this extent we are trying to keep this tool as easy to use and straight forward as possible with all of the needed information regarding the function of the SimuCUBE and any connected devices readily accessible and understandable. This firmware includes advanced features to improve and allow the SimuCUBE to be vastly adjusted in feel to give any user the experience that they prefer in (eventually) any game.
+
==== Analog Inputs Indication ====
 +
<blockquote>These indicators will allow you to test functionality and output for your analog axis and digital buttons that are connected directly to the SimuCUBE. By pressing on the corresponding buttons or analog inputs (i.e. pedals) you will see their travel or activation in real time along with the HID output value indicated. If you are not receiving full range on a analog output you should calibrate the input of that device via the Configure Analog Inputs dialog on the Hardware Set-up tab.</blockquote>
  
=== Hardware settings ===
+
=== Profiles Tab: ===
 +
This tab provides all of the user adjustable features that are saved under each profile setting that you create. SimuCUBE allows for multiple profiles to be saved directly to the firmware and selected at any time. Currently there is a limit of 500 different profiles that can be saved for use at any time.
  
==== Configure Motor, Encoder, and Centerpoint ====
+
==== Management ====
This wizard steps you through the process of setting up your SimuCUBE firmware.
+
The attributes of the first profile in the dropdown menu can not be changed - it is a “Read-only safe profile”. To select other profiles just select whichever profile name you wish from the menu.<blockquote>''Add button:'' Adds new active profile to the menu and preselects some default parameters.</blockquote><blockquote>''Copy button:'' Copies the existing profile to a new profile.</blockquote><blockquote>''Delete button:'' Deletes currently selected profile. if the default profile is deleted, the "Read-only safe profile" will be set as the new default profile and it will be loaded at next startup. On clicking this button, a Yes/Cancel dialog opens to prevent accidental profile deletion.</blockquote><blockquote>''Set as default:'' Sets the profile you wish the SimuCUBE to load by default. The default profile is indicated in green text to the the menu and it is indicated in '''BOLD''' in the dropdown menu.</blockquote><blockquote>''Add profiles from file:'' Adds all profiles from simucubeprofiles.ini file. This does not overwrite current profiles.</blockquote><blockquote>''Export profiles to file:'' Saves all profiles to simucubeprofiles.ini file. If file exists already, all existing profiles in the file will be overwritten.</blockquote><blockquote>''Reorder profiles:'' Opens a dialog where profiles can be re-ordered via drag and drop.</blockquote>
  
===== Step 1: Selecting your motor configuration =====
+
The first profile, “Read-only safe profile” cannot be deleted or re-ordered as it is used by the firmware during calibration.
<blockquote>'''Use Existing Ioni Configuration as-is'''</blockquote><blockquote>If you know your IONI is currently set up correctly for your servo, power supply and encoder you can use this option to retain those settings and to only configure the SimuCUBE firmware for usage. This is the recommended option after migrating from a working MMOS setup or when there is such an update to SimuCUBE firmware that caused the wizard to be mandatory to be run again.</blockquote><blockquote>'''Select a Motor & Encoder from the dropdown'''</blockquote><blockquote>if you know what motor and encoder you have but have not previously set up your IONI to work with them you will want to select the motor and encoder that you have. This will properly setup the IONI for your configuration. The DRC files for this feature have not yet been released so even though this feature is functional there is nothing currently to select. Testing this feature during the beta testing phase is of course important.</blockquote>
+
  
===== Step 2: Select Indexing Point =====
+
Anytime a change is made to a profile the firmware system will request that you save the settings to the SimuCUBE by flashing a red settings updated message next to the button. If you press this button ANY changes you have made will become permanent and will not be easily reversible. If you have made changes that you don't like, the "Reload settings from SimuCUBE" button on the Advanced -tab will revert to the last saved settings and profiles. Making a change without saving will allow use of those settings until the SimuCUBE is turned off.
<blockquote>'''Automatic Indexing''' - Sets index immediately upon phasing completion. Please see ''Index in reference to the phasing'' section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.</blockquote><blockquote>'''Manual Indexing''' - Sets index after you turn the wheel past the physical encoder index point. Please see ''Index in reference to encoder ''section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.</blockquote>
+
  
===== Step 3: Motor Initialization =====
+
==== General ====
<blockquote>Motor phases and determines the index point based on settings that you have chosen.</blockquote>
+
Here you will set the SimuCUBE preferences, power levels, and other working settings.<blockquote>''Profile Name: ''Shows currently selected profile in management and allows you to alter the name of the profile</blockquote><blockquote>''Steering Range:'' This reports the maximum total range of the wheel to report to Windows allowing programs to recognise the intended rotation of the wheel. The most common settings for steering range are 900 or 1080 degrees though some games may require less rotation to calibrate properly.</blockquote><blockquote>''Bumpstop Range (from axis limit):'' This setting allows you to indicate where the maximum force of the bumpstops, when enabled, will fall within the steering range. The actual usable steering range after the bumpstops are placed is indicated to the right of the input box. Using a positive will lower the effective Steering Range before the bumpstops take effect while using a negative number will place the bumpstops outside the effective range of the wheel. If the the Bumpstop Effect Ramp Range, from the hardware settings section, is set at 10 degrees (other values could be used) the ramp up in force to the bumpstop would happen at 10 degrees (in each direction) prior to the Maximum Bumpstop range indicated. If you do not want the bumpstops to take effect within the Steering Range then a Negative Number matching the Bumpstop Effect Ramp Range should be used.</blockquote><blockquote>''Overall Strength:'' When using this setting you can limit the overall strength that the SimuCUBE can provide. Starting from Firmware version 0.8.0 this will be a percentage of the value that is read from IONI drive firmware right after motor initialization.  Reducing strength of the wheel may be needed for some games that do not have an alternative method of adjusting the the level of force you see in the game. This setting is also useful for temporarily reducing the force of your wheel to a level that is safe for children and inexperienced drivers.</blockquote><blockquote>''Maximum Motor Current:'' This indicates the actual Maximum Motor Current (MMC) value being used in the visible profile.</blockquote>
  
===== Step 4: Setting the Center Point =====
+
==== IONI Drive Servo Filtering ====
<blockquote>Waiting for Index Point - If manual indexing was chosen during setup you will be asked to turn the wheel so SimuCUBE can locate the physical index point of the encoder. Automatic index setup will not see this page.</blockquote><blockquote>Set Wheel Center Point - finalizes the offset value of the wheel when Next is pressed so that wheel centering is correct whenever you turn on the SimuCUBE. Note: Automatic index point requires the wheel to be positioned straight at SimuCUBE start-up while manual indexing does not.</blockquote>
+
This section describes the use of the those filters on the IONI drive that are adjustable within the SimuCUBE configuration tool. With these filters you can significantly alter the feel of your wheel to maximize your experience. Please note extreme settings on some filters can cause them to become unstable and cause oscillations or other unintended and unwanted behavior.
  
==== Encoder Counts Per Revolution (CPR) ====
+
===== SimuCUBE Force Reconstruction Filter =====
The counts per revolution of your encoder are auto set via the firmware when you configure the motor, encoder, and center point.
+
This filter is only available in the SimuCUBE firmware and allows the IONI to take a slower digitized incoming signal from a program at any frequency and reconstruct it based on a complex algorithm to increase the accuracy and smoothness of the signal while fully retaining the integrity of the original signal. This allows the SimuCUBE to update positioning and force information to the servo at the IONI’s maximum possible rate which smooths the action of the wheel while retaining all detail in the signal with minimal drawbacks. Setting this filter off disables it and the standard signal from the program being used is passed to the firmware. Currently the numbered options for the filter indicate the aggressiveness of the filter. At higher numbers the filter is more aggressive and will take longer to reconstruct the signal which will induce more latency (delay) into the signal. Currently the effects of the numbers are NOT linear and can result in many differing effects which vary between smooth, abrupt, or even unstable.
 +
*NOTE: We are still determining the best settings for this filter and the best way to determine the filter effects so things could change as far as the filtering available for use with subsequent Firmware releases.
  
==== Indexing Mode ====
+
=====  Torque Bandwidth Limit  =====
The indexing mode is determined at the time of Configuring the motor, encoder, and index.
+
This setting is a filter point for the incoming set point information received by the IONI. The lower the setting the more smoothing due to cutting higher frequency information from the signal and in turn will slightly increase latency which result in a more dull subdued feeling at the wheel. Generally, you want to set this to as high as possible to allow for the most unfiltered information to get to the servo drive. When using the reconstruction filter it is best to set this has high as possible (usually Unlimited). Some game titles do require lower TBW settings due to excessively noisy or sharp feedback signals being implemented in their FFB signals.
  
''Index in reference to the phasing:'' This mode sets the index point to where the wheel is positioned '''after '''phasing and requires no user action for the wheel to be used in game after turning on the SimuCUBE. An offset to this index point is set during the motor configuration wizard setup. Using this mode will cause the wheel to index off center if not positioned approximately straight before phasing. This form of Indexing will work with all servo types, please see technical notes below for issues and how to fix them.
+
=====  Peaking and Notch Filter =====
<div style="margin-left:0.953cm;margin-right:0cm;">
+
This filter provides specific localized suppression or enhancement to a certain frequency range. Generally used to eliminate unwanted peaks (use notch) or dips (use peak) in the signal that provide unwanted abnormalities wheel reaction. An example would be excessive or extreme oscillation in the wheel.
''Technical Notes (phasing index)'' - This form of indexing is accomplished due to phasing of the servo/stepper motor always beginning and ending in the same location within magnetic pole quadrant. If you find that the servo is not correctly centering consistently via this method your wheel is attached where the center position falls on or near a boundary between pole quadrants causing phasing to start in either quadrant. When this happens the phasing may finish in the wrong quadrant based on the position of the wheel before phasing which will cause the index to be offset from center. To correct for this and make sure your wheel phases in the correct manner the wheel must be slightly nudged off center before phasing into the quadrant that correctly phases center. To determine this you will need to determine where your wheel is positioned before phasing and then nudge the wheel to one side of center or the other depending on which side pole quadrant phases as center.
+
*Center Frequency (Hz) - Sets the frequency where the filter is to take effect within the signal. When setting this attribute, it tends be most effective to adjust it while in program as it is so specific in what it will actually affect it is hard to just guess as to what frequency it should be located at.
 +
*Attenuation - This setting controls how much notch filter will subdue the signal in db. The deeper the notch the wider the frequencies are that are affected and the more dramatically diminished the designated center frequency is. If the number used in this location is positive you are now using a peaking filter (raising the signal frequency), negative numbers are notch and what is normally used with the SimuCUBE.
 +
*Q Factor (Quality Factor) - The quality factor determines how narrow the frequency band being affected by this filter is. Higher Q-value means the filter affects a narrower band of frequencies around the given Center Frequency.
  
Higher pole count servos/steppers are more likely to experience this boundary position issue.  
+
===== Other Filters =====
 +
The other filters affect the tactile characteristics of the SimuCUBE allowing changes to be made that can dramatically alter the feel of the wheel allowing you to achieve the the most natural and comfortable experience you can.
  
This form of indexing works regardless of the position of the physical index point of your encoder so it will work with encoders that do not have indexing capability.
+
=====  Damping Filter =====
</div>
+
<blockquote>Damping within the IONI is designed to limit overshoot that the servo itself is inducing due to velocity of the armature. The filter works by trying to resist all movement by creating a signal that tries to reposition the servo back to it’s intended location, Increasing the % adds dampening. Think of this setting as a shock absorber for the wheel does not change the feedback but will slow the resulting effect as it reaches or returns to it's destination. The goal of this setting is to cut out unwanted positional errors due to the servo overshooting the intended positioning which could cause unintended forces to be delivered to the servo due to the positioning of the servo being out of position when a force is sent to the wheel. This overshoot error can show up as oscillations of the wheel when dampening is set to low since the wheel will overshoot and the game will try to correct the issue causing the wheel to overshoot in the opposite direction creating a feedback loop. In the case of the SimuCUBE if you turn the damping up too far and over dampen the system the steering will feel dull as it continually will try to adjust to return to the intended position resisting both your actions as well as the feedback signal. It is normal to have a small bit of over damping in the system to be able to reduce the possibility of the oscillation. This setting is best used to dull the feel of the wheel as it reduces the reactiveness of everything and sort of flattens out the feedback feel. This can make the wheel feel at times sluggish. But at the same time due to the nature of dampening trying to stay on position it can also ease steering effort at load because the wheel will be actively trying to stay in its intended position.. In terms of car feel more dampening feels a bit like soft or under inflated tires while less dampening feels like tires that have been inflated or have harder sidewalls.</blockquote><blockquote></blockquote>
  
''Index in reference to encoder:'' This mode indexes to the encoder index location when the wheel is centered. When using this style of indexing the wheel must be rotated past the encoder index point after phasing for the centerpoint to be recognized. Generally turning the wheel left and right 180 degrees will cross the index point. Using this index method will always result in the wheel being indexed straight. Turning the wheel past the index point is absolutely required with SimuCUBE open source firmware, as the IONI drive does not detect the index point while phasing. If audible notification beeps is are enabled, you will hear a beep when the wheel crosses index point. A visual indicator (LED) on the SimuCUBE board lights up after phasing and goes out when index point has been found only when this centering mode is set up via the motor configuration wizard.
+
===== Friction Filter =====
 +
<blockquote><span style="color:#000000;">The friction parameter adds artificial dead weight to the feel of the SimuCUBE. The friction filter adds resistance across the entire signal bandwidth. Going too far on this parameter can actually override the forces applied by the software and cause the wheel to not move. In essence this parameter slows the reaction of the wheel. This filter is best used to mimic what would be steering hardware in a real car and all the friction in the steering caused by the steering rack, ball joints, bushings, ect.. Including tire contact patch drag. This filter will also limit a feedback by-product that feels a bit like a rubber band. This effect comes from the fact that force feedback for the most part is designed to return the steering wheel to the next position point no matter what you do and to do that it adds power in the opposite direction that you are turning.. The rubber band feeling comes from when you quickly turn in the direction that the force is wanting you to go and then back into the force.. When you do this with a high speed system, such as the OSW, that can move the wheel faster than you can turn it yourself, you effectively lose all feeling of force when turning with the power making the turn motion overly light. if you weave like this around a constant radius corner you will find that you get this heavy feeling and then no feeling, heavy and then none, like stretching and releasing a rubber band. By adding a friction % you will slow the wheels ability to return to center in a more progressive manner allowing you to turn the wheel back toward center and retain some feeling of force in the return motion. Note, that the higher you set the friction the more friction you will have in both directions of movement so by adding friction you can increase the force required to turn the car to a possibly unacceptable level and as well diminish the speed of wheel return which can affect your ability to catch a slide. This should be adjusted to a level that you feel is realistic. This setting would be best used if you feel the forces of the wheel are correct but the steering feels overly light in nature during certain movements, by increasing it you are not seriously affecting the way the feedback translates to the wheel but you are adding weight to the steering mimicking the drag that would be in a real life steering rack. </span></blockquote><blockquote></blockquote>
  
==== Desktop Center Spring - <span style="color:#ff0000;">(may not be implemented)</span> ====
+
===== Inertia Filter =====
The settings regarding the Desktop centering determine whether or not the wheel will return to center when moved when out of game or at the desktop level within Windows.
+
<blockquote>The Inertia filter provides a signal to the wheel that attempts to reduce the Inertia of the wheel. In essence a wheel of zero inertia would spin forever and a wheel of infinite Inertia would never be able to be moved no matter how much force you put to it. Adding % lowers inertia, the main effect of this is that when the wheel is given a signal it will try to add force in the same direction as the rotation of the wheel making the wheel have less inertia so it spins more freely. However, in relation to force feedback this is a bit of a double edged sword in that if you are turning the wheel into the force being applied the inertia filter will attempt to apply additional force to the wheel to get it moving in the direction that the signal from the feedback system is telling it to go in. This in feel is very similar to the rubber banding feedback effect mentioned in the Friction filter as when you turn the wheel further from the intended target return point the forces applied by the inertia filter will ramp up making the wheel feel heavier. If you turn into this force and let off the return forces will feel much lighter than the initial forces as the inertia filter can freely apply force to return the wheel to its intended location. This feel can seem like power steering in a way as if you are turning with the force the feel will be lighter than normal. In addition this has the effect of softening (but not reducing strength) of some jolts due to the ramp-up of the forces when turning into the force. Using too much Inertia will cause a vague center feel as the wheel tries to continue moving past center even though you would want it to stop.</blockquote><blockquote>''NOTE:'' Correlation between the Friction filter and Inertia filter - The Friction filter when applied has stiction which means that the weight of signal being applied creates friction that resists movement (adding inertia) which causes an abrupt stop of the wheel when you let go. The Inertia filter can be used to allow the Friction filter to apply this weight to the wheel while softening the stopping action by reducing the stiction effect and allowing the wheel to not stop abruptly but to slowly ramp down to a stop in rotation.</blockquote>
  
''NOTE: The Desktop Center Spring portion of the SimuCUBE Configuration Tool has currently been removed completely from the UI and is not shown.''
+
==== DirectInput Effect Settings and Descriptions ====
 +
The sliders in this section allow for adjustment of DirectInput effects. Adjusting these effect sliders allow you to change how much the SimuCUBE reacts to Game Generated Effects via DirectInput and control their output.<blockquote>''Friction Effect:'' Changes to the weight of the wheel based on game provided data.</blockquote><blockquote>''Damping Effect:'' Damping is used by some games to dampen the wheel. Damping is a resistive force that is proportional to the wheel rotating speed. Some game titles use this to dampen oscillations.</blockquote><blockquote>''Spring Effect:'' Spring is used to localize or return the wheel to always at the same position. Note, that games can also set positions other than center for the spring effect.</blockquote><blockquote>''Sine wave effect:'' Sine wave is used in some games to make sinusoidal vibrations to the torque signal.</blockquote><blockquote>''Square wave effect:'' Square wave is used to output sharp low to high to low type effect to the torque signal.</blockquote><blockquote>''Sawtooth effect:'' Sawtooth effects are used to create slowly rising and sharply dropping or sharply rising but slowly dropping ripples to the torque signal. This effect slider controls both the SawtoothUp and SawtoothDown effects.</blockquote><blockquote>''Triangle wave effect:'' Triangle wave can be used to output torque signals that rise and fall with constant rate.</blockquote>The "'''Active'''" column to the right of the sliders indicates the effects in use or created using the symbols described:<blockquote>- effect not in use</blockquote><blockquote>○ effect is created and running, but its values are not actively changed by the game</blockquote><blockquote>● effect is created, and its values are being actively controlled by the game</blockquote>
  
==== Bumpstop Effect ====
+
=== Hardware Set-up Tab: ===
The Bumpstop Effect section sets the use and feel of the firmware level endstops at the extents of the wheel travel determined by the steering angle setting.
+
'''Encoder Counts Per Revolution'''<blockquote>Indicates your encoder point count based on the settings provided to the IONI drive.</blockquote>
 +
'''Indexing Mode'''<blockquote>The indexing mode is determined at the time of Configuring the motor, encoder, and index.</blockquote>
 +
<blockquote>''Index in reference to the phasing:'' (note: this is notified as "Automatic Indexing in some firmware versions)
 +
This mode sets the index point to where the wheel is positioned '''after '''phasing and requires no user action for the wheel to be used in game after turning on the SimuCUBE. An offset to this index point is set during the motor configuration wizard setup. Using this mode will cause the wheel to index "off center" if not positioned approximately straight before phasing. This form of Indexing will work with all servo types and supported encoders, please see technical notes below for issues and how to fix them.</blockquote><div style="margin-left:0.953cm;margin-right:0cm;"><blockquote>''Technical Notes (phasing index)'' - This form of indexing is accomplished due to phasing of the servo/stepper motor always beginning and ending in the same location within magnetic pole quadrant. If you find that the servo is not correctly centering consistently via this method your wheel is attached where the center position falls on or near a boundary between pole quadrants causing phasing to start in either quadrant. When this happens the phasing may finish in the wrong quadrant based on the position of the wheel before phasing which will cause the index to be offset from center. To correct for this and make sure your wheel phases in the correct manner the wheel must be slightly nudged off center before phasing into the quadrant that correctly phases center. To determine this you will need to determine where your wheel is positioned before phasing and then nudge the wheel to one side of center or the other depending on which side pole quadrant phases as center.</blockquote><blockquote>Higher pole count servos/steppers are more likely to experience this boundary position issue.</blockquote><blockquote>This form of indexing works regardless of the position of the physical index point of your encoder so it will work with encoders that do not have indexing capability.</blockquote></div>
 +
<blockquote>''Index in reference to encoder:''
 +
This mode indexes to the encoder index location when the wheel is centered. When using this style of indexing the wheel must be rotated past the encoder index point after phasing for the centerpoint to be recognized. Generally turning the wheel left and right 180 degrees will cross the index point. Using this index method will always result in the wheel being indexed straight. Turning the wheel past the index point is absolutely required with SimuCUBE open source firmware, as the IONI drive does not detect the index point while phasing. If audible notification beeps is are enabled, you will hear a beep when the wheel crosses index point. A visual indicator (LED) on the SimuCUBE board lights up after phasing and goes out when index point has been found only when this centering mode is set up via the motor configuration wizard.</blockquote>
 +
<blockquote>''Absolute Indexing:''
 +
This mode is shown when there is an absolute serial encoder and user has configured the Commutation Sensors into use in the Configure Motor, Encoder and Center Point wizard. In this mode, the angle of the wheel can be always correct at any position on power-up.
 +
'''Maximum Motor Current''' <blockquote>Indicates the amperage provided to your motor (MMC) based on the settings provided to the IONI drive.</blockquote>
  
'''Bumpstop Effect Enable'''  
+
====Bumbstop Effect====
 +
Bumbstop effect determines whether or not the firmware based bumpstops at the extents of wheel travel will be active.
 +
'''Bumpstop Effect Enable'''<blockquote>Enabling these bumpstops will not override any software bumpstops/endstops that are enabled in some games. NOT Enabling the endstop effect could result in continual wheel rotation beyond the set steering angle if the game you are using does not have software based endstops. This rotation beyond your set steering angle setting can cause issues in locating the centerpoint of the wheel after a rotation event. Also, if your wheel's button plate is connected with USB, then it could coil around motor shaft. Checking the box enables the function.</blockquote>
 +
'''Bumpstop Maximum Force'''<blockquote>This setting determines the percentage of maximum force to use for the endstops of your wheel. If you set this to 50% it means that when you reach the firmware bumpstop it will exhibit a force equal to 50% of the maximum force of your wheel. You can set this to whatever feels comfortable when you reach the extents of the steering rotation, the higher the number the harder the bumpstop will feel.</blockquote>
 +
'''Bumpstop Damping Effect'''<blockquote>This setting sets the percent of Damping to add to the wheel when it enters the Bumpstop effect ramp range. The Damping effect dulls the feel of wheel while it is in the Bumpstop ramp range as the force increases to the bumpstop force level.</blockquote>
 +
'''Bumpstop Effect Ramp Range'''<blockquote>This setting determines the number of degrees it takes for the bumpstop to ramp up to the set Maximum Strength. This feature acts as a steering wheel bushing and setting it to a lower degree provides a more abrupt stop of the wheel. This feature is currently limited to a maximum of 20 degree ramp.</blockquote>
  
This checkbox determines whether or not the firmware based bumpstops at the extents of wheel travel will be active. Enabling these bumpstops will not override any software bumpstops/endstops that are enabled in some games. NOT Enabling the endstop effect could result in continual wheel rotation beyond the set steering angle if the game you are using does not have software based endstops, this rotation beyond your set steering angle setting can cause issues in locating the centerpoint of the wheel after a rotation event. Checking the box enables the function.
+
==== Audible Notification Beeps ====
 +
<blockquote>The Audible Notification Beeps, when checked, will provide an audible confirmation when there is a completion of a SimuCUBE task. Currently there will be a slight musical tone at the end of phasing (successful IONI initialization) and upon finding your set index point.</blockquote>
  
'''Bumpstop Maximum Force'''
+
==== Desktop Centering Spring ====
 +
Desktop centering spring is an effect, which tries to center the wheel whenever there are no effects in SimuCUBE's effect memory. This means, that the Desktop Centering Spring is not typically active when there are any games running.
 +
'''Centering Spring Enabled'''<blockquote>This enables the desktop centering spring effect.</blockquote>
 +
'''Centering Spring Strength'''<blockquote>This controls the strength of the centering spring, when the wheel is at -450 or +450 degrees of rotation. You can set the force at this point to maximum of 200%, which would mean that the maximum centering force is reached already at -225 or +225 degrees.</blockquote>
 +
'''Saturation'''<blockquote>This controls the maximum force that the centering spring produces. By using this value, you can adjust very sharply centering wheel (via the Strength setting), but with ultimate force limited to this saturation torque percentage.</blockquote>
  
This setting determines the percentage of maximum force to use for the endstops of your wheel. If you set this to 50% it means that when you reach the firmware bumpstop it will exhibit a force equal to 50% of the maximum force of your wheel. You can set this to whatever feels comfortable when you reach the extents of the steering rotation, the higher the number the harder the bumpstop will feel.
+
==== USB Settings ====
 +
These two USB checkbox can be used to toggle on/off some support of USB features.  
 +
'''USB Suspend support'''<blockquote>This enables support for USB on SimuCUBE pausing all updates. This was developed to get around an issue, where the PC will not boot if the SimuCUBE is connected and powered on.</blockquote>
 +
'''USB Recovery support'''<blockquote>This enables support for trying to recover automatically from issue, where the SimuCUBE is present in the device manager and game controllers, but still shows "Disconnected" to the configuration tool.</blockquote>
  
'''Bumpstop Dampening Effect'''
+
If you find any issues using these features, then please report them on our Community Forum.
  
This setting sets the percent of Dampening to add to the wheel when it enters the Bumpstop effect ramp range. The Dampening effect dulls the feel of wheel while it is in the Bumpstop ramp range as the force increases to the bumpstop force level.
 
  
'''Bumpstop Effect Ramp Range'''
+
====  Configure Motor, Encoder, and Centerpoint button ====
 +
This wizard steps you through the process of setting up your SimuCUBE firmware.
  
This setting determines the number of degrees it takes for the bumpstop to ramp up to the set Maximum Strength. This feature acts as a steering wheel bushing and setting it to a lower degree provides a more abrupt stop of the wheel. This feature is currently limited to a maximum of 20 degree ramp.
+
===== Step 1: Selecting your motor configuration =====
 +
<blockquote>'''Use Existing Ioni Configuration as-is'''</blockquote><blockquote>If you know your IONI is currently set up correctly for your servo, power supply and encoder you can use this option to retain those settings and to only configure the SimuCUBE firmware for usage. This is the recommended option after migrating from a working MMOS setup or when there is such an update to SimuCUBE firmware that caused the wizard to be mandatory to be run again.</blockquote><blockquote>'''Select a Motor & Encoder from the dropdown'''</blockquote><blockquote>if you know what motor and encoder you have but have not previously set up your IONI to work with them you will want to select the motor and encoder that you have. This will properly setup the IONI for your configuration. The DRC files for this feature have not yet been released so even though this feature is functional there is nothing currently to select. Testing this feature during the beta testing phase is of course important.</blockquote>
  
==== Audible Notification Beeps ====
+
===== Step 2: Select Indexing Point =====
The Audible Notification Beeps, when checked, will provide an audible confirmation when there is a completion of a SimuCUBE task. Currently there will be a slight musical tone at the end of phasing (successful IONI initialization) and upon finding your set index point.
+
<blockquote>'''Automatic Indexing''' - Sets index immediately upon phasing completion. Please see ''Index in reference to the phasing'' section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.</blockquote><blockquote>'''Manual Indexing''' - Sets index after you turn the wheel past the physical encoder index point. Please see ''Index in reference to encoder ''section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.</blockquote>
  
=== Update Firmware ===
+
'''Note:''' If you have absolute encoder, then step to use absolute indexing will come up automatically in the wizard.
This button starts the Firmware Update Wizard which will place the SimuCUBE in update mode and install the firmware. This will also automatically update the IONI to the latest firmware once installed. ''(please see “Firmware Installation:” under Installation of SimuCUBE Bootloader and Firmware''' - '''for more information)''
+
  
When there is an firmware update, the new version will be shipped as a new zip file, and the configuration tool from the new version should be used to update firmware.
+
===== Step 3: Motor Initialization =====
 +
<blockquote>Motor phases and determines the index point based on settings that you have chosen.</blockquote>
  
=== Wheel Position and Centerpoint indication ===
+
===== Step 4: Setting the Center Point =====
The large wheel in this area represents your wheel with the circle and line representing wheel center. When calibrated correctly the wheel should be positioned so that wheel center is located at its uppermost position when your physical wheel is straight, in addition wheel position should indicate approximately 0 degrees. When you turn your wheel the jog wheel should turn in relation to your wheel position exactly.
+
<blockquote>Waiting for Index Point - If manual indexing was chosen during setup you will be asked to turn the wheel so SimuCUBE can locate the physical index point of the encoder. Automatic index setup will not see this page.</blockquote><blockquote>Set Wheel Center Point - finalizes the offset value of the wheel when Next is pressed so that wheel centering is correct whenever you turn on the SimuCUBE. Note: Automatic index point requires the wheel to be positioned straight at SimuCUBE start-up while manual indexing does not.</blockquote>
 
+
==== Reset Center ====
+
If for some reason your wheel is not indicating the correct position relative the jog wheel you more than likely have an offset center position. The easiest way to determine this is if your wheel is straight and the wheel center indicators on the jog wheel are not at their uppermost position. Press this button to reset the center location. Most typical reason for this happening, is when you connect to the Ioni drive via Granity, restart the drive in there and the wheel position changes enough from the position the wheel was in when you enabled Granity connection.
+
 
+
==== Analog Inputs Indication ====
+
In this area of the Axis and Button Status section you will be able to test functionality and output for your analog axis and digital buttons that are connected to the SimuCUBE. By pressing on the corresponding buttons or analog inputs (i.e. pedals) you will see their travel or activation in real time along with the HID output value indicated. If you are not receiving full range on a analog output you should calibrate the input of that device via the Configure Analog Inputs dialog.
+
  
==== Configure Analog Inputs ====
+
==== Configure Analog Inputs ====
 
In this sub-dialog you will find access to be able to have complete control over the analog inputs on the SimuCUBE. The dialog cannot be accessed before the Motor, Encoder and Centerpoint wizard is run and the SimuCUBE is configured.
 
In this sub-dialog you will find access to be able to have complete control over the analog inputs on the SimuCUBE. The dialog cannot be accessed before the Motor, Encoder and Centerpoint wizard is run and the SimuCUBE is configured.
  
Line 208: Line 264:
 
'''Raw Value:''' This number represents the Raw 16bit value that the channel is showing at any particular moment. The SimuCUBE does exhibit some noise in the analog system which can be seen in this raw value as constant fluctuation.
 
'''Raw Value:''' This number represents the Raw 16bit value that the channel is showing at any particular moment. The SimuCUBE does exhibit some noise in the analog system which can be seen in this raw value as constant fluctuation.
  
'''Minimum Value:''' The value placed in the minimum value moves the low value of the analog input. This value can be adjusted so that the static noise of the SimuCUBE or any devices connected are eliminated. An example for using this adjustment would be if your analog pedal is exhibiting a value of being pressed slightly when stationary, putting a minimum value will create a hardware deadzone so that the static signal is not seen by windows and subsequently any game. Having a value reduces the overall raw range of the device at input but allows for a cleaner signal at idle position. To easily figure out how to set this watch the number shown in the raw input and put a value in that is above the highest number shown. This number may jump around a bit.
+
'''Deadzone Low:''' The value placed in the deadzone low field adds deadzone to the analog input. This value can be adjusted so that the static noise of the SimuCUBE or any devices connected are eliminated. An example for using this adjustment would be if your analog pedal is exhibiting a value of being pressed slightly when stationary, increasing the low deadzone will create a hardware deadzone so that the static signal is not seen by windows and subsequently any game. Having a value reduces the overall raw range of the device at input but allows for a cleaner signal at idle position.  
  
'''Maximum Value:''' The value placed in the maximum value moves the endpoint percentage to match the maximum voltage output of the device connected. To set this you should lower the number until the maximum travel or input of your device shows at 100%. Once calibrated windows will recognise these settings as full range. To easily set this number press the pedal or device to its full extent and place the value shown in the raw input (or a number below) into the Maximum Value. By placing a number below the absolute Maximum you are creating a 100% zone at full travel. This can be used effectively for a short throw clutch, or making sure that you have 100% throttle.
+
'''Deadzone High:''' The value placed in the deadzone high field adds deadzone to the analog input's high end. To set this you should add deadzone until the maximum travel or input of your device shows at 100%. Once calibrated windows will recognise these settings as full range. This can be used effectively for a short throw clutch, or making sure that you have 100% throttle.
  
 
'''Invert:''' If your axis is showing up as being backwards from the intended input you will want to check the box for that channel.
 
'''Invert:''' If your axis is showing up as being backwards from the intended input you will want to check the box for that channel.
Line 221: Line 277:
 
</div>
 
</div>
  
=== Profile Settings ===
+
==== Update Firmware ====
===== Management =====
+
<blockquote>This button starts the Firmware Update Wizard which will place the SimuCUBE in update mode and install the firmware. ''(please see “Firmware Installation:” under Installation of SimuCUBE Bootloader and Firmware''' - '''for more information)''</blockquote><blockquote>When there is an firmware update, the new version will be shipped as a new zip file, and the configuration tool from the new version should be used to update firmware.</blockquote><div style="margin-left:0.953cm;margin-right:0cm;"></div>
SimuCUBE allows for multiple profiles to be saved directly to the firmware. This will allow you to have specific settings for game titles or vehicles which require settings that are significantly different from your normal. Instead of having to remember your changes you will be able to just select a different profile.
+
  
The attributes of the first profile can not be changed - it is a “Read-only safe profile”.
+
The Configuration Tool will automatically suggest an update after you launch a new version of it. This manual button can be used to place the SimuCUBE in to Firmwrae Updgrade Mode. If user quits the wizard when the wizard says "Found SimuCUBE in Firmware Upgrade mode", a downgrade to a previous firmware version can be performed..
  
In Management, select which profile you want to use by using the drop down menu. You can add new profiles, delete the current profile, and set the profile you wish to load by default. The default profile is indicated in green text to the the menu and it is indicated in '''BOLD''' in the dropdown menu. The first profile, “Read-only safe profile” cannot be deleted as it is used by the firmware during calibration. If a selected default profile is deleted, the “Read-only safe profile” will be set as the default profile would be loaded at the next startup.
+
=== Advanced Tab: ===
  
Anytime a change is made to a profile the firmware system will request that you save the settings to the SimuCUBE by flashing a red settings updated message next to the button. If you press this button ANY changes you have made will become permanent and will not be easily reversible. If you have made changes that you don't like using the Reload settings from SimuCUBE will revert to the last saved settings and profiles. Making a change without saving will allow use of those settings until the SimuCUBE is turned off.
+
==== Reload Settings from SimuCUBE ====
 +
<blockquote>This button will revert the profiles and their settings in memory to the last saved state.</blockquote>
  
===== General =====
+
==== Enable IONI USB Configuration ====
Here you will set the SimuCUBE preferences, power levels, and other working settings.<blockquote>''Profile Name: ''Shows currently selected profile in management and allows you to alter the name of the profile</blockquote><blockquote>''Steering Range:'' This reports the maximum total range of the wheel to report to Windows allowing programs to recognise the intended rotation of the wheel. The most common settings for steering range are 900 or 1080 degrees though some games may require less rotation to calibrate properly.</blockquote><blockquote>''Bumpstop Range (from axis limit):'' This setting allows you to indicate where the maximum force of the bumpstops, when enabled, will fall within the steering range. The actual usable steering range after the bumpstops are placed is indicated to the right of the input box. Using a positive will lower the effective Steering Range before the bumpstops take effect while using a negative number will place the bumpstops outside the effective range of the wheel. If the the Bumpstop Effect Ramp Range, from the hardware settings section, is set at 10 degrees (other values could be used) the ramp up in force to the bumpstop would happen at 10 degrees (in each direction) prior to the Maximum Bumpstop range indicated. If you do not want the bumpstops to take effect within the Steering Range then a Negative Number matching the Bumpstop Effect Ramp Range should be used.</blockquote><blockquote>''Overall Strength:'' When using this setting you can limit the overall strength that the SimuCUBE can provide. Reducing strength of the wheel may be needed for some games that do not have an alternative method of adjusting the the level of force you see in the game. This setting is also useful for temporarily reducing the force of your wheel to a level that is safe for children and inexperienced drivers.</blockquote><blockquote>''Maximum Motor Current <span style="color:#ff0000;">(not currently implemented)</span>:'' This setting will allow you to adjust the hardware based power delivery of the SimuCUBE up to your motor maximum power. This is similar to overall strength in that you can limit the maximum force of the wheel except that using the Maximum Motor Current does not attenuate the Signal entering the SimuCUBE. This adjustment is optimal for limiting power in programs that offer variable force output based on telemetry or by other means which, when attenuated, would reduce detail and feel. Currently you can make this adjustment only through Granity ''(see Actions Section of this guide).''</blockquote>
+
<blockquote>This button will enable you to connect to the IONI using the Granity software for advanced configuration. When IONI USB configuration is enabled the SimuCUBE will not work as Granity is using the communication connection to the IONI. You will need to disable IONI USB configuration to return SimuCUBE to operational state.</blockquote><blockquote>NOTE 1: If you have changed Maximum Motor Current (MMC) parameter via Granity, you should re-run the Configure Motor, Encoder and Center Point -wizard to let the Firmware know about this.</blockquote><blockquote>NOTE 2: MMC parameter will be changed to the maximum value right before the USB connection is enabled (SimpleMotion bus is released).</blockquote>
  
==== IONI Drive Servo Filtering ====
+
==== SimuCUBE Hardware Version ====
This section describes the use of the those filters on the IONI drive that are adjustable within the SimuCUBE configuration tool. With these filters you can significantly alter the feel of your wheel to maximize your experience. Please note extreme settings on some filters can cause them to become unstable and cause oscillations or other unintended and unwanted behavior.
+
<blockquote>Displays the hardware revision information of the SimuCUBE board.</blockquote>
  
<span style="color:#000000;">'''SimuCUBE Force Reconstruction Filter'''</span>
+
==== SimuCUBE Firmware Version ====
 +
<blockquote>Displays the currently installed firmware version.</blockquote>
  
<span style="color:#000000;">This filter is only available in the SimuCUBE firmware and allows the IONI to take a slower digitized incoming signal from a program at any frequency and reconstruct it based on a complex algorithm to increase the accuracy and smoothness of the signal while fully retaining the integrity of the original signal. This allows the SimuCUBE to update positioning and force information to the servo at the IONI’s maximum possible rate which smooths the action of the wheel while retaining all detail in the signal with minimal drawbacks. Setting this filter off disables it and the standard signal from the program being used is passed to the firmware. Currently the numbered options for the filter indicate the aggressiveness of the filter relative to the the most optimized setting for iRacing’s 60Hz signal (setting 5). At higher numbers the filter is more aggressive and will take longer to reconstruct the signal which will induce more latency (delay) into the signal. Currently the effects of the numbers are NOT linear and can result in many differing effects which vary between smooth and abrupt. Games other than iRacing may work best with a setting other than the iRacing optimized. As well you may find that you enjoy a setting different than the most optimized for your driving style. </span><span style="color:#ff0000;">NOTE: We are still determining the best settings for this filter and the best way to determine the filter effects so things could change as far as the filtering available for use with subsequent Firmware releases.</span>
+
==== Configuration Tool Version ====
 +
<blockquote>Displays the currently installed configuration tool version.</blockquote>
  
 +
==== IONI Drive Firmware Version ====
 +
<blockquote>Displays the currently installed IONI firmware version.</blockquote>
  
<span style="color:#000000;">'''Torque Bandwidth Limit''' </span>
+
==== Start everything from scratch <span style="color:#ff0000;">''(not currently implemented)''</span> ====
 +
<blockquote>Returns SimuCUBE to default state, erasing all flash memory and settings.</blockquote>
  
This setting is a filter point for the incoming set point information received by the IONI. The lower the setting the more smoothing due to cutting higher frequency information from the signal and in turn will slightly increase latency which result in a more dull subdued feeling at the wheel. There is also a possibility that lower numbers also lose some set point information which can result in inaccurate representation of position for a split second. Generally, you want to set this to as high as possible to allow for the most unfiltered information to get to the IONI. When using the reconstruction filter it is best to set this has high as possible (usually Unlimited). Some game titles do require lower TBW settings due to noisy or sharp feedback signals being implemented in their system.
+
==== DirectInput Notes ====
 +
<blockquote>These notes include all of the DirectInput Game created effects, Items shown in bold have been altered by the game within the last 30 seconds. This is currently a debug tool that is being used to determine which effects are being used by which games.</blockquote>
  
 +
==== Reset FFB Device State button ====
 +
<blockquote>This button resets the DirectInput Filters to a default state. This is good to return feedback to a default state should a DirectInput using game crash while effects are still created and running.</blockquote>
  
<span style="color:#000000;">'''Peaking and Notch Filter'''</span>
+
==== Debug log ====
 +
<blockquote>Download debug log -button can be used to download a log of the last 1000 events from the SimuCUBE memory. This can be useful in giving support for various issues. User can also change what events or valus are logged via the associated dropdown and Set verbosity level -button.</blockquote>
  
This filter provides specific localized suppression or enhancement to a certain frequency range. Generally used to eliminate unwanted peaks (use notch) or dips (use peak) in the signal that provide unwanted abnormalities wheel reaction. An example would be excessive or extreme oscillation in the wheel.
+
==== Debug Notes ====
* Center Frequency (Hz) - Sets the frequency where the filter is to take effect within the signal. When setting this attribute, it tends be most effective to adjust it while in program as it is so specific in what it will actually affect it is hard to just guess as to what frequency it should be located at.
+
<blockquote>The bottom area of the Advanced tab is reserved for debug counters, displays of miscellaneous values, etc. Users can disregard them if there are no other issues.</blockquote>
* Attenuation - This setting controls how much notch filter will subdue the signal in db. The deeper the notch the wider the frequencies are that are affected and the more dramatically diminished the designated center frequency is. If the number used in this location is positive you are now using a peaking filter (raising the signal frequency), negative numbers are notch and what is normally used with the SimuCUBE.
+
* Q Factor (Quality Factor) - The quality factor determines how quickly the frequency returns after attenuation. A lower number indicates a slower return to normal around the center frequency effectively widening the number of frequencies that are affected by the filters notch.
+
  
'''Other Filters'''
+
=== Configuration Tool Customization and Branding ===
 +
The Wheel image in the Configuration Tool can be replaced by your own image, starting from the Configuration Tool version 0.9.4. Suitable image is 400 x 400 px sized PNG file, with transparency set. Save the image as wheelimage.png to the same folder as the Configuration Tool.
  
The other filters affect the tactile characteristics of the SimuCUBE allowing changes to be made that can dramatically alter the feel of the wheel allowing you to achieve the the most natural and comfortable experience you can.
+
The Granite Devices SimuCUBE logo on the top of the Configuration Tool can be replaced by white-listed logo of a reseller or other partner. Send us image files for whitelisting. Suitable image size is 400 x 50 px PNG file with transparency set. Save the file as brandbanner.png to the same folder as the Configuration Tool.
 +
 
 +
== Troubleshooting Guide ==
 +
 
 +
=== Bootloader Installation issues ===
 +
 
 +
==== #1 DFUse failing to recognize STM Device in DFU Mode when trying to install bootloader ====
 +
This issue is due to a missing or wrong driver being installed into Windows. Symptom is that your SimuCUBE is showing up in device manager under other devices as "STM32 Bootloader", with a yellow exclamation mark as the icon, under other devices.  This means that your Windows installation does not have the correct STM32 Bootloader driver installed for the device.
 +
 
 +
To correct you will need to install the correct driver for the SimuCUBE bootloader by following the steps below. The correct driver should be located within the STMicroelectronics programs folder. If it is not please use one of the links below to locate the correct driver for installation.<blockquote><br>
 +
'''1.''' - Left click on the STM32 Bootloader to bring up the device properties.</blockquote><blockquote>'''2.''' - Click on Update Driver</blockquote><blockquote>'''3.''' - Click Browse my Computer for Driver Software</blockquote><blockquote>'''4.''' - Click "Browse..." and locate the driver. (PC / C Drive / Program Files (x86) / STMicroelectronics / Software / DFuSe v3.0.5 (or version being used) / Bin / Driver / (select your system use Win8.1 for win10)</blockquote><blockquote>'''5.''' - Click OK to Set Path for Driver</blockquote><blockquote>6. - Click Next (windows should now install the correct driver)</blockquote>Once completed the SimuCUBE STM32 Bootloader should relocate to the USB bus under the name "STM Device in DFU mode", at this point you should be able to open up DFUse and see the device in the available DFU devices menu. You will now be able to install the Bootloader.
 +
 
 +
If the correct driver is not currently present on your system then you will need to download it from one of the following links:
 +
 
 +
http://www.st.com/en/development-tools/stsw-stm32102.html for Windows 7 or 8
 +
 
 +
http://www.st.com/en/development-tools/stsw-stm32080.html for Windows 8.1 or 10
 +
 
 +
With Windows 10 you may also be able to delete the STM32 Bootloader device from the device manager menu and it could reinstall with the correct driver.
 +
 
 +
====  #2 Bootloader fails to upload to SimuCube and MMOS Firmware is retained ====
 +
There have been some issues with the Bootloader DFU not being retained on the SimuCUBE Firmware processor, where the MMOS software is retained and the installation has failed. There are a few things that can be happening. 
 +
<blockquote>'''2a.''' - If the upgrade fails as unsuccessful and you entered DFU mode via MMOS electrically please make sure the MMOS control panel is closed, It seems that if it is open it can cause the upload to fail with an error.</blockquote><blockquote>'''2b.''' - Try extracting the bootloader.dfu directly from the .zip file to the desktop, instead of pointing the DfuSeDemo tool to open the file from inside the zip file. There appears to be an issue with the way the Windows standard extractor / Windows Explorer Shell Extension handles the files when not extracting the full archive that can corrupt the .dfu file to where it will not pass verification when installed.</blockquote><blockquote>'''2c.''' - Though it is NOT Suggested to not verify the upload to the STM32 it appears that by disabling the verification process you could be successful in installation. This could be a byproduct of #2 in that the .dfu is correct but some checksum is not failing verification and bypassing this step allows it to work correctly. This method is not recommended because if something does go wrong you can cause the SimuCUBE to lock itself up requiring the use of the “Case C” method of forcing the SimuCube into DFU mode for installation.</blockquote><blockquote></blockquote>
 +
 
 +
=== Granity Related Errors ===
 +
 
 +
==== #1 Automatic IONI Firmware update fails ====
 +
In the case of the IONI Firmware failing automatic updating you will need to install the latest IONI firmware manually. To correct the issue you will need to download the latest version of [[Granity]] and the Latest IONI Firmware from the links below and follow the subsequent steps:
  
 +
http://granitedevices.com/wiki/IONI_firmware_releases - IONI Firmware Download
  
'''Dampening Filter'''
+
http://granitedevices.com/wiki/Granity#Download - Granity Download
  
Dampening within the IONI is designed to limit overshoot that the servo itself is inducing due to velocity of the armature. The filter works by trying to resist all movement by creating a signal that tries to reposition the servo back to it’s intended location, Increasing the % adds dampening. Think of this setting as a shock absorber for the wheel does not change the feedback but will slow the resulting effect as it reaches or returns to it's destination. The goal of this setting is to cut out unwanted positional errors due to the servo overshooting the intended positioning which could cause unintended forces to be delivered to the servo due to the positioning of the servo being out of position when a force is sent to the wheel. This overshoot error can show up as oscillations of the wheel when dampening is set to low since the wheel will overshoot and the game will try to correct the issue causing the wheel to overshoot in the opposite direction creating a feedback loop. In the case of the SimuCUBE if you turn the dampening up too far and over dampen the system the steering will feel dull as it continually will try to adjust to return to the intended position resisting both your actions as well as the feedback signal. It is normal to have a small bit of over dampening in the system to be able to reduce the possibility of the oscillation. This setting is best used to dull the feel of the wheel as it reduces the reactiveness of everything and sort of flattens out the feedback feel. This can make the wheel feel at times sluggish. But at the same time due to the nature of dampening trying to stay on position it can also ease steering effort at load because the wheel will be actively trying to stay in its intended position.. In terms of car feel more dampening feels a bit like soft or under inflated tires while less dampening feels like tires that have been inflated or have harder sidewalls.  
+
<blockquote>'''1.''' Place the Simucube into IONI communication mode by pressing on the Enable IONI USB Configuration button in the actions section of the configuration tool.</blockquote><blockquote>'''2.''' Open Granity</blockquote><blockquote>'''3.''' Connect to IONI Device through the connection tab (IONI may already be listed in firmware upgrade mode)</blockquote><blockquote>'''4.''' Click upgrade firmware</blockquote><blockquote>'''5.''' Choose the firmware file (latest) that you downloaded.</blockquote><blockquote>'''6.''' After firmware has completed installation reconnect to the IONI to verify success</blockquote><blockquote>'''7.''' Close Granity, Save, and Restart drive if requested.</blockquote><blockquote>'''8.''' Go back to the SimuCUBE Configuration tool and Disable IONI USB Configuration.</blockquote>SimuCUBE should now be operational and ready for you to configure your Motor, Encoder, and Centerpoint at this time.
  
<span style="color:#000000;">'''Friction Filter'''</span>
+
==== #2 Communication Faults ====
 +
These faults (''481001 & others'') are normal and can be ignored they are self induced by the way the SimuCUBE firmware communicates with the IONI. These should become less common as communication methods with IONI are being constantly improved.
  
<span style="color:#000000;">The friction parameter adds artificial dead weight to the feel of the SimuCUBE. The friction filter adds resistance across the entire signal bandwidth. Going too far on this parameter can actually override the forces applied by the software and cause the wheel to not move. In essence this parameter slows the reaction of the wheel. This filter is best used to mimic what would be steering hardware in a real car and all the friction in the steering caused by the steering rack, ball joints, bushings, ect.. Including tire contact patch drag. This filter will also limit a feedback by-product that feels a bit like a rubber band. This effect comes from the fact that force feedback for the most part is designed to return the steering wheel to the next position point no matter what you do and to do that it adds power in the opposite direction that you are turning.. The rubber band feeling comes from when you quickly turn in the direction that the force is wanting you to go and then back into the force.. When you do this with a high speed system, such as the OSW, that can move the wheel faster than you can turn it yourself, you effectively lose all feeling of force when turning with the power making the turn motion overly light. if you weave like this around a constant radius corner you will find that you get this heavy feeling and then no feeling, heavy and then none, like stretching and releasing a rubber band. By adding a friction % you will slow the wheels ability to return to center in a more progressive manner allowing you to turn the wheel back toward center and retain some feeling of force in the return motion. Note, that the higher you set the friction the more friction you will have in both directions of movement so by adding friction you can increase the force required to turn the car to a possibly unacceptable level and as well diminish the speed of wheel return which can affect your ability to catch a slide. This should be adjusted to a level that you feel is realistic. This setting would be best used if you feel the forces of the wheel are correct but the steering feels overly light in nature during certain movements, by increasing it you are not seriously affecting the way the feedback translates to the wheel but you are adding weight to the steering mimicking the drag that would be in a real life steering rack. </span> 
+
==== #3 Centerpoint Loss after using Granity ====
 +
If you restart the IONI drive in Granity when making changes the Simucube firmware will generally reset your centerpoint location to unknown. The IONI drive restart is sometimes forced upon leaving Granity. Click on the center wheel button and this will set the correct offset for the session. 
  
<span style="color:#000000;">'''Inertia Filter'''</span>
+
==== #4 Other Faults ====
 +
Please look up the fault number that will be present in Fault Location ID 1 or Fault Location ID2 on the following page:
  
The Inertia filter provides a signal to the wheel that attempts to reduce the Inertia of the wheel. In essence a wheel of zero inertia would spin forever and a wheel of infinite Inertia would never be able to be moved no matter how much force you put to it. Adding % lowers inertia, the main effect of this is that when the wheel is given a signal it will try to add force in the same direction as the rotation of the wheel making the wheel have less inertia so it spins more freely. However, in relation to force feedback this is a bit of a double edged sword in that if you are turning the wheel into the force being applied the inertia filter will attempt to apply additional force to the wheel to get it moving in the direction that the signal from the feedback system is telling it to go in. This in feel is very similar to the rubber banding feedback effect mentioned in the Friction filter as when you turn the wheel further from the intended target return point the forces applied by the inertia filter will ramp up making the wheel feel heavier. If you turn into this force and let off the return forces will feel much lighter than the initial forces as the inertia filter can freely apply force to return the wheel to its intended location. This feel can seem like power steering in a way as if you are turning with the force the feel will be lighter than normal. In addition this has the effect of softening (but not reducing strength) of some jolts due to the ramp-up of the forces when turning into the force. Using too much Inertia will cause a vague center feel as the wheel tries to continue moving past center even though you would want it to stop. 
+
https://granitedevices.com/wiki/Fault_location
  
NOTE: Correlation between the Friction filter and Inertia filter - The Friction filter when applied has stiction which means that the weight of signal being applied creates friction that resists movement (adding inertia) which causes an abrupt stop of the wheel when you let go. The Inertia filter can be used to allow the Friction filter to apply this weight to the wheel while softening the stopping action by reducing the stiction effect and allowing the wheel to not stop abruptly but to slowly ramp down to a stop in rotation.
+
Most of these faults are self explanatory and can be fixed with an adjustment to the fault or machine setting related to the trigger.
  
=== Actions ===
+
=== iRacing Related Errors ===
The SimuCUBE will auto apply changes (every 2 seconds if a change is noted) to your settings in memory so that you are able to do realtime adjustment of settings while using your wheel so that you can easily test the feel of the settings and changes made. The actions section of this firmware allow you to save your changes permanently or to revert to the last saved settings.
+
  
===== Save Settings to SimuCUBE =====
+
==== #1 When Configuring the wheel a “Steering Required a Dual Axis Device” error comes up ====
This button saves the current settings and profiles stored in memory to the SimuCUBE flash memory so that they are available whenever you start up. Please note the save action will take around 2 seconds on SimuCUBE hardware. During this time games will not receive inputs and the wheel won’t receive new commands. '''This could cause unexpected effects in games''', as it is possible that games might classify a 2-second freeze as controller disconnection.
+
This is an issue with the iRacing calibration tool. Make sure that you do not touch any pedals or other analog input when you are calibrating the steering. If you have pedals connected to the SimuCube either disconnect them temporarily or make sure that their dead zone (set in the Analog Configuration window in the Simucube Configuration Tool) is set high enough to remove any low level noise..
  
===== Reload Settings from SimuCUBE =====
+
What is occurring is that between the rotation and the angle steps, iRacing will reset the calibration device to whatever it sees first,  If the first seen device is a single axis analog input (i.e. Pedal),  iRacing will cause the calibration to fail. The device being calibrated must remain the same or be auto reset to back to the dual axis steering device. To force iRacing's auto detect to change back to the wheel (dual axis device) you must turn the wheel well past the requested 90 degrees (to maybe about 180) and then back to 90 degree location before confirming.
This button will revert the profiles and their settings in memory to the last saved state.
+
  
===== Enable IONI USB Configuration =====
+
iRacing has been contacted about this issue it is unknown whether it will be fixed or on what timetable.
This button will enable you to connect to the IONI using the Granity software for advanced configuration. When IONI USB configuration is enabled the SimuCUBE will not work as Granity is using the communication connection to the IONI. You will need to disable IONI USB configuration to return SimuCUBE to operational state.
+
  
===== SimuCUBE Firmware Version =====
+
== Returning to using 3rd-party firmware (MMOS) ==
Displays the currently installed firmware version.
+
To return to using 3rd-party firmware you will be required to access the SimuCUBE board by opening the case that it is in and manually setting the simuCUBE to DFU mode described in "Case C": [[Installing MMos firmware into SimuCUBE|Installing MMos firmware into SimuCUBE#Case C]]
  
===== Configuration Tool Version =====
+
The SimuCUBE must be powered down when enabling DFU mode manually, when you turn the SimuCUBE back on it will be in DFU mode
Displays the currently installed configuration tool version.
+
  
===== IONI Drive Firmware Version =====
+
Please follow these instructions for installation [[Installing MMos firmware into SimuCUBE]]
Displays the currently installed IONI firmware version.
+
  
===== Start everything from scratch <span style="color:#ff0000;">''(not currently implemented)''</span> =====
+
'''''Warning:''''' if you are using the SimuCUBE acrylic case please be careful when opening as the acrylic can be brittle and crack
Returns SimuCUBE to default state, erasing all flash memory and settings.
+
  
 
[[Category:SimuCUBE]]
 
[[Category:SimuCUBE]]
 +
[[Category:SimuCUBE_troubleshooting]]
 
[[Category:SimuCUBE_user_guide]]
 
[[Category:SimuCUBE_user_guide]]
 +
[[Category:Software]]
 +
[[Category:Troubleshooting]]

Latest revision as of 11:34, 30 May 2019

IMPORTANT NOTES
EVERY beta tester should read our SimuCUBE wiki page to get familiar with the SimuCUBE system: https://granitedevices.com/wiki/SimuCUBE
EVERY beta tester should read this guide completely before attempting to install SimuCUBE Open Source firmware during the beta testing phase.

The Firmware and this Guide are both work in progress, please make sure that you are using the latest version of the guide, which is posted on our wiki site.

Contents

Simucube 2[edit | edit source]

This user guide is not for Simucube 2, but some filter descriptions are still valid.

Simucube 2 user guide will be published on https://www.simucu.be website when it is ready.

Notes and Warnings[edit | edit source]

Hardware support[edit | edit source]

Due to hardware differences, SimuCUBE firmware is only supported on SimuCUBE builds and will not work on builds based on IoniCUBE or ARGON.

Beta disclaimer[edit | edit source]

Please take note that the firmware is a Beta version. Unexpected full forces left/right motions could happen at any time. Please take extra precaution and have your e-stop button close by.

Please do not use the beta in official races or other important events.

Bug and problem reporting[edit | edit source]

Please do not send support requests regarding the beta version to the Granite Devices support emails. Instead, please register to our community forum at https://community.granitedevices.com/ and use appropriate thread there.

Features that work and features that won’t work yet[edit | edit source]

The SimuCUBE Configuration Tool has many things marked in RED. These features are not currently implemented and do not work. Please do not try to test these items as we already know that they don’t work.

Some screens have obvious warnings, these are also indicated in RED. These are fully functional, working indicators and should be noted when some of the features are used.

Game support[edit | edit source]

Currently Supported Titles

As of firmware version 0.9.4, most of the DirectInput FFB games are supported.

Safety disclaimer[edit | edit source]

Installation of SimuCUBE Bootloader and Firmware[edit | edit source]

Steps to verify before starting[edit | edit source]

The following settings must be done, before updating to SimuCUBE firmware, to get the most easy upgrade. Note, that these only concern those that already use the third-party MMOS firmware.

Connect to drive via Granity, and then

  • Check that SMO value (SM Bus Address Offset), found on the Goals tab, is 0. If not, change it to 0.
  • Check that you have NOT enabled any homing function in the IONI drive settings.
  • Check that you have NOT configured a limit switch function to do something in IONI drive.
  • Check that HV Bus Voltage on the Testing tab in Granity, and verify that your Overvoltage Fault Threshold is at least 1.5 V or 2.0 V above it. Later IONI firmwares require this additional margin.
  • Check that the Maximum Motor Current is slightly above the Maximum Continuous Current.
    • All of the above points mostly concern DIY builders, who have configured their systems by themselves.
    • If any changes had to be made, save settigns to drive, and restart drive.
  • Please make sure the drive has been updated to at least IONI firmware version 1.6.1 (version code 10601) or later. Earlier IONI firmware versions lack the support for automatic firmware update mechanism that SimuCUBE firmware utilizes.
    • If your installed IONI Fimware is prior to the one listed above then you must update the IONI firmware manually using Granity. (see Troubleshooting: #1 Automatic IONI Firmware update fails)

Bootloader Installation[edit | edit source]

This step must be done only if you (or your retailer) have NOT previously installed a SimuCUBE bootloader. If you have a system with MMOS Drive Firmware installed start at step #1, If you have a NEW SimuCUBE purchased direct from Granite Devices or from a retailer that does not install firmware the device should be in DFU mode and you can start at step #3. If the SimuCUBE is not in DFU and MMOS is not installed you will need to manually enable DFU mode by using the #CASE C method described in the "Setting SimuCUBE into Device Firmware Mode (DFU)" section of the Installing MMos firmware into SimuCUBE page.


Actual Bootloader Installation[edit | edit source]

If Currently Using MMOS - Enable DFU mode within MMOS and install the supplied SimuCube Bootloader DFU file using DfuSeDemo which is available here: http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1533/PF257916


NOTE: Once DfuSeDemo has successfully installed the SimuCUBE Bootloader using the MMOS method click on the Leave DFU mode to reset your SimuCUBE back to run mode. You may need to cycle the power waiting a few seconds in between Power Down and Power Up to get Windows to recognise the new HID Device titled “SimuCUBE in firmware update mode”. The Leave DFU mode will not work when using the dip switch “Case C” method as described below.


Instructions for installing firmware (bootloader) with DfuSeDemo are included in the link below. In addition If you are unable to get MMOS to enable DFU mode, setting DFU mode will need to be done manually, this process is covered as “Case C” under “Setting SimuCUBE into Device Firmware Mode (DFU)”:

https://granitedevices.com/wiki/Installing_MMos_firmware_into_SimuCUBE#Setting_SimuCUBE_into_Device_Firmware_Mode_.28DFU.29

If the bootloader firmware fails to install using any of the methods above (retaining MMOS functionality) please see the Trouble Shooting section of this guide.

Successful bootloader installation and startup is noted by the SimuCUBE status LEDs located next to the green power LED lighting up one-by-one, after which they will go off with the power LED remaining lit.

Step by Step Install for Bootloader from MMOS:

This link below is a video that shows the basic SimuCUBE Firmware installation process from start to finish. It also shows the common troubleshooting case where Windows installs an incorrect driver for the STM32 Bootloader device initially, and how to update the driver for it so installation will go smoothly. This issue is also covered in the Trouble Shooting section of this guide.

https://www.youtube.com/watch?v=e16MU0ckcjo

#1: Click on DFU Mode button (USB connection ICON should turn red)
1dfumode.jpg
#2: Close MMOS (not closing MMOS Control panel can cause DFU installation failure)

#3: Open DFUse Demo (verify that "STM Device in DFU Mode" is in the dropdown menu at top)

2dfusedemolist.jpg
#4: Set the SimuCUBE bootloader.dfu as the file to be transferred click on Choose in the Upgrade and Verify Section of DFUse and locate the simucube-bootloader.dfu file within the SimuCUBE Configuration Tool Folder (or the desktop if you have had to extract it separately)
3dfuselect.jpg
3bfilename.jpg

#5: Make sure that "Verify after download" is checked. (in the Upgrade and Verify Section of DFUse)

#6: Click on Upgrade in the Upgrade and Verify Section of DFUse
6upgrade.jpg
#7: Click OK on the Dialog that comes up
7verify.jpg

#8: After Successful upload Click on "Leave DFU Mode" toward the top center of the DFUse interface. If you forget to do this step you will need to power down the SimuCUBE, wait a few seconds and then turn the SimuCUBE back on..

#9: Close DFUse Demo

SimuCUBE Firmware Installation[edit | edit source]

After installing the SimuCUBE Bootloader, the SimuCUBE will start up in firmware update mode. The SimuCUBE Firmware must be installed using the SimuCUBE Configuration Tool with the Firmware Update Wizard. Installation by ANY other method will not work.

Once the Bootloader is installed via the instructions above Open the SimuCUBE Configuration Tool. As of firmware version 0.9.4 and later, the firmware update wizard will automatically open.

After the SimuCUBE firmware has been successfully installed, SimuCUBE will boot automatically and update the IONI firmware to the latest version automatically. Please wait for the firmwrae update wizard to finish, including the countdown on the last page of the wizard, before doing any power-cycling of the system. After the wizard closes, the Configuration Tool will close and it must be reopened to start using SimuCUBE.


If the SimuCUBE Configuration Tool is open while the IONI Firmware is being updated it will indicate that an updating is occurring, along with the percentage of update done. It will NOT provide you with a separate indication of completion. Upon completion, the Operating Mode status indicator will show the current operation mode. This could be “Hardware settings not configured”, “waiting for index point”, or “Operational”. Successful update can verified by looking at the IONI Drive Firmware Version number on the Advanced Tab of the configuration software. On successful completion of the update to the IONI Firmware the three red SimuCUBE status LEDs, next to the power indication LED on the SimuCUBE mainboard, will flash two times (on-off-on-off) with 1-second on and off times.

At the time of writing this guide, the required and correct IONI firmware version is 10700. An updated version of Granity may be needed for use to configure the IONI drive with this firmware. Granity can be downloaded separately from here: http://granitedevices.com/wiki/Granity#Download

SimuCUBE Configuration Tool User Guide[edit | edit source]

NOTE: Before using the SimuCUBE Firmware with your system please make sure that ALL previous drivers and software from any other wheel systems has been un-installed or deactivated to mitigate any possible incompatibilities or conflicts that could cause unusual or erratic behavior from the SimuCUBE.

The purpose of this firmware and tool combination is to simplify and optimize the SimuCUBE to improve the user experience and simplify the set-up of your wheel. To this extent we are trying to keep this tool as easy to use and straight forward as possible with all of the needed information regarding the function of the SimuCUBE and any connected devices readily accessible and understandable. This firmware includes advanced features to improve and allow the SimuCUBE to be vastly adjusted in feel to give any user the experience that they prefer in (eventually) any game. As of firmware release 0.8.11 the new Tabbed interface was introduced.. The older style implementation will no longer be referenced.

Fixed Information:[edit | edit source]

The following information is provided on a constant basis regardless of the Tab you are looking at in the interface.

Operating Mode[edit | edit source]

This indicator tells the current state of the SimuCUBE. Under normal conditions this will read Operational and your SimuCUBE will be functional in game. Other information could include items like IONI USB Mode, Firmware upgrade mode, as well as other states.

Active Profile[edit | edit source]

This indicates name of the active profile currently in use.

E-Stop & Motor Status[edit | edit source]

This area will indicate if you have your e-Stop activated as well as if your motor has faulted for any reason. There will be an indication of what code was faulted to make any sort of troubleshooting easier. Cycling E-stop button will also clear faults.

Save Settings to SimuCUBE button[edit | edit source]

This button at the bottom of the interface will save all changes made to the SimuCUBE. If the up to date indicator above this button is green you do not need to save any settings. If this indicator is blinking red it means something has changed and if you want to retain those settings after power cycling the SimuCUBE you will NEED to use this button to save the settings. If you are unsure that you wish to permanently keep the settings that you change then do not save the settings and the next time you restart the SimuCUBE you will revert back to your prior settings. Please note the save action will take around 2 seconds on SimuCUBE hardware. During this time games will not receive inputs and the wheel won’t receive new commands. This could cause unexpected effects in games, as it is possible that games might classify a 2-second freeze as controller disconnection.

Overview Tab:[edit | edit source]

The overview tab provides you with all of the pertinent information regarding the settings currently on your SimuCUBE.

Wheel Indicator & Reset Center Button[edit | edit source]

The large wheel in this area represents your wheel. When calibrated correctly the wheel should be positioned so that wheel center is located at its uppermost position when your physical wheel is straight, in addition wheel position should indicate approximately 0 degrees. When you turn your wheel physically the indicated wheel should turn in relation to position exactly. If your physical wheel when straight is not straight with the wheel for any reason you may temporarily reset the center point of the wheel by clicking on the Reset Center button. To permanently change the center offset you will need to run the Configure Motor, Encoder, and Centerpoint wizard on the Hardware Set-up tab.

Analog Inputs Indication[edit | edit source]

These indicators will allow you to test functionality and output for your analog axis and digital buttons that are connected directly to the SimuCUBE. By pressing on the corresponding buttons or analog inputs (i.e. pedals) you will see their travel or activation in real time along with the HID output value indicated. If you are not receiving full range on a analog output you should calibrate the input of that device via the Configure Analog Inputs dialog on the Hardware Set-up tab.

Profiles Tab:[edit | edit source]

This tab provides all of the user adjustable features that are saved under each profile setting that you create. SimuCUBE allows for multiple profiles to be saved directly to the firmware and selected at any time. Currently there is a limit of 500 different profiles that can be saved for use at any time.

Management[edit | edit source]

The attributes of the first profile in the dropdown menu can not be changed - it is a “Read-only safe profile”. To select other profiles just select whichever profile name you wish from the menu.
Add button: Adds new active profile to the menu and preselects some default parameters.
Copy button: Copies the existing profile to a new profile.
Delete button: Deletes currently selected profile. if the default profile is deleted, the "Read-only safe profile" will be set as the new default profile and it will be loaded at next startup. On clicking this button, a Yes/Cancel dialog opens to prevent accidental profile deletion.
Set as default: Sets the profile you wish the SimuCUBE to load by default. The default profile is indicated in green text to the the menu and it is indicated in BOLD in the dropdown menu.
Add profiles from file: Adds all profiles from simucubeprofiles.ini file. This does not overwrite current profiles.
Export profiles to file: Saves all profiles to simucubeprofiles.ini file. If file exists already, all existing profiles in the file will be overwritten.
Reorder profiles: Opens a dialog where profiles can be re-ordered via drag and drop.

The first profile, “Read-only safe profile” cannot be deleted or re-ordered as it is used by the firmware during calibration.

Anytime a change is made to a profile the firmware system will request that you save the settings to the SimuCUBE by flashing a red settings updated message next to the button. If you press this button ANY changes you have made will become permanent and will not be easily reversible. If you have made changes that you don't like, the "Reload settings from SimuCUBE" button on the Advanced -tab will revert to the last saved settings and profiles. Making a change without saving will allow use of those settings until the SimuCUBE is turned off.

General[edit | edit source]

Here you will set the SimuCUBE preferences, power levels, and other working settings.
Profile Name: Shows currently selected profile in management and allows you to alter the name of the profile
Steering Range: This reports the maximum total range of the wheel to report to Windows allowing programs to recognise the intended rotation of the wheel. The most common settings for steering range are 900 or 1080 degrees though some games may require less rotation to calibrate properly.
Bumpstop Range (from axis limit): This setting allows you to indicate where the maximum force of the bumpstops, when enabled, will fall within the steering range. The actual usable steering range after the bumpstops are placed is indicated to the right of the input box. Using a positive will lower the effective Steering Range before the bumpstops take effect while using a negative number will place the bumpstops outside the effective range of the wheel. If the the Bumpstop Effect Ramp Range, from the hardware settings section, is set at 10 degrees (other values could be used) the ramp up in force to the bumpstop would happen at 10 degrees (in each direction) prior to the Maximum Bumpstop range indicated. If you do not want the bumpstops to take effect within the Steering Range then a Negative Number matching the Bumpstop Effect Ramp Range should be used.
Overall Strength: When using this setting you can limit the overall strength that the SimuCUBE can provide. Starting from Firmware version 0.8.0 this will be a percentage of the value that is read from IONI drive firmware right after motor initialization. Reducing strength of the wheel may be needed for some games that do not have an alternative method of adjusting the the level of force you see in the game. This setting is also useful for temporarily reducing the force of your wheel to a level that is safe for children and inexperienced drivers.
Maximum Motor Current: This indicates the actual Maximum Motor Current (MMC) value being used in the visible profile.

IONI Drive Servo Filtering[edit | edit source]

This section describes the use of the those filters on the IONI drive that are adjustable within the SimuCUBE configuration tool. With these filters you can significantly alter the feel of your wheel to maximize your experience. Please note extreme settings on some filters can cause them to become unstable and cause oscillations or other unintended and unwanted behavior.

SimuCUBE Force Reconstruction Filter[edit | edit source]

This filter is only available in the SimuCUBE firmware and allows the IONI to take a slower digitized incoming signal from a program at any frequency and reconstruct it based on a complex algorithm to increase the accuracy and smoothness of the signal while fully retaining the integrity of the original signal. This allows the SimuCUBE to update positioning and force information to the servo at the IONI’s maximum possible rate which smooths the action of the wheel while retaining all detail in the signal with minimal drawbacks. Setting this filter off disables it and the standard signal from the program being used is passed to the firmware. Currently the numbered options for the filter indicate the aggressiveness of the filter. At higher numbers the filter is more aggressive and will take longer to reconstruct the signal which will induce more latency (delay) into the signal. Currently the effects of the numbers are NOT linear and can result in many differing effects which vary between smooth, abrupt, or even unstable.

  • NOTE: We are still determining the best settings for this filter and the best way to determine the filter effects so things could change as far as the filtering available for use with subsequent Firmware releases.
Torque Bandwidth Limit[edit | edit source]

This setting is a filter point for the incoming set point information received by the IONI. The lower the setting the more smoothing due to cutting higher frequency information from the signal and in turn will slightly increase latency which result in a more dull subdued feeling at the wheel. Generally, you want to set this to as high as possible to allow for the most unfiltered information to get to the servo drive. When using the reconstruction filter it is best to set this has high as possible (usually Unlimited). Some game titles do require lower TBW settings due to excessively noisy or sharp feedback signals being implemented in their FFB signals.

Peaking and Notch Filter[edit | edit source]

This filter provides specific localized suppression or enhancement to a certain frequency range. Generally used to eliminate unwanted peaks (use notch) or dips (use peak) in the signal that provide unwanted abnormalities wheel reaction. An example would be excessive or extreme oscillation in the wheel.

  • Center Frequency (Hz) - Sets the frequency where the filter is to take effect within the signal. When setting this attribute, it tends be most effective to adjust it while in program as it is so specific in what it will actually affect it is hard to just guess as to what frequency it should be located at.
  • Attenuation - This setting controls how much notch filter will subdue the signal in db. The deeper the notch the wider the frequencies are that are affected and the more dramatically diminished the designated center frequency is. If the number used in this location is positive you are now using a peaking filter (raising the signal frequency), negative numbers are notch and what is normally used with the SimuCUBE.
  • Q Factor (Quality Factor) - The quality factor determines how narrow the frequency band being affected by this filter is. Higher Q-value means the filter affects a narrower band of frequencies around the given Center Frequency.
Other Filters[edit | edit source]

The other filters affect the tactile characteristics of the SimuCUBE allowing changes to be made that can dramatically alter the feel of the wheel allowing you to achieve the the most natural and comfortable experience you can.

Damping Filter[edit | edit source]
Damping within the IONI is designed to limit overshoot that the servo itself is inducing due to velocity of the armature. The filter works by trying to resist all movement by creating a signal that tries to reposition the servo back to it’s intended location, Increasing the % adds dampening. Think of this setting as a shock absorber for the wheel does not change the feedback but will slow the resulting effect as it reaches or returns to it's destination. The goal of this setting is to cut out unwanted positional errors due to the servo overshooting the intended positioning which could cause unintended forces to be delivered to the servo due to the positioning of the servo being out of position when a force is sent to the wheel. This overshoot error can show up as oscillations of the wheel when dampening is set to low since the wheel will overshoot and the game will try to correct the issue causing the wheel to overshoot in the opposite direction creating a feedback loop. In the case of the SimuCUBE if you turn the damping up too far and over dampen the system the steering will feel dull as it continually will try to adjust to return to the intended position resisting both your actions as well as the feedback signal. It is normal to have a small bit of over damping in the system to be able to reduce the possibility of the oscillation. This setting is best used to dull the feel of the wheel as it reduces the reactiveness of everything and sort of flattens out the feedback feel. This can make the wheel feel at times sluggish. But at the same time due to the nature of dampening trying to stay on position it can also ease steering effort at load because the wheel will be actively trying to stay in its intended position.. In terms of car feel more dampening feels a bit like soft or under inflated tires while less dampening feels like tires that have been inflated or have harder sidewalls.
Friction Filter[edit | edit source]
The friction parameter adds artificial dead weight to the feel of the SimuCUBE. The friction filter adds resistance across the entire signal bandwidth. Going too far on this parameter can actually override the forces applied by the software and cause the wheel to not move. In essence this parameter slows the reaction of the wheel. This filter is best used to mimic what would be steering hardware in a real car and all the friction in the steering caused by the steering rack, ball joints, bushings, ect.. Including tire contact patch drag. This filter will also limit a feedback by-product that feels a bit like a rubber band. This effect comes from the fact that force feedback for the most part is designed to return the steering wheel to the next position point no matter what you do and to do that it adds power in the opposite direction that you are turning.. The rubber band feeling comes from when you quickly turn in the direction that the force is wanting you to go and then back into the force.. When you do this with a high speed system, such as the OSW, that can move the wheel faster than you can turn it yourself, you effectively lose all feeling of force when turning with the power making the turn motion overly light. if you weave like this around a constant radius corner you will find that you get this heavy feeling and then no feeling, heavy and then none, like stretching and releasing a rubber band. By adding a friction % you will slow the wheels ability to return to center in a more progressive manner allowing you to turn the wheel back toward center and retain some feeling of force in the return motion. Note, that the higher you set the friction the more friction you will have in both directions of movement so by adding friction you can increase the force required to turn the car to a possibly unacceptable level and as well diminish the speed of wheel return which can affect your ability to catch a slide. This should be adjusted to a level that you feel is realistic. This setting would be best used if you feel the forces of the wheel are correct but the steering feels overly light in nature during certain movements, by increasing it you are not seriously affecting the way the feedback translates to the wheel but you are adding weight to the steering mimicking the drag that would be in a real life steering rack.
Inertia Filter[edit | edit source]
The Inertia filter provides a signal to the wheel that attempts to reduce the Inertia of the wheel. In essence a wheel of zero inertia would spin forever and a wheel of infinite Inertia would never be able to be moved no matter how much force you put to it. Adding % lowers inertia, the main effect of this is that when the wheel is given a signal it will try to add force in the same direction as the rotation of the wheel making the wheel have less inertia so it spins more freely. However, in relation to force feedback this is a bit of a double edged sword in that if you are turning the wheel into the force being applied the inertia filter will attempt to apply additional force to the wheel to get it moving in the direction that the signal from the feedback system is telling it to go in. This in feel is very similar to the rubber banding feedback effect mentioned in the Friction filter as when you turn the wheel further from the intended target return point the forces applied by the inertia filter will ramp up making the wheel feel heavier. If you turn into this force and let off the return forces will feel much lighter than the initial forces as the inertia filter can freely apply force to return the wheel to its intended location. This feel can seem like power steering in a way as if you are turning with the force the feel will be lighter than normal. In addition this has the effect of softening (but not reducing strength) of some jolts due to the ramp-up of the forces when turning into the force. Using too much Inertia will cause a vague center feel as the wheel tries to continue moving past center even though you would want it to stop.
NOTE: Correlation between the Friction filter and Inertia filter - The Friction filter when applied has stiction which means that the weight of signal being applied creates friction that resists movement (adding inertia) which causes an abrupt stop of the wheel when you let go. The Inertia filter can be used to allow the Friction filter to apply this weight to the wheel while softening the stopping action by reducing the stiction effect and allowing the wheel to not stop abruptly but to slowly ramp down to a stop in rotation.

DirectInput Effect Settings and Descriptions[edit | edit source]

The sliders in this section allow for adjustment of DirectInput effects. Adjusting these effect sliders allow you to change how much the SimuCUBE reacts to Game Generated Effects via DirectInput and control their output.
Friction Effect: Changes to the weight of the wheel based on game provided data.
Damping Effect: Damping is used by some games to dampen the wheel. Damping is a resistive force that is proportional to the wheel rotating speed. Some game titles use this to dampen oscillations.
Spring Effect: Spring is used to localize or return the wheel to always at the same position. Note, that games can also set positions other than center for the spring effect.
Sine wave effect: Sine wave is used in some games to make sinusoidal vibrations to the torque signal.
Square wave effect: Square wave is used to output sharp low to high to low type effect to the torque signal.
Sawtooth effect: Sawtooth effects are used to create slowly rising and sharply dropping or sharply rising but slowly dropping ripples to the torque signal. This effect slider controls both the SawtoothUp and SawtoothDown effects.
Triangle wave effect: Triangle wave can be used to output torque signals that rise and fall with constant rate.
The "Active" column to the right of the sliders indicates the effects in use or created using the symbols described:
- effect not in use
○ effect is created and running, but its values are not actively changed by the game
● effect is created, and its values are being actively controlled by the game

Hardware Set-up Tab:[edit | edit source]

Encoder Counts Per Revolution
Indicates your encoder point count based on the settings provided to the IONI drive.
Indexing Mode
The indexing mode is determined at the time of Configuring the motor, encoder, and index.
Index in reference to the phasing: (note: this is notified as "Automatic Indexing in some firmware versions) This mode sets the index point to where the wheel is positioned after phasing and requires no user action for the wheel to be used in game after turning on the SimuCUBE. An offset to this index point is set during the motor configuration wizard setup. Using this mode will cause the wheel to index "off center" if not positioned approximately straight before phasing. This form of Indexing will work with all servo types and supported encoders, please see technical notes below for issues and how to fix them.
Technical Notes (phasing index) - This form of indexing is accomplished due to phasing of the servo/stepper motor always beginning and ending in the same location within magnetic pole quadrant. If you find that the servo is not correctly centering consistently via this method your wheel is attached where the center position falls on or near a boundary between pole quadrants causing phasing to start in either quadrant. When this happens the phasing may finish in the wrong quadrant based on the position of the wheel before phasing which will cause the index to be offset from center. To correct for this and make sure your wheel phases in the correct manner the wheel must be slightly nudged off center before phasing into the quadrant that correctly phases center. To determine this you will need to determine where your wheel is positioned before phasing and then nudge the wheel to one side of center or the other depending on which side pole quadrant phases as center.
Higher pole count servos/steppers are more likely to experience this boundary position issue.
This form of indexing works regardless of the position of the physical index point of your encoder so it will work with encoders that do not have indexing capability.
Index in reference to encoder: This mode indexes to the encoder index location when the wheel is centered. When using this style of indexing the wheel must be rotated past the encoder index point after phasing for the centerpoint to be recognized. Generally turning the wheel left and right 180 degrees will cross the index point. Using this index method will always result in the wheel being indexed straight. Turning the wheel past the index point is absolutely required with SimuCUBE open source firmware, as the IONI drive does not detect the index point while phasing. If audible notification beeps is are enabled, you will hear a beep when the wheel crosses index point. A visual indicator (LED) on the SimuCUBE board lights up after phasing and goes out when index point has been found only when this centering mode is set up via the motor configuration wizard.
Absolute Indexing:

This mode is shown when there is an absolute serial encoder and user has configured the Commutation Sensors into use in the Configure Motor, Encoder and Center Point wizard. In this mode, the angle of the wheel can be always correct at any position on power-up.

Maximum Motor Current
Indicates the amperage provided to your motor (MMC) based on the settings provided to the IONI drive.

Bumbstop Effect[edit | edit source]

Bumbstop effect determines whether or not the firmware based bumpstops at the extents of wheel travel will be active.

Bumpstop Effect Enable
Enabling these bumpstops will not override any software bumpstops/endstops that are enabled in some games. NOT Enabling the endstop effect could result in continual wheel rotation beyond the set steering angle if the game you are using does not have software based endstops. This rotation beyond your set steering angle setting can cause issues in locating the centerpoint of the wheel after a rotation event. Also, if your wheel's button plate is connected with USB, then it could coil around motor shaft. Checking the box enables the function.
Bumpstop Maximum Force
This setting determines the percentage of maximum force to use for the endstops of your wheel. If you set this to 50% it means that when you reach the firmware bumpstop it will exhibit a force equal to 50% of the maximum force of your wheel. You can set this to whatever feels comfortable when you reach the extents of the steering rotation, the higher the number the harder the bumpstop will feel.
Bumpstop Damping Effect
This setting sets the percent of Damping to add to the wheel when it enters the Bumpstop effect ramp range. The Damping effect dulls the feel of wheel while it is in the Bumpstop ramp range as the force increases to the bumpstop force level.
Bumpstop Effect Ramp Range
This setting determines the number of degrees it takes for the bumpstop to ramp up to the set Maximum Strength. This feature acts as a steering wheel bushing and setting it to a lower degree provides a more abrupt stop of the wheel. This feature is currently limited to a maximum of 20 degree ramp.

Audible Notification Beeps[edit | edit source]

The Audible Notification Beeps, when checked, will provide an audible confirmation when there is a completion of a SimuCUBE task. Currently there will be a slight musical tone at the end of phasing (successful IONI initialization) and upon finding your set index point.

Desktop Centering Spring[edit | edit source]

Desktop centering spring is an effect, which tries to center the wheel whenever there are no effects in SimuCUBE's effect memory. This means, that the Desktop Centering Spring is not typically active when there are any games running.

Centering Spring Enabled
This enables the desktop centering spring effect.
Centering Spring Strength
This controls the strength of the centering spring, when the wheel is at -450 or +450 degrees of rotation. You can set the force at this point to maximum of 200%, which would mean that the maximum centering force is reached already at -225 or +225 degrees.
Saturation
This controls the maximum force that the centering spring produces. By using this value, you can adjust very sharply centering wheel (via the Strength setting), but with ultimate force limited to this saturation torque percentage.

USB Settings[edit | edit source]

These two USB checkbox can be used to toggle on/off some support of USB features.

USB Suspend support
This enables support for USB on SimuCUBE pausing all updates. This was developed to get around an issue, where the PC will not boot if the SimuCUBE is connected and powered on.
USB Recovery support
This enables support for trying to recover automatically from issue, where the SimuCUBE is present in the device manager and game controllers, but still shows "Disconnected" to the configuration tool.

If you find any issues using these features, then please report them on our Community Forum.


Configure Motor, Encoder, and Centerpoint button[edit | edit source]

This wizard steps you through the process of setting up your SimuCUBE firmware.

Step 1: Selecting your motor configuration[edit | edit source]
Use Existing Ioni Configuration as-is
If you know your IONI is currently set up correctly for your servo, power supply and encoder you can use this option to retain those settings and to only configure the SimuCUBE firmware for usage. This is the recommended option after migrating from a working MMOS setup or when there is such an update to SimuCUBE firmware that caused the wizard to be mandatory to be run again.
Select a Motor & Encoder from the dropdown
if you know what motor and encoder you have but have not previously set up your IONI to work with them you will want to select the motor and encoder that you have. This will properly setup the IONI for your configuration. The DRC files for this feature have not yet been released so even though this feature is functional there is nothing currently to select. Testing this feature during the beta testing phase is of course important.
Step 2: Select Indexing Point[edit | edit source]
Automatic Indexing - Sets index immediately upon phasing completion. Please see Index in reference to the phasing section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.
Manual Indexing - Sets index after you turn the wheel past the physical encoder index point. Please see Index in reference to encoder section in the Hardware Settings / Indexing Mode section of this guide for a full explanation of how this index method works.

Note: If you have absolute encoder, then step to use absolute indexing will come up automatically in the wizard.

Step 3: Motor Initialization[edit | edit source]
Motor phases and determines the index point based on settings that you have chosen.
Step 4: Setting the Center Point[edit | edit source]
Waiting for Index Point - If manual indexing was chosen during setup you will be asked to turn the wheel so SimuCUBE can locate the physical index point of the encoder. Automatic index setup will not see this page.
Set Wheel Center Point - finalizes the offset value of the wheel when Next is pressed so that wheel centering is correct whenever you turn on the SimuCUBE. Note: Automatic index point requires the wheel to be positioned straight at SimuCUBE start-up while manual indexing does not.

Configure Analog Inputs[edit | edit source]

In this sub-dialog you will find access to be able to have complete control over the analog inputs on the SimuCUBE. The dialog cannot be accessed before the Motor, Encoder and Centerpoint wizard is run and the SimuCUBE is configured.

The SimuCUBE offers up-sampled 16-bit resolution (sampled at high rate and then averaged) for analog devices. The SimuCUBE input resolution is 12-bit. The Configurable axis are Y, Z, Brake, Throttle, Clutch, Rudder, and Analog Hat. Granted these do not have to be these exact items and can be used for any type of analog input. With the SimuCUBE set up as a wheel you are most likely to use the Brake, Throttle, and Clutch inputs for your pedal set.

Input Select: These drop down menus allow you to set what physical pin on the SimuCUBE X11 ports you wish to have associated with the particular analog function you are using. The SimuCUBE does have a few specific ports that are indicated in the SimuCube Wiki as being associated with the Brake, Throttle, and Clutch so if you have already attached your pedals using the SimuCUBE Wiki pinout setup they are as follows: Brake - X11 upper 1, Throttle - X11 upper 2, and Clutch - X11 upper 5.

Calibrated Value: This is the calibrated current output value based on the values placed in the Minimum and Maximum Value fields.

Raw Value: This number represents the Raw 16bit value that the channel is showing at any particular moment. The SimuCUBE does exhibit some noise in the analog system which can be seen in this raw value as constant fluctuation.

Deadzone Low: The value placed in the deadzone low field adds deadzone to the analog input. This value can be adjusted so that the static noise of the SimuCUBE or any devices connected are eliminated. An example for using this adjustment would be if your analog pedal is exhibiting a value of being pressed slightly when stationary, increasing the low deadzone will create a hardware deadzone so that the static signal is not seen by windows and subsequently any game. Having a value reduces the overall raw range of the device at input but allows for a cleaner signal at idle position.

Deadzone High: The value placed in the deadzone high field adds deadzone to the analog input's high end. To set this you should add deadzone until the maximum travel or input of your device shows at 100%. Once calibrated windows will recognise these settings as full range. This can be used effectively for a short throw clutch, or making sure that you have 100% throttle.

Invert: If your axis is showing up as being backwards from the intended input you will want to check the box for that channel.

Reset: Reverts the channel to default settings.

Export analogsettings.ini: This button will save your current analog input settings to analogsettings.ini file in the program installation directory. This can be copied to load settings in a new version of the configuration tool, if a new firmware version makes settings incompatible.

Import analogsettings.ini: This will try to load analogsettings.ini from the program installation directory and set those settings to the SimuCUBE.

Update Firmware[edit | edit source]

This button starts the Firmware Update Wizard which will place the SimuCUBE in update mode and install the firmware. (please see “Firmware Installation:” under Installation of SimuCUBE Bootloader and Firmware - for more information)
When there is an firmware update, the new version will be shipped as a new zip file, and the configuration tool from the new version should be used to update firmware.

The Configuration Tool will automatically suggest an update after you launch a new version of it. This manual button can be used to place the SimuCUBE in to Firmwrae Updgrade Mode. If user quits the wizard when the wizard says "Found SimuCUBE in Firmware Upgrade mode", a downgrade to a previous firmware version can be performed..

Advanced Tab:[edit | edit source]

Reload Settings from SimuCUBE[edit | edit source]

This button will revert the profiles and their settings in memory to the last saved state.

Enable IONI USB Configuration[edit | edit source]

This button will enable you to connect to the IONI using the Granity software for advanced configuration. When IONI USB configuration is enabled the SimuCUBE will not work as Granity is using the communication connection to the IONI. You will need to disable IONI USB configuration to return SimuCUBE to operational state.
NOTE 1: If you have changed Maximum Motor Current (MMC) parameter via Granity, you should re-run the Configure Motor, Encoder and Center Point -wizard to let the Firmware know about this.
NOTE 2: MMC parameter will be changed to the maximum value right before the USB connection is enabled (SimpleMotion bus is released).

SimuCUBE Hardware Version[edit | edit source]

Displays the hardware revision information of the SimuCUBE board.

SimuCUBE Firmware Version[edit | edit source]

Displays the currently installed firmware version.

Configuration Tool Version[edit | edit source]

Displays the currently installed configuration tool version.

IONI Drive Firmware Version[edit | edit source]

Displays the currently installed IONI firmware version.

Start everything from scratch (not currently implemented)[edit | edit source]

Returns SimuCUBE to default state, erasing all flash memory and settings.

DirectInput Notes[edit | edit source]

These notes include all of the DirectInput Game created effects, Items shown in bold have been altered by the game within the last 30 seconds. This is currently a debug tool that is being used to determine which effects are being used by which games.

Reset FFB Device State button[edit | edit source]

This button resets the DirectInput Filters to a default state. This is good to return feedback to a default state should a DirectInput using game crash while effects are still created and running.

Debug log[edit | edit source]

Download debug log -button can be used to download a log of the last 1000 events from the SimuCUBE memory. This can be useful in giving support for various issues. User can also change what events or valus are logged via the associated dropdown and Set verbosity level -button.

Debug Notes[edit | edit source]

The bottom area of the Advanced tab is reserved for debug counters, displays of miscellaneous values, etc. Users can disregard them if there are no other issues.

Configuration Tool Customization and Branding[edit | edit source]

The Wheel image in the Configuration Tool can be replaced by your own image, starting from the Configuration Tool version 0.9.4. Suitable image is 400 x 400 px sized PNG file, with transparency set. Save the image as wheelimage.png to the same folder as the Configuration Tool.

The Granite Devices SimuCUBE logo on the top of the Configuration Tool can be replaced by white-listed logo of a reseller or other partner. Send us image files for whitelisting. Suitable image size is 400 x 50 px PNG file with transparency set. Save the file as brandbanner.png to the same folder as the Configuration Tool.

Troubleshooting Guide[edit | edit source]

Bootloader Installation issues[edit | edit source]

#1 DFUse failing to recognize STM Device in DFU Mode when trying to install bootloader[edit | edit source]

This issue is due to a missing or wrong driver being installed into Windows. Symptom is that your SimuCUBE is showing up in device manager under other devices as "STM32 Bootloader", with a yellow exclamation mark as the icon, under other devices. This means that your Windows installation does not have the correct STM32 Bootloader driver installed for the device.

To correct you will need to install the correct driver for the SimuCUBE bootloader by following the steps below. The correct driver should be located within the STMicroelectronics programs folder. If it is not please use one of the links below to locate the correct driver for installation.

1. - Left click on the STM32 Bootloader to bring up the device properties.
2. - Click on Update Driver
3. - Click Browse my Computer for Driver Software
4. - Click "Browse..." and locate the driver. (PC / C Drive / Program Files (x86) / STMicroelectronics / Software / DFuSe v3.0.5 (or version being used) / Bin / Driver / (select your system use Win8.1 for win10)
5. - Click OK to Set Path for Driver
6. - Click Next (windows should now install the correct driver)
Once completed the SimuCUBE STM32 Bootloader should relocate to the USB bus under the name "STM Device in DFU mode", at this point you should be able to open up DFUse and see the device in the available DFU devices menu. You will now be able to install the Bootloader.

If the correct driver is not currently present on your system then you will need to download it from one of the following links:

http://www.st.com/en/development-tools/stsw-stm32102.html for Windows 7 or 8

http://www.st.com/en/development-tools/stsw-stm32080.html for Windows 8.1 or 10

With Windows 10 you may also be able to delete the STM32 Bootloader device from the device manager menu and it could reinstall with the correct driver.

#2 Bootloader fails to upload to SimuCube and MMOS Firmware is retained[edit | edit source]

There have been some issues with the Bootloader DFU not being retained on the SimuCUBE Firmware processor, where the MMOS software is retained and the installation has failed. There are a few things that can be happening. 

2a. - If the upgrade fails as unsuccessful and you entered DFU mode via MMOS electrically please make sure the MMOS control panel is closed, It seems that if it is open it can cause the upload to fail with an error.
2b. - Try extracting the bootloader.dfu directly from the .zip file to the desktop, instead of pointing the DfuSeDemo tool to open the file from inside the zip file. There appears to be an issue with the way the Windows standard extractor / Windows Explorer Shell Extension handles the files when not extracting the full archive that can corrupt the .dfu file to where it will not pass verification when installed.
2c. - Though it is NOT Suggested to not verify the upload to the STM32 it appears that by disabling the verification process you could be successful in installation. This could be a byproduct of #2 in that the .dfu is correct but some checksum is not failing verification and bypassing this step allows it to work correctly. This method is not recommended because if something does go wrong you can cause the SimuCUBE to lock itself up requiring the use of the “Case C” method of forcing the SimuCube into DFU mode for installation.

Granity Related Errors[edit | edit source]

#1 Automatic IONI Firmware update fails[edit | edit source]

In the case of the IONI Firmware failing automatic updating you will need to install the latest IONI firmware manually. To correct the issue you will need to download the latest version of Granity and the Latest IONI Firmware from the links below and follow the subsequent steps:

http://granitedevices.com/wiki/IONI_firmware_releases - IONI Firmware Download

http://granitedevices.com/wiki/Granity#Download - Granity Download

1. Place the Simucube into IONI communication mode by pressing on the Enable IONI USB Configuration button in the actions section of the configuration tool.
2. Open Granity
3. Connect to IONI Device through the connection tab (IONI may already be listed in firmware upgrade mode)
4. Click upgrade firmware
5. Choose the firmware file (latest) that you downloaded.
6. After firmware has completed installation reconnect to the IONI to verify success
7. Close Granity, Save, and Restart drive if requested.
8. Go back to the SimuCUBE Configuration tool and Disable IONI USB Configuration.
SimuCUBE should now be operational and ready for you to configure your Motor, Encoder, and Centerpoint at this time.

#2 Communication Faults[edit | edit source]

These faults (481001 & others) are normal and can be ignored they are self induced by the way the SimuCUBE firmware communicates with the IONI. These should become less common as communication methods with IONI are being constantly improved.

#3 Centerpoint Loss after using Granity[edit | edit source]

If you restart the IONI drive in Granity when making changes the Simucube firmware will generally reset your centerpoint location to unknown. The IONI drive restart is sometimes forced upon leaving Granity. Click on the center wheel button and this will set the correct offset for the session. 

#4 Other Faults[edit | edit source]

Please look up the fault number that will be present in Fault Location ID 1 or Fault Location ID2 on the following page:

https://granitedevices.com/wiki/Fault_location

Most of these faults are self explanatory and can be fixed with an adjustment to the fault or machine setting related to the trigger.

iRacing Related Errors[edit | edit source]

#1 When Configuring the wheel a “Steering Required a Dual Axis Device” error comes up[edit | edit source]

This is an issue with the iRacing calibration tool. Make sure that you do not touch any pedals or other analog input when you are calibrating the steering. If you have pedals connected to the SimuCube either disconnect them temporarily or make sure that their dead zone (set in the Analog Configuration window in the Simucube Configuration Tool) is set high enough to remove any low level noise..

What is occurring is that between the rotation and the angle steps, iRacing will reset the calibration device to whatever it sees first,  If the first seen device is a single axis analog input (i.e. Pedal), iRacing will cause the calibration to fail. The device being calibrated must remain the same or be auto reset to back to the dual axis steering device. To force iRacing's auto detect to change back to the wheel (dual axis device) you must turn the wheel well past the requested 90 degrees (to maybe about 180) and then back to 90 degree location before confirming.

iRacing has been contacted about this issue it is unknown whether it will be fixed or on what timetable.

Returning to using 3rd-party firmware (MMOS)[edit | edit source]

To return to using 3rd-party firmware you will be required to access the SimuCUBE board by opening the case that it is in and manually setting the simuCUBE to DFU mode described in "Case C": Installing MMos firmware into SimuCUBE#Case C

The SimuCUBE must be powered down when enabling DFU mode manually, when you turn the SimuCUBE back on it will be in DFU mode

Please follow these instructions for installation Installing MMos firmware into SimuCUBE

Warning: if you are using the SimuCUBE acrylic case please be careful when opening as the acrylic can be brittle and crack