Input clip warning?

Is there some way to tell if the input stage has been overloaded/overvolted during an experiment?

If there isn’t already a method that I have missed, it would be useful to be able to check for current and past overload conditions. Either through an API call to get status, or summary, or even by changing the colour of the LEDs.

On another note: I tried to write a routine to manually check the amplitude and adjust the input attenuation, but it caused the Moku to crash in the same way as I’ve previously mentioned - a 502 error.

Thanks!
Claude

Hi Claude,

I am sorry that we currently don’t have a functionality to tell if there are any saturations on the frontend. I will make a feature request for this point.

For the Python code issue, we are actively working on that. Here is a possible workaround: add one command before the relinquish_ownership could help with the error code 502 issue. Here is the code I am using right now:

from moku.instruments import CloudCompile, MultiInstrument, ArbitraryWaveformGenerator, WaveformGenerator, LockInAmp

mim = MultiInstrument('192.168.2.191', force_connect=True, platform_id=4)
arb = mim.set_instrument(1, ArbitraryWaveformGenerator)
#mcc = mim.set_instrument(2, CloudCompile, bitstream="multip_mokupro_587_e5cacd7.tar.gz") # N.B. Not nessecary to replicate the bug so I commented it out
wg = mim.set_instrument(3, WaveformGenerator)
lia = mim.set_instrument(4, LockInAmp)


wg.generate_waveform(channel=1,type='Sine', amplitude = 1.0,frequency = 144e6,phase = 0)

lia.set_demodulation(mode="Internal",frequency=144e6)

arb.burst_modulate(1, "InputA", "NCycle", burst_cycles=1e6, trigger_level=0.8)

connections = [dict(source="Input1", destination="Slot1InA"),
               dict(source="Slot1OutA", destination="Output1")]
mim.set_connections(connections=connections)

mim.relinquish_ownership()

Please let me know if there is anything I can help! Thank you very much for your patience and understanding!

Best regards,
Hank

1 Like

Thank you, Hank.

As a side-note: you referred to this as a python code issue, was that just because I was referring to/using the python API particularly? or is it a general issue? If using the curl/restful API is stable, I might switch over to it.

Thanks!
Claude

Hi @nnosk55 Claude,

Thank you for getting back to me!

In my experience, this is more than the Python API client side. Actually, I feel this is more like an issue about Moku’s internal service state issue.

Multi-instrument Mode is kind of complicated to handle the http request on the Moku server side. That explains why we need to call a Multi-instrument Mode command (for example, set_connections) before the relinquish_ownership API call. So I assume the curl/restful API would have the same issue.

I will talk to our dev team to see if there is any progress on this part. Thank you again for your patience and understanding!

Best regards,
Hank

1 Like

Hi Hank,

Thanks for your fast reply! It’s all good, the measurement system I have configured is stable and functional at the moment, so there’s no rush for me.

Thanks for your help,

Claude

1 Like