Beispiel #1
0
    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()
Beispiel #2
0
    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
Beispiel #3
0
    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)