def main(): logfile = 'log.bin' parser = argparse.ArgumentParser( description="Utility for experimenting with GreatFET's ADC") parser.add_argument('-s', dest='serial', metavar='<serialnumber>', type=str, help="Serial number of device, if multiple devices", default=None) parser.add_argument('-f', dest='filename', metavar='<filename>', type=str, help="Write data to file", default=logfile) parser.add_argument('-v', dest='verbose', action='store_true', help="Write data from file") parser.add_argument('-a', dest='adc', action='store_true', help="Use internal ADC") args = parser.parse_args() log_function = log_verbose if args.verbose else log_silent try: log_function("Trying to find a GreatFET device...") device = GreatFET(serial_number=args.serial) log_function("{} found. (Serial number: {})".format( device.board_name(), device.serial_number())) except greatfet.errors.DeviceNotFoundError: if args.serial: print("No GreatFET board found matching serial '{}'.".format( args.serial), file=sys.stderr) else: print("No GreatFET board found!", file=sys.stderr) sys.exit(errno.ENODEV) if args.adc: device.vendor_request_out(vendor_requests.ADC_INIT) #else: # device.vendor_request_out(vendor_requests.SDIR_RX_START) while True: data = device.vendor_request_in(vendor_requests.ADC_READ, length=2) print('%d' % (data[1] << 8 | data[0])) time.sleep(1) if not args.adc: device.vendor_request_out(vendor_requests.SDIR_RX_STOP)
def main(): # Set up a simple argument parser. parser = argparse.ArgumentParser( description="Periodically print temperature from DS18B20 sensor") parser.add_argument('-S', dest='s20', action='store_true', help='DS18S20') parser.add_argument('-s', dest='serial', metavar='<serialnumber>', type=str, help="Serial number of device, if multiple devices", default=None) parser.add_argument('-v', dest='verbose', action='store_true', help="Write data from file") args = parser.parse_args() log_function = log_verbose if args.verbose else log_silent try: log_function("Trying to find a GreatFET device...") device = GreatFET(serial_number=args.serial) log_function("{} found. (Serial number: {})".format( device.board_name(), device.serial_number())) except greatfet.errors.DeviceNotFoundError: if args.serial: print("No GreatFET board found matching serial '{}'.".format( args.serial), file=sys.stderr) else: print("No GreatFET board found!", file=sys.stderr) sys.exit(errno.ENODEV) while True: data = device.vendor_request_in(vendor_requests.DS18B20_READ, length=2, timeout=2000) # temperature data is 16 bit signed temp = struct.unpack('<h', data)[0] if args.s20: temp /= 2.0 else: temp /= 16.0 print(time.strftime("%H:%M:%S"), temp, '{:.01f}'.format(temp * 9 / 5 + 32)) time.sleep(1)
def main(): # Set up a simple argument parser. parser = argparse.ArgumentParser(description="Utility for flashing the GreatFET's onboard SPI flash") parser.add_argument('-s', dest='serial', metavar='<serialnumber>', type=str, help="Serial number of device, if multiple devices", default=None) parser.add_argument('-v', dest='verbose', action='store_true', help="Write data from file") args = parser.parse_args() log_function = log_verbose if args.verbose else log_silent try: log_function("Trying to find a GreatFET device...") device = GreatFET(serial_number=args.serial) log_function("{} found. (Serial number: {})".format(device.board_name(), device.serial_number())) except greatfet.errors.DeviceNotFoundError: if args.serial: print("No GreatFET board found matching serial '{}'.".format(args.serial), file=sys.stderr) else: print("No GreatFET board found!", file=sys.stderr) sys.exit(errno.ENODEV) print(device.vendor_request_in(vendor_requests.MSP430_JTAG, length=1))