BMWizard Forums

Full Version: Creating own QuickCode
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
In case you want to create your own Quickcode item for even easier coding, this will show you how.

QuickCode files make it easy to change certain coding attributes. They can automatically toggle values according to simple dropdown menus in BMWizard. Usually, for the end user, when using QuickCode, it requires no coding knowledge.

Lets see how this works!

Consider an existing QuickCode file :


Code:
<quickcode version="1">
   <general>
       <name>Wipers cycle count configuration</name>
       <author>Marc</author>
       <description>Here you can change how many times your wipers cycle when you tip them. You can set front and rear seperately.</description>
   </general>
   <targets>
       <ecu>
           <name>JBBF70</name>
           <address>0x00</address>
           <group>D_ZGM</group>
       </ecu>
   </targets>
   <changes>
       <change name="" entry="ANZAHL_NACHWISCHZ_FRONT">
          <options>
        <option desc="2 times" value="wert_02" />
               <option desc="3 times" value="wert_03" />
               <option desc="4 times" value="wert_04" />
          </options>
       </change>
       <change name="Wipers rear cycle count" entry="ANZAHL_NACHWISCHZ_HECK">
           <options>
               <option desc="2 times" value="wert_02" />
               <option desc="3 times" value="wert_03" />
               <option desc="4 times" value="wert_04" />
           </options>
       </change>
   </changes>
</quickcode>
You'll see that QuickCode is just an XML file, that's editable with any text editor you want to use.

Let's look at this file. we have several blocks within. We have :

general

This block just contains some basic information that will be shown on the QuickCode panel when you select this entry. It includes name of the QuickCode, name of the author and a short description what the QuickCode entry does.

targets

This is a bit more complicated. Using the targets block, BMWizard can determine what ECUs this job is valid for within the car. There are a lot of other checks of course to ensure compatibility, but this block allows BMWizard to quickly determine if the QuickCode entry could be viable for the currently selected ECU. The targets block can contain one or more ecu blocks. These describe the group, the address and the ECU name. If one of these attributes matches, the QuickCode entry is evaluated to ensure real fit.

changes

This block is where the actual interesting things happen. It describes a mapping between human readable descriptions, and ECU coding parameters in your car. In this example, we have two potential options that the QuickCode user is presented with :
  • Wipers front cycle count
  • Wipers rear cycle count
These options allow the user to set the amount of wipe cycles front and rear which happen if you tip the wiper stock. For both front and rear, user has the option of 2, 3 or 4 cycles. These entries map to coding parameters and values. For example, the front wipe cycle setting maps to ANZAHL_NACHWISCHZ_FRONT entry in ECU, and can assign either wert_02, wert_03 or wert_04 to this entry. The user of this QuickCode doesn't need to know these internals though. HE just sees a nice dialog that gives him the option to code his wipe cycles:

[screenshot here later]

I hope this explains the general setup of QuickCode files. If you have any further questions, please contact us, we are happy to help.

Cheers!