import win32com.client
#-------------connecting procedure----------------
print 'mobi8 demo interface'
print 'W.Pasman 24june 2009'
mobi8=win32com.client.Dispatch("PortiSerial.SerialSource")
print "connecting with mobi8..."
mobi8.ComPort="4"
SerialNumber = mobi8.FrontendSerialNumber
if SerialNumber==-1:
raise Exception("can not open connection with mobi8."+
" Try to reconnect the mobi8 device via bluetooth")
NrOfChannels=mobi8.GetFrontendNrOfChannels()
HighestSampleRate=mobi8.SampleRate
print "mobi8 connected with "+str(NrOfChannels)+" channels, max samplerate="+str(HighestSampleRate)
#--------------sample data capture of 1000 samples, including printing ----------------
ReceivedSamples=0
DesiredSampleRate=HighestSampleRate/4 # do not use /8, PortiSerial.dll will crash after some time
mobi8.SampleRate=DesiredSampleRate
error=mobi8.StartAcq(DesiredSampleRate)
f=open('out.txt','w') # dump to file
while ReceivedSamples < 1000:
Periods,samples=mobi8.GetSampleRecordAsVariant()
if (Periods>0):
ReceivedSamples = ReceivedSamples+Periods
#print samples[0]
for sample in samples[0]: # print channel 0 only. printing all is too much
print >>f, sample
#-----------------disconnect --------------------
error=mobi8.StopAcq()
error=mobi8.ReleaseSerialPort()
print "ended"