def __init__(self, port): spi = SPI(port) spi.setClockRate(4000000) # 4 MHz (rRIO max, gyro can go high) spi.setClockActiveHigh() spi.setChipSelectActiveLow() spi.setMSBFirst() self._spi = spi self._command = [0x00] * DATA_SIZE self._data = [0x00] * DATA_SIZE self._command[0] = READ_COMMAND self._accumulated_angle = 0.0 self._current_rate = 0.0 self._accumulated_offset = 0.0 self._rate_offset = 0.0 self._last_time = 0 self._current_time = 0 self._calibration_timer = Timer() self._calibration_timer.start() self._update_timer = Timer() self._update_timer.start() # # self._update_thread = Thread(self.update, daemon=True) # self._update_thread.start() self.update()
def __init__(self, port, bitrate=None): if bitrate is None: bitrate = DEFAULT_SPI_BITRATE_HZ simPort = None if hal.HALIsSimulation(): from ._impl.sim_io import NavXSPISim simPort = NavXSPISim() self.port = SPI(port, simPort=simPort) self.bitrate = bitrate
def __init__(self): self.spi = SPI(0) self.spi.setClockRate(2000000) self.leds = 22 self.lastIndex = self.leds - 1 self.gamma = bytearray(256) self.buffer = [0 for __ in range(self.leds + 1)] self.masterBrightness = 1.0 for led in range(self.leds): self.buffer[led] = bytearray(3) for i in range(256): # Color calculations from # http://learn.adafruit.com/light-painting-with-raspberry-pi self.gamma[i] = 0x80 | int( pow(float(i) / 255.0, 2.5) * 127.0 + 0.5) self.fill_RGB(255, 0, 0)