def int_communication(data_dir, freq, single, adr_change, backend, skip_meas, clk_enable): GPIO_DR = 6 i = 0 while os.path.exists(os.path.join(data_dir, 'data_' + str(i) + '.dat')): i += 1 global write_file if not skip_meas: import te_setup #import RPi.GPIO as GPIO import RPIO as GPIO import spidev spi = spidev.SpiDev() write_file = open(os.path.join(data_dir, 'data_' + str(i) + '.dat'), 'w') global spi spi.open(0, 0) spi.max_speed_hz = (freq) GPIO.setmode(GPIO.BCM) GPIO.setup(GPIO_DR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(GPIO_DR, GPIO.RISING) if not adr_change: GPIO.add_event_callback(GPIO_DR, callback) else: GPIO.add_event_callback(GPIO_DR, callback_adr) if single: if not adr_change: callback(6) else: callback_adr(6) else: try: if clk_enable: GPIO.setup(5, RPIO.ALT0) while True: time.sleep(1) except KeyboardInterrupt: GPIO.setup(5, RPIO.INPUT) GPIO.cleanup() #global write_file time.sleep(0.1) write_file.close() print('Written to data_' + str(i) + '.dat') if backend == 'display_graph': data_manager.data_manager(directory=data_dir, data_size=1000, train_size=100, split_mode=False, attenate_flag=False, save_as_png=False).plot()
def int_communication(data_dir, freq, single, adr_change, backend, skip_meas, clk_enable): GPIO_DR = 6 i = 0 while os.path.exists(os.path.join(data_dir, 'data_' + str(i) + '.dat')): i += 1 global write_file if not skip_meas: import te_setup #import RPi.GPIO as GPIO import RPIO as GPIO import spidev spi = spidev.SpiDev() write_file = open(os.path.join(data_dir, 'data_' + str(i) + '.dat'), 'w') global spi spi.open(0,0) spi.max_speed_hz=(freq) GPIO.setmode(GPIO.BCM) GPIO.setup(GPIO_DR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.add_event_detect(GPIO_DR, GPIO.RISING) if not adr_change: GPIO.add_event_callback(GPIO_DR, callback) else: GPIO.add_event_callback(GPIO_DR, callback_adr) if single: if not adr_change: callback(6) else: callback_adr(6) else: try: if clk_enable: GPIO.setup(5, RPIO.ALT0) while True: time.sleep(1) except KeyboardInterrupt: GPIO.setup(5, RPIO.INPUT) GPIO.cleanup() #global write_file time.sleep(0.1) write_file.close() print('Written to data_' + str(i) + '.dat') if backend == 'display_graph': data_manager.data_manager(directory=data_dir, data_size=1000, train_size=100, split_mode=False, attenate_flag=False, save_as_png=False).plot()
SPIMISO = 23 SPIMOSI = 24 SPICS = 25 # set up the pins RPIO.setup(SPIMOSI, RPIO.OUT) RPIO.setup(SPIMISO, RPIO.IN) RPIO.setup(SPICLK, RPIO.OUT) RPIO.setup(SPICS, RPIO.OUT) RPIO.setup(19, RPIO.OUT) RPIO.setup(26, RPIO.OUT) RPIO.setup(16, RPIO.OUT) RPIO.setup(20, RPIO.OUT) RPIO.setup(4, RPIO.IN, pull_up_down=RPIO.PUD_UP) RPIO.add_event_detect(4, PWR_func, edge="falling" debounce_timeout_ms=50) # set up the PWM outputs to the motors pwm_MF = RPIO.PWM(19, 100) pwm_MR = RPIO.PWM(26, 100) servo = PWM.Servo() pwm_MF.start(0) pwm_MR.start(0) servo.set_servo(20, 1450) # joystick ADC channels joy_x_adc = 0 joy_y_adc = 1
SPIMISO = 23 SPIMOSI = 24 SPICS = 25 # set up the pins GPIO.setup(SPIMOSI, GPIO.OUT) GPIO.setup(SPIMISO, GPIO.IN) GPIO.setup(SPICLK, GPIO.OUT) GPIO.setup(SPICS, GPIO.OUT) GPIO.setup(19, GPIO.OUT) GPIO.setup(26, GPIO.OUT) GPIO.setup(16, GPIO.OUT) GPIO.setup(20, GPIO.OUT) GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.add_event_detect(4, GPIO.FALLING, callback=PWR_func, bouncetime=50) # set up the PWM outputs to the motors pwm_MF = GPIO.PWM(19, 100) pwm_MR = GPIO.PWM(26, 100) servo = PWM.Servo() pwm_MF.start(0) pwm_MR.start(0) servo.set_servo(20, 1450) # joystick ADC channels joy_x_adc = 0 joy_y_adc = 1