Option to use cam sensor level as sync

Some engines (BMW N20) have a trigger wheel that has three teeth; one of them is wide enough that the sensor is always either high or low on the tooth immediately after the 2 missing teeth on the crank regardless of how much VVT is applied. Link ECU supports this option and calls it “Cam Level.” I think it allows faster syncing of the engine as you don’t have to wait for an edge on the cam after finding the missing teeth on the crank.

Of course for VVT I’d still need to define an appropriate pattern, paying attention to rising or falling edges. But for sync, the same input would just be sampled for the current value rather than looking for an edge.

Can that be added as an option?

Yes, we can add this feature.
Do you have a scope file for EMU PRO from such an engine?

No, I currently have the engine running (ish - I have a stuck injector) on Link G4+ Force GDI. I am looking to switch engines (to a BMW N52) and thus need a new ECU, and am considering ECUMaster esp since it might be able to control either motor. I really like this idea since ECUMaster supports proper 4d tables and user defined math and electronic wastegate control.

If it matters I have the cam currently configured on the other ECU as rising edge at 42, 362, and 542 degrees ATDC. I expect I can get this to work using the “Longer than factor” sync option (the gaps are 320, 180, 220) but I bet it’d be faster if something like “Cam level” existed. So consider it a feature request, not a requirement.

FYI the sensor wheel physically looks like this: Genuine BMW - 11367598215 - Impulse Sending Wheel for Timing Chain Sprocket - Intake/Exhaust Camshaft (11-36-7-598-215)
sorry I know you can’t get exact readings from it but it gives a sense of what I’m talking about (big tooth opposite big gap).

Thank you for the link.
Yes, the Cam Level will be faster than the Longer-than-factor.

This pattern is very clever, as the engine can start from either an odd or even phase.
Currently, we always start from the same phase, so to fully handle the pattern it will require a little more work.

And sure, we can add support without a scope file. When we have a scope file, we can run a simulation to confirm that everything is working correctly.