I have 2 Miniprog 3s connected to the same computer and I cannot program 2 chips simultaneously. At most only one process will finish normally. I am using the COM interface example program that came with PSoC Programmer. I also tried programming with 2 simultaneous sessions of PSoC Programmer each connected to a different Miniprog 3 and both fails. Are multiple Miniprog 3s supposed to operate at the same time on the same computer? I want to connect many Miniprog 3s to a single computer and do simultaneous in-circuit programming at the factory. I cannot use gang socket programmers. I can get multiple Segger J-Links to work simultaneously but I need to program eFuse protection states and I don't know how to do that without using the PSoC6_WriteProtection() API for Miniprog 3.
Yes, I observed the same issue as you when I tried to program two PSoC5 boards using two Miniprog3s. One of the process used to complete while the other was failing at the DAP_Acquire.
I used multiple PPCOM instances and threads to test it. So even though two threads run parallely, when the programming flow begins starting from DAP_Acquire(), if the control is transferred to another thread in between, since this process is time critical, the first thread stops working and second thread will go on to program successfully since first one isn't present now to disturb it.
So I had to add a lock function for the time critical part and rest everything happens parallely. I tested it and both the miniprogs program successfully but one being slightly later than the other due to the time critical part..
Anyways, please try it and let me know if you have any queries. I'll research further if this could be improved any further.
I have attached the file below.
This works but it is does not speed up programming much if programming a large file. All the actual flash programming is done sequentially no matter how many miniprogs are connected. I think there is something wrong with the miniprog driver or COM dll. Even PSoC Programmer does not work when running 2 instances of the app.
Yes, I also tried to run two instances using Parallel and Tasks libraries available from .NET Framework 4.0. But yet, the programming doesn't happen like expected. Now I'm trying to create an exe and then pass the ppcom object as a parameter to it and run it as two seperate command line instances.
Please refer to the example present at this path: "C:\Program Files (x86)\Cypress\Programmer\Examples\Misc\CCG3_Console_App\"
It is console application developed for and used by Apple for parallel programming of up to ten CCG3 devices on one PC. You should be able to adopt it for your PSoC 5 Kits.