Don't go by knock counts, go by knock retard (spark retard). The reason is that there can easily be knock retard without the the ALDL link or the PL showing additional knock counts.
This will occur because the knock counter (PA3) is a 16-bit value (2 bytes). Both the PL and the ALDL link only show the upper byte of the knock counter. There can be several degrees of knock retard with no counts showing.
This is why the knock gauge goes full red when the PL is only showing a count or maybe two. The lower byte (LSB) of the knock counter is incrementing, with spark advance being reduced (knock retard), but the upper byte (MSB, the one we see) hasn't moved yet. Need to get 256 counts before a single count gets registered on the upper counter byte.
How the ESC system (electronic spark control, the knock retard system), works at a hardware level is: there is a 16-bit (2 bytes) hardware counter that runs when the ESC filter reports knock. It runs are 64 KHz, or, 65,536 times a second. The signal from the ESC module is basically digital, it just goes low when reporting knock.
The lower byte (LSB) of the counter, the one we don't see, increments first. After 256 counts then the upper byte gets incremented (MSB), the one we see, to actually report something. The lower byte then rolls over to/past zero and starts over.
In that time the ECM can be pulling spark advance. I say 'can' because under various circumstances knock retard can be held off.
RemoveBeforeFlight