I see some pixel processing happening in M0 which is a little challenging to understand as its written in assembly. Is there any high level code which corresponds to the processing done by M0?
Is there some noise filtering being done?
The M0 seems to be very loaded, is there scope to add more processing like color fringe correction around edges. I noticed that the color fringing around edges causes some false detection. Although that is acceptable if one is tracking a big blob but will be a problem if you want to track thin color lines.
Hi Animesh,
Yes, the M0 code is a bit confusing. Much of it is done in assembly to get the timing right, so its very ‘delicate’ code. If we had high level code that did the same thing then we’d be using that instead of the assembly. The assembly code is fairly well commented, so maybe you can walk through it that way, otherwise maybe we can write up some more documentation.
Scott