Just to make sure. So when you change one of the values in the buffer to 4000000 it only holds for 3 seconds. Does it matter what state it is high or low?
Yes, that is a bug in SetBlocking() function and it has been fixed. If this function is not important in your project now, try another way with Set() function. Set() function still works fine.
I noticed that the frequency of SetBlocking() function is also incorrect but it’s probably the same bug.
With a carrierFrequency_hz of 300 the G120 generates a signal of 400 Hz.