Simucube Quick Release User Manual Pdf

  1. This affected fresh installs of Simucube firmware. 0.50.4c release fixes this, no changes to firmware. May 18th, 2019 0.50.3 / 0.50.3 10710 Public beta release Link to release: This release is only recommended if user wants to use Simucube Wireless Wheels. For others users, we recommend waiting a bit until we have more extensively tested this.
  2. In this operation manual, symbols are used to highlight warnings and cautions that you must read to prevent accidents. The meanings of these symbols are as follows. Something that could cause serious injury or death Something that could cause injury or damage to the equipment Other symbols used An action that is mandatory An action that is.
  1. User Manual Pdf Download
  2. Simucube Quick Release User Manual Pdf File
  3. Instruction Manual
  4. User Manual
  5. Simucube Quick Release User Manual Pdf 2 10

Media in category 'SimuCUBE user guide' The following 9 files are in this category, out of 9 total.

Welcome to the SimuCUBE-OpenSource-Firmware wiki!

SimuCUBE firmware is developed as a Atollic TrueStudio project. TrueStudio has been released as free to use after it was acquired by ST Microelectronics. It includes built-in support for Segger J-LINK, ST-Link and other debugging/programmer devices, so you can debug your code.

SimuCUBE firmware uses USART1 hardware device to print debug prints to serial port at 230400 baud rate. See Pinout 5 athttps://granitedevices.com/wiki/SimuCUBE_pinouts_and_wiring. This debug print can be listened to via a USB serial cable such as FTDI TTL-232R-5V. This debug printout also functions when the device is booted in to the SimuCUBE bootloader. If required, we will modify the bootloader to not do so. In any case, if a device interface is developed that uses this port, then it must tolerate the debug prints in bootloader mode as well, as it is already widely installed on to SimuCUBE devices around the world.

Usage of the SimuCUBE firmware files are governed by the Granite Devices End User License Agreement https://granitedevices.com/wiki/Granite_Devices_Software_End-user_License_Agreement.

Contributions to the SimuCUBE firmware are under the Granite Devices Contributor License Agreement https://granitedevices.com/wiki/Granite_Devices_Contributor_License_Agreement

This is just a small explanation on how the firmware is organized, to kickstart the learning process for development.

Main:

  • includes initializations, parsing of flash data that was read, etc. but the most important is the Main loop which includes a state machine. See Operational -state for general operation.

Objects:

USBGameController joystick

  • is the main object containing the game controller functionality that is visible to PC.

cFFBDevice joystick.gFFBDevice

  • includes parsing of FFB effect data, outputs FFB force to the IONI drive by calling SimpleMotion functions, flash data read/write functions and the SimuCUBE device API parsing function.

cDeviceConfig joystick.gFFBDevice.mConfig

  • a container for all the settings data

cHardwareConfig joystick.gFFBDevice.mConfig.hardwareConfig

  • contains all hardware settings, as visible in the Hardware tab in the configuration tool.

cAnalogConfig joystick.gFFBDevice.mConfig.analogConfig

  • contains all analog axis settings data

cProfileConfig joystick.gFFBDevice.mConfig.profileConfigs[maxnumprofiles]

  • contains all profile settings
  • maxnumprofiles is static, the actual number of profiles is stored in a variable in gFFBDevice.

