here are some answers to the question you've raised :
1. “Mode Value” Selection in Properties Window - when you select Constant it means the mode is "Enabled" and there is no way to change it later in the tune, so there is no reason to enable the dropdown list.
2. Assigned Default Values For Groups
a. You are right a group can be assigned a value and then it looks like a channel in M1 Tune
b. The way it is done in the example is what we consider a good coding practice that makes code more flexible and structural. You can read more about this in the "M1 Build example project" help document
a. Update events : "Voltage Event" is the when the actual voltage in the pin is measured
"Event" is when the actual voltage is converted into the channel value
b. Fixed Update Events": Speed Sensor update rate is fixed at 100Hz because this should be sufficient for this
type of sensor. If there is a need to increase this rate the appropriate request with should
be submitted to MoTeC and we'll discuss the options.
c. Multiple use of the resource: In the Engine Speed example Pin update rate is implicitly limited by Reference
update rate because Pin performs lookup in Hysteresis and Debounce tables
based on Engine Speed value which is a property of Reference object.
Voltage update rate however is not limited by the Reference update rate.
4. Ref - Sync : This functionality is explained in the "M1 Build example project" help document starting form page 7
5. Get statistics event is used for calculating Minimum and Maximum values.
6. Logging functionality is described in M1 Development Manual (Help -> Manuals)starting from page 68.
7.Table lookup is not possible in the calibration function. Reverse lookup may be possible (sort of), depending on what exactly you have in mind.
8. Normal derivative is just a derivative. Filtered derivative is an average of current value and previous value. Adaptive derivative is filtered derivative, calculated using minimum delta and maximum time before derivative update.
Regarding the possible bug when you were unable to assign value to a channel on the same hierarchy level: could you send us an example code for this to email@example.com