예제 #1
0
파일: mainwnd.py 프로젝트: ponty/nanpy-gui
    def _connect_fired(self):
            try:
                connection = SerialManager(device=self.serial_device,
                                           baudrate=self.baudrate,
                                           sleep_after_connect=self.sleep_after_connect,
                                           timeout=self.timeout)
                connection.open()
                print ArduinoApi(connection=connection).millis()
            except Exception as e:
                traceback.print_exc()
                message(traceback.format_exc(), buttons=['OK'])
                return

            a = self.tree = ArduinoTree(connection=connection)

            d = a.define.as_dict
            s = [GuiDefine(name=k, value=str(v)) for k, v in d.items()]
            s.sort(key=lambda x: x.name)
            self.defines = s
            self.digital_pins = [PinWrapper(pin=a.pin.get(x))
                                 for x in a.pin.names_digital]
            self.analog_pins = [PinWrapper(pin=a.pin.get(x))
                                for x in a.pin.names_analog]
            self.pins = self.digital_pins + self.analog_pins

            fw = a.firmware_info
            self.arduino_version = fw.get('arduino_version')
            self.firmware_build_time = str(fw.get('compile_datetime'))
            self.avr_name = fw.get('avr_name')
            self.gcc_version = fw.get('gcc_version')
            self.libc_version = fw.get('libc_version')
            self.libc_date = str(fw.get('libc_date'))
            self.connected = True
예제 #2
0
파일: i2c_send.py 프로젝트: DarkSotM/nanpy
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    print connection.device
    a = ArduinoTree(connection=connection)
    master = I2C_Master(a.wire)
    master.send(0x27, [0b00001000])
예제 #3
0
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    print(connection.device)
    a = ArduinoTree(connection=connection)
    master = I2C_Master(a.wire)
    print(['0x%02x' % x for x in master.scan()])
예제 #4
0
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    print(connection.device)
    a = ArduinoTree(connection=connection)
    master = I2C_Master(a.wire)
    master.send(I2C_ADDRESS, [0b00001000])
예제 #5
0
파일: i2c_scanner.py 프로젝트: Lex512/nanpy
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    print (connection.device)
    a = ArduinoTree(connection=connection)
    master = I2C_Master(a.wire)
    print (['0x%02x' % x for x in master.scan()])
예제 #6
0
def checkspeed(n):
    connection = SerialManager(device='/dev/ttyACM0')
    connection.open()
    a = ArduinoTree(connection=connection)

    print('performance test for ArduinoTree()')
    print('n=%s' % n)
    print('')

    measure(a, n, 'api.digitalRead(0)')
    measure(a, n, 'api.digitalWrite(0,0)')
    measure(a, n, 'api.analogRead(0)')
    measure(a, n, 'api.analogWrite(0,0)')
    measure(a, n, 'api.pinMode(0,0)')
    measure(a, n, 'api.millis()')
    measure(a, n, 'api.shiftOut(0, 1, 0, 15)')
    measure(a, n, 'api.pulseIn(0, 0)')

    print('')
    print('performance test for AD9850()')
    print('')

    ad9850 = AD9850([0, 1, 2, 3])
    measure(ad9850, n, 'setup()', root='ad9850')
    measure(ad9850, n, 'write_frequency(400)', root='ad9850')
예제 #7
0
파일: pressure.py 프로젝트: DarkSotM/nanpy
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    a = ArduinoTree(connection=connection)
    bmp = Bmp180(a.wire)
    p, t = bmp.read()
    print 'pressure: %s kPa' % (p / 1000)
    print 'temperature: %s C' % t
예제 #8
0
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    a = ArduinoTree(connection=connection)
    bmp = Bmp180(a.wire)
    p, t = bmp.read()
    print('pressure: %s kPa' % (p / 1000))
    print('temperature: %s C' % t)
예제 #9
0
def main():
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    a = ArduinoTree(connection=connection)
    bme = BME280(a.wire)
    t, h, p = bme.read()
    print('pressure: %d kPa' % (p / 1000))
    print('temperature: %d C' % t)
    print('humidity: %d %' % h)
