Good bye to editing custom.ini files!
Many of us have been there, you want to use a new fuel pressure sensor with your MegaSquirt. You have the data sheet for the sensor and a spare input. Or maybe you want a new field for your own tuning circumstances, a field based on a table lookup or a single bit.
They tell you no problem, MegaSquirt and TunerStudio support that! If your lucky enough to have an MS3 based ECU, you might be able to set it up without much trouble as a Generic Sensor, Great.
If that doesn't work for you, don't worry, a custom.ini file can get the job done! There is little you can't do in a custom.ini file for the hard core computer wizards, but it is like a programming language in itself.
With TunerStudio MS 3.0 that finally changes. The "Add Channel Wizard" and "Custom Channel Editor" remove the need to hand edit a custom.ini file ever again. Beeter yet, if you do have a custom ini already working, you can now edit OutputChannels, Gauge Templates and DataLog fields using nice simple user interfaces:
Add Channel Wizard
A simple 2 page wizard to add a new channel and setup how you want to view the data from the new Channel.
Page 1
The 1st page allows you to define the new Channel. If it is a typical sensor you are setting up, the simple view will likely be all you need. You can set it up as a Linear sensor by setting up the input channel(The Channel supplying the raw sensor value) and using 2 know conversion points.
If the sensor output is non-linear, you can set the input channel and supplying an inc file that maps the input values to the output values.
If you need something more complex, go to Advanced mode, now you can create your own custom expression using any of TunerStudio's built in functions and operations with any OutputChannle or calibration value used as inputs. There are table functions to perform table lookups on 1D and 2D tables along with smoothing functions and all the standard math functions.
Page 2
On Page 2 you select how you want to see your new Channel by createing a Gauge Template and/or a new DataLog field. Gauge Templates will show up on the right click menu of any dashboard allowing you to quickly change any gauge to display your new value. A DataLogField, will add your new field to be logged when ever you capture a normal datalog.
That is it, you have set up yout own custom channel that will now be part of your Project.
But, if you want to keep going, you can add, remove, edit any of the custom channels you want using the Custom Channel editor.
Custom Channel Editor
The Custom Channel Editor gives you access to all your custom Channels, Gauges and Data Log Fields. Using this interface you can:
- Add Custom Channels
- Add Gauge Templates for custom or non custom channels
- Add DataLog Fields for custom or non custom channels
The tree on the left side will group and display all custom Channels, Gauge Templates and Data Log Fields. By Double Clicking on any tree node, the appropriate editor is brought up in the right hand work space.
Once you click the Save button, any change you made are applied real-time to your currently loaded project and will be saved to your custom.ini for the future.
Example usage
Example steps to add a data log channel to MS3 that will represent table 1 vs table 3 when doing table switching:
Open the "Custom Channel Editor" under the menu:
- Right Clcik on the tree node "Output Channel"
- Select "Add Output Channel"
- Set the name to table3Active
- Click Ok
- Set the expression:
status1 & 32 ? 1 : 0
- Click "Ok"
Now you have a channel that will be 1 when table 3 is active, 0 when not. Next we want to data log that field.
- Right click on the node "Data Log Field"
- Name it "VE Table 3" (This will be the name of the new field in your logs.
- For OutputChannel select your channel table3Active
- For Value Format, select: active/Inactive
- leave Enable Expression and Record lag, empty.
- Click Ok
Click the Save Icon, and close the Custom Channel Editor. Any Data Log you capture from here forward will have a field named "VE Table 3" and MegaLogViewer will display either Active or Inactive depending on state.