Hi Dave,
Strange.
Good idea to start with a single Konnect. I assume you meant EnableKonnect.c
The sequence is KFLOP writes 2 Output Bytes (2 clocks) the reads 4 Input Bytes (4 clocks) then reads the A5 signature byte (1 clock) and if the signature is incorrect it stops and displays the error message. You should see CLOCK and START (IO 34 and 35) set as Outputs on the Digital IO Screen. So you should see the clock toggle at least a few times before stopping without any Konnect attached each time the EnableKonnect.c is Executed.
Can you see IO 34 and 35 being configured as Outputs?
If you toggle IO 34's state with the Digital IO screen does the bit change on the screen and does your scope see the change?
What Version of KMotion are you using?
Have you flashed any Configuration or Programs into KFLOP? If so reset to none and defaults using Flash New Version, re-boot, and do not run any other programs or set any configuration.
Here is a program to continuously attempt to Initialize one Konnect board a few times per second to make it easier to scope.
Code:
#include "KMotionDef.h"
// Configure KFLOP to service Konnect 32 Input 16 output IO board
// Board address is 0,
// 16 Outputs are mapped to Virtual IO 48-63 (VirtualBits)
// 32 Inputs are mapped to Virtual IO 1024-1055 (VirtualBits[0])
main()
{
for (;;)
{
InitAux();
AddKonnect(0,&VirtualBits,VirtualBitsEx);
Delay_sec(0.2);
}
}