M1 Build Questions
Posted: Tue Dec 10, 2013 10:06 am
I had a couple of questions and suggestions re M1 Build and noticed a possible bug. I could have answered some questions myself if the example build were available as an M1 Tune example.
(1) Possible Bug
“Mode Value” Selection in Properties Window. When I select “Constant” as the “Mode Input Object” for the following modules, the mode selection window does not appear in the “Properties” section.
i. Input: Normalized with Tracking
ii. Input: Sensor
(2) Assigned Default Values For Groups
a. I noticed that a group can be assigned the output of a child object as a default. If that is done, the group can be logged.
Question: If a default value is assigned, is the Group visible in M1 Tune just like a channel?
b. I noticed that in the example build, the developer created a group for the coolant temperature called “Coolant.Temperature”. However, rather than assigning the “Sensor” output as the default value for the “Temperature” sub-group, the developer created a “Value” channel, updates it with a function to contain the “Sensor” value, and then assigns the “Value” channel as the default value for the “Temperature” sub-group.
Question: Assuming that a group with an assigned default is visible just like a channel in M1 Tune, what is the advantage of going through these steps instead of just assigning the “Sensor” as the default value in this case?
(3) Sensors
a. Update Events
The Motec “Sensor” Module has two updates, a voltage event and an event.
Question 1: What is the difference between the two?
Question 2: Does one affect the other?
b. Fixed Update Events
I noticed that the Speed Sensor Update Events (Period update and calculation) are fixed to 100Hz.
Question: Is it possible to increase that to a higher frequency?
c. Multiple use of a resource
In some instances (engine speed for example), there will be an object (e.g., reference speed) using a IO resource as an input. For diagnostic purposes, a UDIG Voltage and Universal Digital Input object are assigned to use the reference as their resource object.
Question: In that case, is the update rate of the object that is assigned the IO resource (here “Reference”) an implicit maximum limit on the update rates of other classes that are merely assigned the other object (here: “Reference”) as their “resource Object” (instead of the IO)??
(4) Ref-Sync
I would like to have some more clarity regarding the ref-sync setup. For the “Camshaft” and “Alternate Reference” objects located under “Hardware, Digital Input” objects, there is no way to configure the active edge, threshold, hysteresis, and debounce in that particular object. In the example build file, these appear to be configured by the “Universal Digital Input” object located under “Hardware, Configuration.”
Question 1: Is that the correct way of configuring all digital inputs? It would have helped me if this had been more clear in the documentation (or at least the description of the camshaft/reference) object.
Question 2: Why are the Digital Inputs handled differently from other inputs (like AT/AV)?
(5) General
Question: What does the “get statistics event” refer to?
(6) Logging
I understand that the diagnostic logging can only be activated using a channel of the “data type” “logging mode.”
Question: Does the M1 interface still allow you to select any “active” channel to activate a logging system? Or do you also need to use a channel of the “data type” “logging mode”?
(7) Table Lookup
I would like to do a Table Lookup as part of a Offset Calibration. The problem is that the Calibration function cannot perform a Lookup (or reverse lookup on a "parent" table). This also applies to schedule functions. Is there a way around that?
(8) Derivatives
I would like to derive velocity from suspension position.
Question: Which derivative function do you recommend for that purpose? (Adaptive, filtered, or normal)?
(1) Possible Bug
“Mode Value” Selection in Properties Window. When I select “Constant” as the “Mode Input Object” for the following modules, the mode selection window does not appear in the “Properties” section.
i. Input: Normalized with Tracking
ii. Input: Sensor
(2) Assigned Default Values For Groups
a. I noticed that a group can be assigned the output of a child object as a default. If that is done, the group can be logged.
Question: If a default value is assigned, is the Group visible in M1 Tune just like a channel?
b. I noticed that in the example build, the developer created a group for the coolant temperature called “Coolant.Temperature”. However, rather than assigning the “Sensor” output as the default value for the “Temperature” sub-group, the developer created a “Value” channel, updates it with a function to contain the “Sensor” value, and then assigns the “Value” channel as the default value for the “Temperature” sub-group.
Question: Assuming that a group with an assigned default is visible just like a channel in M1 Tune, what is the advantage of going through these steps instead of just assigning the “Sensor” as the default value in this case?
(3) Sensors
a. Update Events
The Motec “Sensor” Module has two updates, a voltage event and an event.
Question 1: What is the difference between the two?
Question 2: Does one affect the other?
b. Fixed Update Events
I noticed that the Speed Sensor Update Events (Period update and calculation) are fixed to 100Hz.
Question: Is it possible to increase that to a higher frequency?
c. Multiple use of a resource
In some instances (engine speed for example), there will be an object (e.g., reference speed) using a IO resource as an input. For diagnostic purposes, a UDIG Voltage and Universal Digital Input object are assigned to use the reference as their resource object.
Question: In that case, is the update rate of the object that is assigned the IO resource (here “Reference”) an implicit maximum limit on the update rates of other classes that are merely assigned the other object (here: “Reference”) as their “resource Object” (instead of the IO)??
(4) Ref-Sync
I would like to have some more clarity regarding the ref-sync setup. For the “Camshaft” and “Alternate Reference” objects located under “Hardware, Digital Input” objects, there is no way to configure the active edge, threshold, hysteresis, and debounce in that particular object. In the example build file, these appear to be configured by the “Universal Digital Input” object located under “Hardware, Configuration.”
Question 1: Is that the correct way of configuring all digital inputs? It would have helped me if this had been more clear in the documentation (or at least the description of the camshaft/reference) object.
Question 2: Why are the Digital Inputs handled differently from other inputs (like AT/AV)?
(5) General
Question: What does the “get statistics event” refer to?
(6) Logging
I understand that the diagnostic logging can only be activated using a channel of the “data type” “logging mode.”
Question: Does the M1 interface still allow you to select any “active” channel to activate a logging system? Or do you also need to use a channel of the “data type” “logging mode”?
(7) Table Lookup
I would like to do a Table Lookup as part of a Offset Calibration. The problem is that the Calibration function cannot perform a Lookup (or reverse lookup on a "parent" table). This also applies to schedule functions. Is there a way around that?
(8) Derivatives
I would like to derive velocity from suspension position.
Question: Which derivative function do you recommend for that purpose? (Adaptive, filtered, or normal)?