nearwood / msqur

Online Megasquirt/Tuner Studio MSQ file viewer
https://msqur.com/
GNU General Public License v3.0
10 stars 9 forks source link

Use all of INI files to parse and organize data #8

Open nearwood opened 8 years ago

nearwood commented 8 years ago
#!ini

[Constants]
page = 5
;  name            = class,  type, offset,      shape,  units,       scale, translate,    lo,      hi, digits
      veTable1        = array ,  U08,      0,      [16x16], "%",        1.00000,   0.00000,  0.00,  255.00,      0 ; * (144 bytes)

[TableEditor]
   ;       table_id,    map3d_id,    "title",      page
table = veTable1Tbl, veTable1Map, "Fuel VE Table 1", 5
         topicHelp = "file://$getProjectsDirPath()/docs/Megasquirt2_TunerStudio_MS_Lite_Reference-3.3.pdf#ve1"
      ;             constant,   variable
      xBins       = frpm_table1, rpm
      yBins       = fmap_table1, fuelload
      zBins       = veTable1
      upDownLabel = "RICHER", "LEANER"
      gridOrient  = 250,   0, 340 ; Space 123 rotation of grid in degrees.

[Menu]
   ;----------------------------------------------------------------------------
   ;  There are five pre-defined values that may be used to define your menus.
   ;  The first four allow access to the "standard" dialog boxes, the last one
   ;  merely draws a separator (horizontal line) in the menu.
   ;
   ;     std_constants
   ;     std_enrichments
   ;     std_realtime
   ;     std_warmup
   ;     std_accel
   ;
   ;     std_separator
   ;
   ;  Additionally, to support MegaSquirt-II firmware, there are two standard
   ;  dialogs to generate its three embedded tables.  The first of these acts
   ;  like Roger Enns' EasyTherm, but only works for MS-II.  The second one
   ;  generates the internal AFR table required for proper closed loop operation
   ;  in MS-II.  Use these without page numbers, as they will just be ignored
   ;  in any case.
   ;
   ;     std_ms2gentherm
   ;     std_ms2geno2
   ;
   ;  If you use any of the std_constants, std_enrichments or std_warmup
   ;  editors, they may be optionally suffixed with a page number (only
   ;  useful for multi-page code variants), which causes them to edit the
   ;  specified page.  If you leave off the page specifier, they edit logical
   ;  page one as specified in the Constants section.
   ;
   ;  There are four special menu names, which when used append to the standard

   ;  menus of the same name instead of creating a new one.  The menu names
   ;  are "File", "Communications", "Tools" and "Help".
   ;
   ;----------------------------------------------------------------------------

      menuDialog = main
      menu = "Basic/Load Settings"
        subMenu = base,   "Engine and Sequential Settings"
        subMenu = generalsettings2, "General Settings"

      menu = "F&uel Settings"
        subMenu = overrun, "Over-Run Fuel Cut"
        subMenu = std_separator 
        subMenu = egoControl,      "&EGO Control"
        subMenu = afrTable1Tbl,    "A&FR Table 1",         0
        subMenu = afrTable2Tbl,    "AF&R Table 2",         0, { dualTable}
        subMenu = std_separator
        subMenu = veTable1Tbl,     "Fuel VE Table &1", 0,{ ((algorithm != 5) || ((algorithm == 5) && (feature7_maftrim))) && (feature4_0VEtblsize==0) }, { (feature4_0VEtblsize==0) }

      menu = "3D &Tuning Maps"
         subMenu = veTable1Map,     "Fuel VE Table &1", 0, { (feature4_0VEtblsize==0) && ( ((algorithm != 5) || ((algorithm == 5) && (feature7_maftrim))))}, { (feature4_0VEtblsize==0) }

[SettingContextHelp]
    veTable1 = "The main fuel table (1). Larger VE values mean more fuel, smaller mean less fuel."
nearwood commented 8 years ago

Will also need blacklist for tables that are bogus/useless.

nearwood commented 8 years ago

Improvements added for 1.0, but menu system needs expression parsing.