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])
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')
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()])
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
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])
def main(): connection = SerialManager(sleep_after_connect=2) connection.connect() print connection.device a = ArduinoTree(connection=connection) master = I2C_Master(a.wire) print ['0x%02x' % x for x in master.scan()]
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
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)
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)
def reset_demo(): connection = SerialManager() a = ArduinoTree(connection=connection) print_millis(a) print ('soft reset') a.soft_reset() print_millis(a)
def boot_time(): connection = SerialManager() a = ArduinoTree(connection=connection) a.watchdog.enable(a.watchdog.WDTO_500MS) time.sleep(1) a.connection.flush_input() x = a.api.millis() return 1000 - 500 - x
def dumpall(): connection = SerialManager() a = ArduinoTree(connection=connection) print((FORMAT + ' V') % ('read_vcc', a.vcc.read())) print((FORMAT + ' sec') % ('millis', a.api.millis() / 1000.0)) print('') print('================================') print('firmware classes:') print('================================') print('status:') pprint(a.connection.classinfo.firmware_class_status) print('unknown ids:') pprint(a.connection.classinfo.unknown_firmware_ids) print('') print('================================') print('pins:') print('================================') print(FORMAT % ('total_pin_count', a.pin.count)) print(FORMAT % ('digital_names', a.pin.names_digital)) print(FORMAT % ('analog_names', a.pin.names_analog)) for pin_number in range(a.pin.count): print('---------- pin_number=%s ---------------' % pin_number) pin = a.pin.get(pin_number) dump( pin, 'name pin_number pin_number_analog is_digital is_analog avr_pin mode digital_value analog_value programming_function'.split()) if pin.pwm.available: print('--- pwm ---') dump(pin.pwm, '''frequency frequencies_available base_divisor divisor divisors_available timer_mode timer_register_name_a timer_register_name_b wgm '''.split()) print('') print('================================') print('defines:') print('================================') dump_dict(a.define.as_dict) print('') print('================================') print('registers:') print('================================') for x in a.register.names: r = a.register.get(x) if r.size == 2: v = '0x%04X' % (r.value) else: v = ' 0x%02X' % (r.value) print('%-20s = %s @0x%2X (size:%s)' % (r.name, v, r.address, r.size))
def checkspeed(n): connection = SerialManager() connection.connect() a = ArduinoTree(connection=connection) print ('performance test for ArduinoTree()') print ('n=%s' % n) print('') a.avr_name # init cache measure(a, n, 'avr_name') 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')
def fw_check(): connection = SerialManager() a = ArduinoTree(connection=connection) print('Firmware classes enabled in cfg.h:') print(' ' + '\n '.join(a.connection.classinfo.firmware_name_list)) d = a.define.as_dict print('\nYour firmware was built on:\n %s %s' % (d.get('__DATE__'), d.get('__TIME__')))
def highfreqpwm(): connection = SerialManager() a = ArduinoTree(connection=connection) pin9 = a.pin.get(9) pin9.mode = 1 pin9.write_digital_value(1) pwm = pin9.pwm print('set frequency=%s Hz' % FREQ) pwm.set_high_freq_around(FREQ) print('real frequency=%s Hz' % pwm.read_frequency())
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')
def pwm_demo(): connection = SerialManager() a = ArduinoTree(connection=connection) p = a.pin.get(PIN) print('PWM frequencies_available: %s' % p.pwm.frequencies_available) p.write_mode(OUTPUT) p.pwm.write_value(VALUE) # set frequency here p.pwm.frequency = 61 print('PWM frequency: %s' % p.pwm.frequency) print('PWM duty cycle: %s %% ' % (DUTY_CYCLE * 100))
def ramdump(): connection = SerialManager() a = ArduinoTree(connection=connection) size = a.ram.size free = a.ram.free() print('Reading RAM (%s bytes, %s bytes free)...' % (size, free)) data_list = [] for i in range(0, size): s = a.ram.read(i) data_list.append(s) display(data_list, size)
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()
def counterdemo(): connection = SerialManager() a = ArduinoTree(connection=connection) p = a.pin.get(5) a.soft_reset() print('PWM frequencies_available: %s' % p.pwm.frequencies_available) p.write_mode(1) p.pwm.write_value(128) p.pwm.frequency = F print('frequency set: %s' % p.pwm.frequency) t1 = time.time() fread = a.counter.read_frequency(GATE_TIME) t2 = time.time() print('frequency read: %s' % fread) print('gate time: %s sec' % (GATE_TIME)) print('time elapsed: %s sec' % (t2 - t1))
#!/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
def power_demo(): connection = SerialManager() a = ArduinoTree(connection=connection) Vcc = a.vcc.read() msg = 'Power supply= %0.2f V' % Vcc print(msg)
def dumpall(): connection = SerialManager() a = ArduinoTree(connection=connection) if a.vcc: myprint(FORMAT + ' V', 'read_vcc', lambda : a.vcc.read()) myprint(FORMAT + ' sec', 'uptime', lambda : a.api.millis() / 1000.0) print('') print('================================') print('firmware classes:') print('================================') pprint(a.connection.classinfo.firmware_name_list) print('') print('================================') print('defines:') print('================================') dump_dict(a.define.as_dict) if a.esp: print('') print('================================') print('ESP:') print('================================') myprint(FORMAT , 'getVcc', lambda :a.esp.getVcc()) myprint(FORMAT , 'getFreeHeap', lambda :a.esp.getFreeHeap()) myprint(FORMAT , 'getChipId', lambda :a.esp.getChipId()) myprint(FORMAT , 'getSdkVersion', lambda :a.esp.getSdkVersion()) myprint(FORMAT , 'getBootVersion', lambda :a.esp.getBootVersion()) myprint(FORMAT , 'getBootMode', lambda :a.esp.getBootMode()) myprint(FORMAT , 'getCpuFreqMHz', lambda :a.esp.getCpuFreqMHz()) myprint(FORMAT , 'getFlashChipId', lambda :a.esp.getFlashChipId()) myprint(FORMAT , 'getFlashChipRealSize', lambda :a.esp.getFlashChipRealSize()) myprint(FORMAT , 'getFlashChipSize', lambda :a.esp.getFlashChipSize()) myprint(FORMAT , 'getFlashChipSpeed', lambda :a.esp.getFlashChipSpeed()) myprint(FORMAT , 'getFlashChipMode', lambda :a.esp.getFlashChipMode()) myprint(FORMAT , 'getFlashChipSizeByChipId', lambda :a.esp.getFlashChipSizeByChipId()) myprint(FORMAT , 'getResetReason', lambda :a.esp.getResetReason()) myprint(FORMAT , 'getResetInfo', lambda :a.esp.getResetInfo()) myprint(FORMAT , 'getSketchSize', lambda :a.esp.getSketchSize()) myprint(FORMAT , 'getFreeSketchSpace', lambda :a.esp.getFreeSketchSpace()) print('') print('================================') print('pins:') print('================================') myprint(FORMAT , 'total_pin_count', lambda :a.pin.count) myprint(FORMAT , 'digital_names', lambda :a.pin.names_digital) myprint(FORMAT , 'analog_names', lambda :a.pin.names_analog) for pin_number in range(a.pin.count): print('---------- pin_number=%s ---------------' % pin_number) pin = a.pin.get(pin_number) dump( pin, 'name pin_number pin_number_analog is_digital is_analog avr_pin mode digital_value analog_value programming_function'.split()) if pin.pwm.available: print('--- pwm ---') dump(pin.pwm, '''frequency frequencies_available base_divisor divisor divisors_available timer_mode timer_register_name_a timer_register_name_b wgm '''.split()) if a.register: print('') print('================================') print('registers:') print('================================') for x in a.register.names: r = a.register.get(x) if r.size == 2: v = '0x%04X' % r.value else: v = ' 0x%02X' % r.value print('%-20s = %s @0x%2X (size:%s)' % (r.name, v, r.address, r.size))
#!/usr/bin/env python2 from nanpy.arduinotree import ArduinoTree from nanpy.serialmanager import SerialManager from nanpy.bh1750fvi import Bh1750Fvi from time import sleep connection = SerialManager(device='/dev/rfcomm0') ## Devices Address #Device address when address pin LOW : 0x23 #Device address when address pin HIGH : 0x5C aTree = ArduinoTree(connection=connection) aApi = ArduinoApi(connection=connection) bh = Bh1750Fvi(aTree.wire) aApi.pinMode(13, aApi.OUTPUT) # Device 1 #aApi.digitalWrite(9, HIGH) #bh.SetAddress(0x5C) # Device 2 aApi.digitalWrite(9, LOW) bh.SetAddress(0x23) ## Light intensity modes #Continuous_H_resolution_Mode : 0x10 #Continuous_H_resolution_Mode2 : 0x11
__author__ = 'gcdeh_000' from nanpy.arduinotree import ArduinoTree from nanpy import onewire from nanpy import dallastemperature __author__ = 'gcdeh_000' from nanpy.pwm import ArduinoPwmPin from nanpy.serialmanager import SerialManager import time if __name__ == '__main__': connection = SerialManager() a = ArduinoTree(connection=connection) tempPin = a.pin.get(4) TempSensor = dallastemperature.DallasTemperature(tempPin, connection=connection) print "Start reading temp sensor" time.sleep(0.010) temp = TempSensor.getTempC print temp
def dds(): connection = SerialManager() dds = AD9850([W_CLK, FQ_UD, DATA, RESET], connection=connection) dds.setup() dds.write_frequency(F)