-
Notifications
You must be signed in to change notification settings - Fork 0
Install Configuration
ProffieOS v6.7x010
The install configuration specifies the parameters of the hardware peripherals that the board must control, such as blades, audio amplifier or battery charger. Normally it is the job of the installer, the person / company installing the board in a hilt, to setup the install configuration, and this must be done responsibly as improper configuration can damage the hardware. For warranty concerns, access to the install configuration is restricted for the end user.
The install configuration is defined by the install.cod file - see COD and XML files for details. This file can be generated from a human-readable XML file converted into a COD file using the 'Advanced' section on ultraproffie.com, but this is the hard way. The easy way is to let UltraProffie Launcher, the software interface hosted on ultraproffie.com, to manipulate the installation file. UltraProffie Launcher only runs on Google Chrome.
The installation file uses several entries to define the install configuration:
- Install specifies the blades and general install configuration
- AnalogBlade defines a blade powered by analog (classic, in-hilt) LEDs
- PixelBlade defines a blade powered by digital ('pixel') LEDs
The structure of install.cod is illustrated by the diagram below:
The LED definitions used by both analog and pixel blades are normally stored in the LED Library ledlib.cod, but this is optional, such definitions can be located in the install file as well. Pin assignments for all LEDs are not defined in the LED library, this information is allways part of install configuration and it is specified at blade level.
The COD entries used by the installation file are detailed below:
- Install - at startup the install entry with the smallest ID will be automatically applied
<Install BinOrder="?" >
<EntryType BinOrder="1" Format="char" val="s"/>
<StructID BinOrder="2" Format="uint16" val="1"/>
<StructHandler BinOrder="3" Format="uint16" val="11"/>
<StructSize BinOrder="4" Format="uint16" val="24"/>
<nButtons BinOrder="5" Format="uint8" val="1"/>
<nBlades BinOrder="6" Format="uint8" val="2"/>
<bladeID BinOrder="7" Format="uint16" val1="11" val2="11" val3="0" val4="0" val5="0" val6="0"/>
<maxVolume BinOrder="8" Format="float" val="0.9"/>
<charge BinOrder="9" Format="float" val="0.85"/>
<APOtime BinOrder="10" Format="uint16" val="100"/>
</Install>- AnalogBlade - references analog LED definitions (drivers & color renderers) from ledlib.cod
<AnalogBlade BinOrder="?" >
<EntryType BinOrder="1" Format="char" val="s"/>
<StructID BinOrder="2" Format="uint16" val="12"/>
<StructHandler BinOrder="3" Format="uint16" val="10"/>
<StructSize BinOrder="4" Format="uint16" val="31"/>
<bladeType BinOrder="5" Format="char" val="a"/>
<nLEDs BinOrder="6" Format="uint16" val="1"/>
<ledID BinOrder="7" Format="uint16" val1="4993" val2="0" val3="0" val4="0"/>
<pins_led1 BinOrder="8" Format="uint8" val1="1" val2="2" val3="3" val4="4" />
<pins_led2 BinOrder="9" Format="uint8" val1="0" val2="0" val3="0" val4="0" />
<pins_led3 BinOrder="10" Format="uint8" val1="0" val2="0" val3="0" val4="0" />
<pins_led4 BinOrder="11" Format="uint8" val1="0" val2="0" val3="0" val4="0" />
<bladeBrightness BinOrder="12" Format="float" val="1"/>
</AnalogBlade>- PixelBlade - references pixel LED drivers from ledlib.cod
<PixelBlade BinOrder="6">
<EntryType BinOrder="1" Format="char" val="s"/>
<StructID BinOrder="2" Format="uint16" val="13"/>
<StructHandler BinOrder="3" Format="uint16" val="10"/>
<StructSize BinOrder="4" Format="uint16" val="31"/>
<bladeType BinOrder="5" Format="char" val="p"/>
<driverID BinOrder="6" Format="uint16" val="5000"/>
<pin BinOrder="7" Format="uint8" val="1"/>
<bladeBrightness BinOrder="8" Format="float" val="0.85"/>
<padding BinOrder="9" Format="string" len="23" val=""/>
</PixelBlade>The install configuration is applied at startup, before playing the boot sound, by the function xInstall(). If diagnose mode is enabled at compile time, this function will report every step and eventual errors through the serial terminal.
The install configuration data is stored by the static global object installConfig, which is also initialized by the xInstall() function, but most of the installation data is not stored by this object - it is all applied by creating and configuring various other objects.
(C) RSX Engineering SRL. FileVer. 1.2 / Mar. 2023
- Board Configuration (coming soon)
- Install Configuration
- User Profile
- Twist & Tick Menu (coming soon)
- UltraSaber Prop (coming soon)
- COD Reader
- Interpolators
- CPU Probes
- Developer's Setup(coming soon)