예제 #10
0
파일: checkspeed.py 프로젝트: Lex512/nanpy
def checkspeed(n):
    connection = SerialManager()
    connection.open()
    a = ArduinoTree(connection=connection)

    print ('performance test for ArduinoTree()')
    print ('n=%s' % n)
    print('')

    measure(a, n, 'api.digitalRead(0)')
    measure(a, n, 'api.digitalWrite(0,0)')
    measure(a, n, 'api.analogRead(0)')
    measure(a, n, 'api.analogWrite(0,0)')
    measure(a, n, 'api.pinMode(0,0)')
    measure(a, n, 'api.millis()')
    measure(a, n, 'api.shiftOut(0, 1, 0, 15)')

    a.define.get('__TIME__')  # init cache
    measure(a, n, 'define.get("__TIME__")')

    a.register.get('DDRB')  # init cache
    measure(a, n, 'register.get("DDRB").read_value()')
    measure(a, n, 'register.get("DDRB").address')
    measure(a, n, 'register.get("DDRB").size')

    a.vcc.read()  # init cache
    measure(a, n, 'vcc.read()')

    measure(a, n, 'pin.get(0).read_digital_value()')
    measure(a, n, 'pin.get(0).read_mode()')

    a.eeprom.size  # init cache
    measure(a, n, 'eeprom.size')
    measure(a, n, 'eeprom.read(0)')

    print('')
    print ('performance test for AD9850()')
    print('')

    ad9850 = AD9850([0, 1, 2, 3])
    measure(ad9850, n, 'setup()', root='ad9850')
    measure(ad9850, n, 'write_frequency(400)', root='ad9850')
예제 #11
0
def checkspeed(n):
    connection = SerialManager()
    connection.open()
    a = ArduinoTree(connection=connection)

    print('performance test for ArduinoTree()')
    print('n=%s' % n)
    print('')

    measure(a, n, 'api.digitalRead(0)')
    measure(a, n, 'api.digitalWrite(0,0)')
    measure(a, n, 'api.analogRead(0)')
    measure(a, n, 'api.analogWrite(0,0)')
    measure(a, n, 'api.pinMode(0,0)')
    measure(a, n, 'api.millis()')
    measure(a, n, 'api.shiftOut(0, 1, 0, 15)')

    a.define.get('__TIME__')  # init cache
    measure(a, n, 'define.get("__TIME__")')

    a.register.get('DDRB')  # init cache
    measure(a, n, 'register.get("DDRB").read_value()')
    measure(a, n, 'register.get("DDRB").address')
    measure(a, n, 'register.get("DDRB").size')

    a.vcc.read()  # init cache
    measure(a, n, 'vcc.read()')

    measure(a, n, 'pin.get(0).read_digital_value()')
    measure(a, n, 'pin.get(0).read_mode()')

    a.eeprom.size  # init cache
    measure(a, n, 'eeprom.size')
    measure(a, n, 'eeprom.read(0)')

    print('')
    print('performance test for AD9850()')
    print('')

    ad9850 = AD9850([0, 1, 2, 3])
    measure(ad9850, n, 'setup()', root='ad9850')
    measure(ad9850, n, 'write_frequency(400)', root='ad9850')
예제 #12
0
def main():
    print('PCF8574 demo')
    print('address: 0x%X' % I2C_ADDRESS)
    connection = SerialManager(sleep_after_connect=2)
    connection.open()
    a = ArduinoTree(connection=connection)
    pcf = PCF8574(a.wire, I2C_ADDRESS)

    def write(d):
        print('write: %s' % bin(d))
        pcf.write8(d)

    def read():
        d = pcf.read8()
        print('read:  %s' % bin(d))

    read()

    d = pcf.readPin(0)
    print('read  pin 0: %s' % d)
    print('write pin 0: %s' % 1)
    pcf.writePin(0, 1)
    d = pcf.readPin(0)
    print('read  pin 0: %s' % d)

    read()

    write(0b11111111)
    read()

    write(0b10101010)
    read()

    write(0b01010101)
    read()

    write(0b00000000)
    read()
예제 #13
0
파일: tmp007.py 프로젝트: d1vanloon/nanpy
#!/usr/bin/env python
"""Tests the TMP007 sensor"""

import time
import logging
from nanpy import TMP007
from nanpy.serialmanager import SerialManager

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("TMP007")

connection = SerialManager(sleep_after_connect=2)
connection.open()

sensor = TMP007(connection=connection)

try:
    while True:
        object_temp = sensor.get_object_temperature()
        die_temp = sensor.get_die_temperature()
        logger.info("Object temperature: %.2f", object_temp)
        logger.info("Die temperature: %.2f", die_temp)
        time.sleep(4)
except KeyboardInterrupt:
    pass