int PC_comm[N_PC_COMM_PERSIST];// 8 persist Variables constantly uploaded to send misc commands/data to PC
==Threads and KMotion.exec C Programs Screen==
KFLOP can have multiple (1 System Program and up to 7 User ) programs loaded into memory and executing concurrently. Each program gets a time slice of execution time on a deterministic periodic basis. For more information see [http://dynomotion.com/Help/Multitasking.htm here]:
The KMotion.exe C Programs Screen contains C Source Code Edit Windows that facilitate editing, developing, compiling, executing, and debugging C Programs.
A common misconception is that the KMotion.exe Source Code Edit Windows is the same as what is currently in the KFLOP Thread Memory Spaces. This is not necessarily the case. If the Source Code has not been Compiled and Downloaded to the KFLOP Thread then something else may be in the KFLOP Thread Space. KMotion.exe remembers what Programs were last loaded into the edit windows but again this is not what might be what is in KFLOP. After all the C Programs have been developed the KMotion.exe C Programs Screen is no longer used or needed.
C Source code is not downloaded to KFLOP. Only the compiled binary executable code is downloaded to KFLOP memory. There is no means of recovering the C Source Code from only the binary executable code.
Although C Programs can be Flashed to KFLOP memory so they will be present in KFLOP Memory on Power up this is not normally recommended and not usually required. KFLOP normally powers up with no C Programs in Memory. Programs can be compiled, downloaded, and executed dynamically in Threads by Applications at run time. They do not need to be pre-loaded (or Flashed) into KFLOP Memory. For example when KMotionCNC executes GCode and encounters an M3 it may download the configured C Program to the Configured Thread and execute it.
Note that different programs can be executed in the same Thread Space as long as they are used at different times. If a new program is downloaded to a Thread that has a previously loaded program executing, the previous program execution is halted and then the new program is loaded into the Thread's memory.