A note to the code: It would work better if you can use the RTOS (i.e. multitasking OS) and split the gathering of sensor data and the command loop into two separate threads (I have no idea if it is possible in python). Only responding to command every few seconds makes TC very sluggish when using the "Current values" tab.
Here's a new file for the Keysight DSOX2014A.
You are right. 1 year ago I made a Arduino-C version for 2 sensors which used time interrupts. But I'm not so familiar with C, that's why I started this Micropython project.
But I'm still learning....
My oscilloscope serves a built in SCPI reference page at ://LOCAL_ADDRESS/InfiniiVision_Quick_Reference.html#measure
The below works nicely using keyboard F1:
#helpurl ://192.168.1.94/InfiniiVision_Quick_Reference.html#measure
Is there a way to get #helpurl to automatically put the LOCAL_ADDRESS in?
Also how is the #help file accessed?
It is fetched from my server and a local copy is stored in ...\Documents\TestController\Settings
As long as the file do not exist on my server, you can make on in the above directory and it will be used.
I guess I mean how is that file used? ie what do I do in TC that causes it to do something.
Also the settings that TC seems to use by default on the mac are in ~/TestController/Settings not ~/Documents/TestController/Settings. This caused problems when I first installed. Things didn't wok right until I moved the downloaded TestController directory into ~.
multi-threading is not the same as interrupts. In can be very simple to use, but also has some serious caveats if you do not know what you are doing.
It looks like there may be some support with a _thread module https://techtutorialsx.com/2017/10/02/esp32-micropython-creating-a-thread/
here you go
all files are free to use
http://webx.dk/oz2cpu/TemperatureSensorTC/TempLogger.htm
Thanks again, I will do some home work but suffer from a shortage of hobby time nowadays
def testThread():
sensors = ds_sensor.scan()
while True:
ds_sensor.convert_temp()
time.sleep_ms(700)
index=0
for sensor in sensors:
temp_list[index]=(ds_sensor.read_temp(sensor))
index=index+1
sensor_numbers = index
_thread.start_new_thread(testThread, ())
while True:
if uart.any() > 0:
line = uart.read()
...
sweeps works perfectly, we have still not been able to trig the curve and data collection to the param sweeper,
so we just manually start and stop them both, for this experiment it does not matter much,
but this is next move to figure out.
then we wanted to get more familiar with the math features, if the data collection run at 0.1 sec, and the param sweep at 0.3 sec,
it is fair to use 3 times average, to get more smooth curves on the calculated resistance,
this dont work, it seems like we can create new variables for outputs of calculations,
BUT we are not able to use the created variables as input to new math, as seen on the picture.
we see your time axis is frequency, and the multimeter read, must be synced to each new stimulus from the signal generator,
Do you also have interruptions while logging with the Metrahit Energy?
By the way:
Does your USB-IR-Interface look like this with this wide "opening":
Hi @HKJ, you've clearly done a great job supporting such a wide range of hardware!
Is the project on github? Sorry if its in the thread somewhere.
Also, I was wondering why you didn't build upon Sigrok, say a new UI and/or adding drivers for missing hardware?
I was hoping to find remote control/logging in a client-server design: backend interfacing with the h/w, say on a R-Pi (which could even be built into test equipment) and the client web / mobile...
A KS 34465A can sample every 40us (0.001PLC, manual range), but TC can only log every 10ms for now. And of course I want those 40us.
Has anyone tried to bridge that gap? I have ideas on how to do it, but didn't want to waste my time if people tell me it it will not work, or if it is possible already.
i also see those rare, random dropouts, first i had the idea it was a loose connection,
then i tribble checked all, and taped all cables, but it still happens,
maybe some of our internet routers are old crap ?
none of my internet connectivity stuff is new, i go thru 3 switches to access all my lab equipment,
it seems like:
usb DIY arduino: newer seen dropouts
ethernet (siglent equipment) yes, rarely
ethernet keysight, newer seen it.