Ejemplo n.º 1
0
 def _setup_channel(self):
     key = node.Network(name='N:ANT+', key=self.netkey)
     self.antnode.setNetworkKey(0, key)
     self.channel = self.antnode.getFreeChannel()
     self.channel.name = 'C:PowerMeter'
     self.channel.assign(key, CHANNEL_TYPE_TWOWAY_RECEIVE)
     self.channel.setID(11, 0, 0)
     self.channel.searchTimeout = TIMEOUT_NEVER
     self.channel.period = 8182  # might be 4091 or 8182
     self.channel.frequency = 57
     self.channel.open()
Ejemplo n.º 2
0
    def __init__(self, antnode, sensor_id):
        self.antnode = antnode

        # Get the channel
        self.channel = antnode.getFreeChannel()
        try:
            self.channel.name = 'C:POWER'
            network = node.Network(NETKEY, 'N:ANT+')
            self.channel.assign(network, CHANNEL_TYPE_TWOWAY_TRANSMIT)
            self.channel.setID(POWER_DEVICE_TYPE, sensor_id, 0)
            self.channel.period = CHANNEL_PERIOD
            self.channel.frequency = 57
        except ChannelError as e:
            print("Channel config error: " + repr(e))
        self.powerData = PowerMeterTx.PowerData()
Ejemplo n.º 3
0
    def __init__(self, antnode, sensor_id):
        self.antnode = antnode

        # Get the channel
        self.channel = antnode.getFreeChannel()
        try:
            self.channel.name = 'C:SPEED'
            network = node.Network(NETKEY, 'N:ANT+')
            self.channel.assign(network, CHANNEL_TYPE_TWOWAY_TRANSMIT)
            self.channel.setID(SPEED_DEVICE_TYPE, sensor_id, 0)
            self.channel.period = CHANNEL_PERIOD
            self.channel.frequency = 57
        except ChannelError as e:
            print ("Channel config error: "+e.message)

        self.speedData = SpeedTx.SpeedData()
Ejemplo n.º 4
0
    def __init__(self, antnode, sensor_type, sensor_id):
        self.sensor_type = sensor_type
        self.sensor_id = sensor_id
        self.currentData = None
        self.previousData = None
        self.revsPerSec = 0.0
        self.observer = None

        # Get the channel
        self.channel = antnode.getFreeChannel()
        self.channel.name = 'C:SPEED'
        network = node.Network(NETKEY, 'N:ANT+')
        self.channel.assign(network, CHANNEL_TYPE_TWOWAY_RECEIVE)
        self.channel.setID(sensor_type, sensor_id, 0)
        self.channel.searchTimeout = TIMEOUT_NEVER
        if sensor_type == SPEED_DEVICE_TYPE:
            period = 8118
        elif sensor_type == CADENCE_DEVICE_TYPE:
            period = 8102
        elif sensor_type == SPEED_CADENCE_DEVICE_TYPE:
            period = 8086
        self.channel.period = period
        self.channel.frequency = 57
Ejemplo n.º 5
0
NETKEY = '\xB9\xA5\x21\xFB\xBD\x72\xC3\x45'

# A run-the-mill event listener
class HRMListener(event.EventCallback):
    def process(self, msg, _channel):
        if isinstance(msg, message.ChannelBroadcastDataMessage):
            print 'Heart Rate:', ord(msg.payload[-1])

# Initialize
stick = driver.USB1Driver(SERIAL, log=LOG, debug=DEBUG)
antnode = node.Node(stick)
antnode.start()

# Setup channel
net = node.Network(name='N:ANT+', key=NETKEY)
antnode.setNetworkKey(0, net)
channel = antnode.getFreeChannel()
channel.name = 'C:HRM'
channel.assign(net, CHANNEL_TYPE_TWOWAY_RECEIVE)
channel.setID(120, 0, 0)
channel.searchTimeout = TIMEOUT_NEVER
channel.period = 8070
channel.frequency = 57
channel.open()

# Setup callback
# Note: We could also register an event listener for non-channel events by
# calling registerEventListener() on antnode rather than channel.
channel.registerCallback(HRMListener())
Ejemplo n.º 6
0
            try:
                stick.open()
            except:
                continue
            stick.close()
            break
    else:
        print("No ANT devices available")
        if getattr(sys, 'frozen', False):
            input()
        sys.exit()

    antnode = node.Node(stick)
    print("Starting ANT node")
    antnode.start()
    network = node.Network(NETKEY, 'N:ANT+')
    antnode.setNetworkKey(0, network)

    print("Starting cadence sensor")
    try:
        cadence_sensor = antnode.getFreeChannel()
        cadence_sensor.assign(network, CHANNEL_TYPE_TWOWAY_RECEIVE)
        cadence_sensor.setID(122, 0, 0)
        cadence_sensor.searchTimeout = TIMEOUT_NEVER
        cadence_sensor.period = 8102
        cadence_sensor.frequency = 57
        cadence_sensor.open()
    except Exception as e:
        print("cadence_sensor error: " + repr(e))
        cadence_sensor = None