Difference between revisions of "SimuCUBE Firmware User Guide"
[checked revision] | [checked revision] |
(Tag: VisualEditor) |
(Tag: VisualEditor) |
||
Line 6: | Line 6: | ||
− | The firmware and this guide are works in progress, please make sure that you are using the '''latest version''' of the guide, which is posted on our | + | The firmware and this guide are works in progress, please make sure that you are using the '''latest version''' of the guide, which is posted on our wiki site. |
== Notes and warnings == | == Notes and warnings == | ||
Line 89: | Line 89: | ||
The indexing mode is determined at the time of Configuring the motor, encoder, and index. | The indexing mode is determined at the time of Configuring the motor, encoder, and index. | ||
− | + | ||
+ | ''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. | ||
+ | <div style="margin-left:0.953cm;margin-right:0cm;"> | ||
''Technical Notes'' - 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. | ''Technical Notes'' - 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. | 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. | ||
</div> | </div> | ||
+ | ''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. | ||
− | < | + | '''Desktop Center Spring:<span style="color:#ff0000;">(may not be implemented)</span>'''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. |
− | |||
− | |||
− | |||
− | |||
''NOTE: The desktop spring portion of the SimuCUBE Configuration Tool has currently been removed completely from the UI and is not shown.'' | ''NOTE: The desktop spring portion of the SimuCUBE Configuration Tool has currently been removed completely from the UI and is not shown.'' | ||
− | |||
− | + | '''Bumpstop Effect'''<div style="margin-left:0.635cm;margin-right:0cm;">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. </div><div style="margin-left:0.953cm;margin-right:0cm;">''Bumpstop Effect Enable:'' This checkbox determines whether or not you will have firmware based bumpstops at the extents of wheel travel. 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 re-finding the centerpoint of the wheel. Checking the box enables the function.</div><div style="margin-left:0.953cm;margin-right:0cm;">''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.</div><div style="margin-left:0.953cm;margin-right:0cm;">''Bumpstop Dampening Effect:'' 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. </div><div style="margin-left:0.953cm;margin-right:0cm;">''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. </div><div style="margin-left:0.318cm;margin-right:0cm;">'''Audible Notification Beeps''' | |
− | + | ||
− | <div style="margin-left:0.635cm;margin-right:0cm;">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. </div><div style="margin-left:0.953cm;margin-right:0cm;">''Bumpstop Effect Enable:'' This checkbox determines whether or not you will have firmware based bumpstops at the extents of wheel travel. 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 re-finding the centerpoint of the wheel. Checking the box enables the function.</div><div style="margin-left:0.953cm;margin-right:0cm;">''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.</div><div style="margin-left:0.953cm;margin-right:0cm;">''Bumpstop Dampening Effect:'' 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. </div><div style="margin-left:0.953cm;margin-right:0cm;">''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. </div><div style="margin-left:0.318cm;margin-right:0cm;">'''Audible Notification Beeps | + | |
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. | 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. | ||
</div> | </div> | ||
Line 115: | Line 112: | ||
==== Configure Motor, Encoder, and Centerpoint ==== | ==== Configure Motor, Encoder, and Centerpoint ==== | ||
− | + | This wizard steps you through the process of setting up your SimuCUBE firmware. | |
+ | ===== '''''Step 1:''''' '''Selecting your motor configuration''' ===== | ||
+ | '''Use Existing Ioni Configuration as-is''' | ||
− | + | If you know your IONI is currently set up correctly for your servo, power supply, encoder, and filters you can use this option to retain those settings and download them from Ioni into the SimuCUBE firmware. | |
− | + | '''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''' ===== | |
+ | '''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. | |
− | + | ||
− | + | ||
Line 187: | Line 185: | ||
− | |||
+ | ==== '''Profile Settings''' ==== | ||
− | + | ===== Management: ===== | |
− | + | <div style="margin-left:0.635cm;margin-right:0cm;"> | |
− | <div style="margin-left:0.635cm;margin-right:0cm;"> | + | 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. |
− | + | </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.</div> | + | |
Revision as of 15:41, 12 September 2017
Welcome to the beta testing program! Thank you for your interest in testing to improve SimuCUBE.
** 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 works in progress, please make sure that you are using the latest version of the guide, which is posted on our wiki site.
Contents
- 1 Notes and warnings
- 2 Installation of SimuCUBE Bootloader and Firmware
- 3 Configurator tool introduction and user guide
Notes and warnings
Beta disclaimer
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.
Features that work and features that won’t work yet
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
Currently the firmware supports iRacing and rFactor 2. Dirt Rally should also work, as it is similar as rFactor 2, but has an additional changing friction effect, which isn’t parsed correctly at the moment.
Other games might work in totally unexpected ways, beware! 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.
Installation of SimuCUBE Bootloader and Firmware
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.
If Using MMOS - Enable DFU mode 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 will 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 the firmware 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)”:
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 extracting all together.
Successful bootloader installation and startup will be 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.
SimuCUBE Firmware Installation
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.
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.
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.
Powering up your SimuCUBE
On the first power up after returning the dip switch to run mode with the Beta firmware installed, the SimuCUBE firmware will automatically update the IONI drive firmware to version 10060. This version of the Ioni firmware is the only version currently compatible with the Open Source firmware and it will always get reflashed if a different version is detected on the IONI.
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 10060. On successful completion of the update of 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.
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 in that 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.
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
At the time of writing this guide, the required and correct IONI firmware version is 10061. An updated version of Granity is needed for use with this firmware and should be downloaded separately from here: http://granitedevices.com/wiki/Granity#Download
Configurator tool introduction and user guide
Introduction to the SimuCUBE Configuration Tool
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.
User Guide
Hardware settings
Encoder Counts Per Revolution (CPR):
The counts per revolution of your encoder are auto set via the firmware when you configure the motor, encoder, and center point.
Indexing Mode
The indexing mode is determined at the time of Configuring the motor, encoder, and index.
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.
Technical Notes - 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.
Desktop Center Spring:(may not be implemented)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.
NOTE: The desktop spring portion of the SimuCUBE Configuration Tool has currently been removed completely from the UI and is not shown.
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.
Configure Motor, Encoder, and Centerpoint
This wizard steps you through the process of setting up your SimuCUBE firmware.
Step 1: Selecting your motor configuration
Use Existing Ioni Configuration as-is
If you know your IONI is currently set up correctly for your servo, power supply, encoder, and filters you can use this option to retain those settings and download them from Ioni into the SimuCUBE firmware.
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
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.
Wheel Position and Centerpoint indication
Analog Inputs Indication
Configure Analog Inputs
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.
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.
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.
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
Profile Settings
Management:
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.
Dampening Filter -