(or some other custom tools you might develop)

  • API is described in config_comm_defines.h

  • Structs to transfer settings data for hardware settings, profile settings and analog settings have each variable described in exactly the same order, and with same variable types, as in the corresponding class. This is so that user does not have to include all the classes in a PC application.

  • Added nuisance is the requirement to make changes to both in the classes and to the packet format that is transferred.

  • API can transfer maximum of 64 bytes per packet. A safe splitting point of 55 bytes is set for profile configuration data, and API will be extended to transfer any other setting class data larger than this when it will be required.

  • There are two simple Qt example programs supplied. The other one sets a custom steering angle, and the other sends a custom irFFB data packet containing 6 uint16_t data fields.

  • If you need more custom USB HID reports (with custom report ID's): The file is closed source, but we will add them to the library on request.

Flash sectors 0-3 (total: 64 kB): Bootloader

Flash sectors 4-6 (total: 320 kB): Firmware. At the end of Sector 6, the length of the binary data and crc32 checksum is saved.

Flash sector 7 (total: 128 kB): Settings data

total memory on SMT32F407VE: 512 kB

There are following build configurations that are used:

  • Debug-normal-opensource is used to generate a binary that can be flashed directly via a debugger
  • Debug-bootloadable-opensource is used to generate the SimuCUBE-firmware.bootloadable file, that can be flashed with the SimuCUBE bootloader in place in the device by using the Configuration Tool.

These build configurations use the library files that are found in lib/Debug-normal-opensource and lib/Debug-bootloadable-opensource directories

The following build configurations are used only internally at Granite Devices, and they refer to the internal project that generates the library files mentioned above.

Simucube quick release user manual pdf 2 10
  • Debug-normal
  • Debug-bootloadable

To compile, download IONI servo drive firmware and place it one directory up from repository folder, and name it as ion_release_bootload_rom.gdf file.For example, if your repository is at C:/Users/User/Documents/SimuCUBE-firmwarethen place the file at C:/Users/User/Documents/ion_release_bootload_rom.gdf

Also, please take note to change the file (download latest) when the firmware develops. The required file version can be changed near the top of Src/main.cpp. Look for line that looks like this:

uint16_t ioniFirmwareMinimumVersion = 10707;

Adding hardware features from STM HAL API

Simucube quick release user manual pdf 2 10

The STM32CubeMX project for general signal definition and clock settings is supplied. However, due to complexicity and the need for custom patches in the STM HAL files, it can't be generated on top of the firmware project. Instead, you must add the hardware features and callbacks manually to the firmware project.

You can enable the hardware module you need, configure it, export the code as a TrueStudio project, and then copy-paste your new hardware initialization calls and the actual added HAL libraries from that project to the SimuCUBE firmware. Please be careful to not overwrite any existing code in the SimuCUBE firmware.

Configuration variables concerning your feature

If you are implementing a hardware feature:

Implement the feature. Insert your settings variables in to the END of cHardwareConfig and to the same location of the corresponding packet in config_comm_defines.h. Reduce the padding in the latter accordingly.

If you are implementing a feature that should be different for each profile

User Manual Pdf Download

Implement the feature. Insert your settings variables in to the END of the cProfileConfig and to the same location of the corresponding packet in the config_comm_defines.h.

Added USB report types to the closed-code part of the project

We will listen to any well-justified requests to change the USB Interface Descriptor which is in the closed-source part of the firmware. Write an issue and lets discus!

Adding the variables to the Configuration Tool

Notify us so that we will add the setting method for the feature in the Configuration Tool. Generally it is a good idea to use either unsigned or signed integer formats, and to use custom scaling factors visible only in the Configuration Tool when decimal data is required.

Here, public beta builds of the new SimuCUBE firmware are released. Please download releases from the release page:https://github.com/SimuCUBE/Firmware-Releases/releases

Looking for old release? Please see this commit:https://github.com/SimuCUBE/Firmware-Releases/tree/ec5b558ca68af0fd875467c6be55c800f9aa739e

Installation Manual and User Guide

These can be found here: https://granitedevices.com/wiki/SimuCUBE_Firmware_User_Guide

Please always use the version from above link, as we are continuosly improving the guide. The firmware and configuration tool can also change.

Simucube Quick Release User Manual Pdf File

Support and bug reporting

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:https://community.granitedevices.com/c/simucube

Instruction Manual

End-user license and copyright information

User Manual

Please read the EULA.md file.

Open-source development

Simucube Quick Release User Manual Pdf 2 10

Opensource development of the firmware is in a separate repository here: https://github.com/SimuCUBE/SimuCUBE-OpenSource-Firmware