#!/usr/bin/env python

#Lists various information from all bricks it can connect to.

import sys, traceback
import nxt.locator
import nxt.brick

b = None
socks = nxt.locator.find_bricks()
for sock in socks:
    try:
        b = sock.connect()

        name, host, signal_strength, user_flash = b.get_device_info()
        print 'NXT brick name: %s' % name
        print 'Host address: %s' % host
        print 'Bluetooth signal strength: %s' % signal_strength
        print 'Free user flash: %s' % user_flash
        prot_version, fw_version = b.get_firmware_version()
        print 'Protocol version %s.%s' % prot_version
        print 'Firmware version %s.%s' % fw_version
        millivolts = b.get_battery_level()
        print 'Battery level %s mV' % millivolts
    except:
        print "Error with brick:"
        traceback.print_tb(sys.exc_info()[2])
        print str(sys.exc_info()[1])
        if b:
            b.sock.close()

if not b:
    print "No bricks found!"
