Writing multichannels to a file

Supporting 2.7 and 3.2+
mirvine
Phidgetsian
Posts: 6
Joined: Tue Jan 23, 2018 7:44 am
Contact:

Writing multichannels to a file

Postby mirvine » Mon Jan 29, 2018 8:20 am

Hi All

I am probablement thinking in a complicated way but if I use a 1046 with 4 analog input channels, what is the simple way of logging all 4 channels into one file ? Give that each channel has its own event this seems complicated to me. Any help would be appreciated.

Thanks
Mark

User avatar
mparadis
Site Admin
Posts: 531
Joined: Fri Oct 28, 2011 12:17 pm
Contact:

Re: Writing multichannels to a file

Postby mparadis » Mon Jan 29, 2018 8:54 am

You can register all four channels to the same event, like this:

Code: Select all

ch0.setChannel(0)
ch1.setChannel(1)
ch2.setChannel(2)
ch3.setChannel(3)
ch0.setOnVoltageRatioChangeHandler(VoltageRatioChangeHandler)
ch1.setOnVoltageRatioChangeHandler(VoltageRatioChangeHandler)
ch2.setOnVoltageRatioChangeHandler(VoltageRatioChangeHandler)
ch3.setOnVoltageRatioChangeHandler(VoltageRatioChangeHandler)


The change handler can tell the difference between which channel triggered the event by looking at the first parameter:

Code: Select all

def VoltageRatioChangeHandler(e, voltageRatio):
    print("CH%d: VoltageRatio: %f" % (e.getChannel(), voltageRatio))


In this case, the first parameter "e" contains all of the information about who triggered the event (in future examples we might rename "e" to "self" to make this more intuitive). As you can see, e.getChannel() tells you which number the triggering channel is set to.

mirvine
Phidgetsian
Posts: 6
Joined: Tue Jan 23, 2018 7:44 am
Contact:

Re: Writing multichannels to a file

Postby mirvine » Mon Jan 29, 2018 9:26 am

Ok great thanks for this and your quick response !

Best wishes
Mark

mirvine
Phidgetsian
Posts: 6
Joined: Tue Jan 23, 2018 7:44 am
Contact:

Re: Writing multichannels to a file

Postby mirvine » Mon Jan 29, 2018 9:46 am

Sorry but with this solution it is necessary that each ch object has the file handler as a propriety no ? Again am I missing something ? Are there no multi channel examples which write to a file ?

Thanks
Mark

User avatar
mparadis
Site Admin
Posts: 531
Joined: Fri Oct 28, 2011 12:17 pm
Contact:

Re: Writing multichannels to a file

Postby mparadis » Mon Jan 29, 2018 11:47 am

Yes, you'd have to pass the file pointer in by adding to to each of the channel objects, as mentioned in the other topic you posted in. We don't currently have a code sample that shows how to log multiple channels to a file using the same event, but I've added it to our list of potential articles for the future.

mirvine
Phidgetsian
Posts: 6
Joined: Tue Jan 23, 2018 7:44 am
Contact:

Re: Writing multichannels to a file

Postby mirvine » Tue Jan 30, 2018 12:47 am

Hi

Thanks again for your answer which clears things up. I must admit that this is not very efficient for me (compared to how I used to code in phidgets). I have to use globals as I change the file every hour. I could update every object also but I am not sure that this will happen in time so I am going for the global solution.

Best wishes
Mark


Return to “Python”

Who is online

Users browsing this forum: No registered users and 1 guest