NOTE: The following content is not needed for general use. This is for advanced custom programming for our products.
Contains a DLL for sending pre-configured maps to the ultrastik 360 and changing its ID. Includes demo GUI program.
These cover several of our products and are being added-to. Please note we are not able to provide direct support for these utilities:
command line utilities developed by Katie Snow
SharpDX Input Device Coding
This is a project which was produced by a customer (Thanks Marcel!) and
simplifies programmatic recognition of input data. It was written/tested for our Ultrastik360 but would be useful for all input devices. Although we are unable to offer support we would like to hear from anyone who finds these utilities useful for any products.
The Ultrastik360 is accessible via
DirectX/DirectInput, an unmanaged C/C++ programming interface. Using this interface in .NET requires knowledge of C++ by writing managed wrappers. The open source library from
http://sharpdx.org/ did exactly that, so using the stick in .NET is now done in a few lines of code.
This Example shows a simple example in C#. The minimum needed parts of the SharpDx library (2 dll’s, 700kb) are automatically downloaded and managed via NuGet when you compile first time.
- SetupTestSharpDx.exe file is a full automatic inno-setup which places the required binaries in ‘program files’ (exe with some dlls)
- The binaries file contains the same files, but without setup. Unzip them anywhere
- The source file contains a readme, the visual studio 2013 C# project with all necessary source files (Framework 4.5.1).
In the project there is a readme file with more technical info
Ultimarc Firmware Updates: Additional Information
All our firmware-upgradeable USB products use the same method for upgrade.
This is how it should work:
- Firmware upgrade requested from the appropriate utility (WinIPAC, Ultramap, U-Config etc) The utility must be right-clicked and "run as administrator".
- A driver is pre-installed automatically. This is the only time any of our products require a custom driver.
- The device is shut down by the utility and then resets as a different device, which is known as a "Firmware Upgrade Device".
- This new device should appear in Device Manager, if the "USB Controllers" entry is expanded.
- A program called "uupload.exe" is started automatically by the utility. The utility is then closed down.
- The "uupload.exe" window should appear and a "device detected" message should appear.
- The firmware file is selected from this window and upgrade should proceed. Do not be concerned if the progress bar does not show.
- The upgrade should take max 5 minutes. After that, the device is reset back into normal operation mode, and at this point the uupload program can no longer see it, and should display "No device detected or upgrade complete".
What can go wrong:
Uupload.exe cant find the upgrade device
The most common reason for this is the custom driver install has failed. This can be checked by starting device manager and expanding the "USB Controller" entry. The device might be showing with an error, or there might ne a new device somewhere else in Device Manager which has failed to install.
The fix for this is as follows:
- Download the manually-installed driver from the link in the section below and run "setup" located in the setup folder. NOTE: Must be right-clicked and "run as administrator".
- Right click on the failed device and "uninstall"
- Click "Scan for new hardware". The driver should install.
- Re-run the "uupload.exe" program which is located in the install folder of WinIPAC, UltraMap, U-Config etc, and re-try the upgrade.
Firmware upgrade locks up or fails to finish, resulting in stuck in upgrade mode
Simply re-run the "uupload.exe" program which is located in the install folder of
WinIPAC, UltraMap, U-Config etc, and re-try the upgrade.
Ultimarc Firmware Update Driver
The various utility programs for our devices incorporate a firmware upgrade feature. This requires a driver (the only time a driver is required). The driver installs on the fly but should a manual install be required, this installer does this. Run the Setup program in the Setup folder.