You are here: Forum Home → ANT+ Forums → ANT+ Simulation Tools → Thread
# Define a function to handle the SensorFound event
def SensorFound(deviceNumber, transType):
global storedDeviceNumber
global storedTransType
if storedDeviceNumber != deviceNumber:
logScriptEvent("New device found")
logger.writerow('test1')
else:
logScriptEvent("Old device found again")
logger.writerow('test2')
storedDeviceNumber = deviceNumber
storedTransType = transType
# This script logs raw data received from a heart rate sensor to a CSV file
currVer = '2.01.00' # Current version number, as a string
verDate = '2014-06-19' # Date of current version, as a string
# It needs to access IronPython modules to use the CSV writer
import clr
clr.AddReferenceToFile('IronPython.Modules.dll')
from IronPython.Modules.PythonCsvModule import *
import time; # This is required to include time module.
import datetime; # This is required to include datetime module.
# Produce current date and time, to millisecond precision, in string format of varying verbosity
def getDateAndTime(doVerbose):
[...]
return sTs
ASCII1 = [...]
ASCII2 = [...]
# Produce suffix for filename based on current date and time, in string format
def getFileSuffix():
[...]
return suffix
kickOff = getDateAndTime(1)
logScriptEvent(' ')
logScriptEvent( ''.join(['*** Session started on ', kickOff, ' ***']) )
# Prepare a file stored in same directory as main simulator executable
fName = ''.join(['hr_log', getFileSuffix(), '.csv'])
f = open(fName , 'wb')
logScriptEvent( ''.join(['*** Logging to ', fName , ' in SimulANT+ directory ***']) )
logScriptEvent(' ')
logger = writer(f, delimiter=',', quotechar='|', quoting=QUOTE_MINIMAL)
logger.writerow(['H E A R T R A T E L O G G I N G'])
[...]
logger.writerow(['----------', '-----------', '----------', '----------'])
simulator.TurnOn()
# This function gets called everytime data is received; will be logging raw data
def DataPageReceived(page, key):
logScriptEvent("Ahoy, data was received!")
logScriptEvent(storedDeviceNumber)
logger.writerow([page.HeartBeatEventTime, page.HeartBeatCount, page.ComputedHeartRate, getDateAndTime(0)])
# Stop execution of the script, called when user presses the "Stop" button
def stopScript():
simulator.TurnOff()
f.close() # close file handle
# Define a function to handle the SensorFound event
def SensorFound(deviceNumber, transType):
global storedDeviceNumber
global storedTransType
if storedDeviceNumber != deviceNumber:
logScriptEvent("Hey, I found a new device!")
logger.writerow('test1')
else:
logScriptEvent("Hah, I found the old device again!")
logger.writerow('test2')
storedDeviceNumber = deviceNumber
storedTransType = transType
# REFERENCES
[...]
#Define global variable for storing device number
storedDeviceNumber = 0
# This function gets called everytime data is received; will be logging raw data
def DataPageReceived(page, key):
global storedDeviceNumber
logScriptEvent(storedDeviceNumber)
# Define a function to handle the SensorFound event
def SensorFound(deviceNumber, transType):
global storedDeviceNumber
if storedDeviceNumber != deviceNumber:
logScriptEvent("Hey, I found a new device!")