test_spi: convert to Unix EOL

This commit is contained in:
Sebastien Bourdeauducq 2017-08-04 11:48:20 +08:00
parent 7085c1cccb
commit cf1de4b26a
1 changed files with 61 additions and 61 deletions

View File

@ -1,61 +1,61 @@
import unittest import unittest
from artiq.experiment import * from artiq.experiment import *
from artiq.test.hardware_testbench import ExperimentCase from artiq.test.hardware_testbench import ExperimentCase
from artiq.language.core import (kernel, delay_mu, delay) from artiq.language.core import (kernel, delay_mu, delay)
from artiq.language.units import us from artiq.language.units import us
from artiq.coredevice import spi from artiq.coredevice import spi
_SDCARD_SPI_CONFIG = (0*spi.SPI_OFFLINE | 0*spi.SPI_CS_POLARITY | _SDCARD_SPI_CONFIG = (0*spi.SPI_OFFLINE | 0*spi.SPI_CS_POLARITY |
0*spi.SPI_CLK_POLARITY | 0*spi.SPI_CLK_PHASE | 0*spi.SPI_CLK_POLARITY | 0*spi.SPI_CLK_PHASE |
0*spi.SPI_LSB_FIRST | 0*spi.SPI_HALF_DUPLEX) 0*spi.SPI_LSB_FIRST | 0*spi.SPI_HALF_DUPLEX)
class CardTest(EnvExperiment): class CardTest(EnvExperiment):
def build(self): def build(self):
self.setattr_device("core") self.setattr_device("core")
self.setattr_device("spi_mmc") self.setattr_device("spi_mmc")
@kernel @kernel
def run(self): def run(self):
self.core.reset() self.core.reset()
self.core.break_realtime() self.core.break_realtime()
response = 0xff response = 0xff
self.spi_mmc.set_config(_SDCARD_SPI_CONFIG, 500*kHz, 500*kHz) self.spi_mmc.set_config(_SDCARD_SPI_CONFIG, 500*kHz, 500*kHz)
self.spi_mmc.set_xfer(0, 8, 0) self.spi_mmc.set_xfer(0, 8, 0)
for i in range(10): for i in range(10):
self.spi_mmc.write(0xffffffff) self.spi_mmc.write(0xffffffff)
delay(-5*us) delay(-5*us)
delay(100*us) delay(100*us)
self.spi_mmc.set_xfer(1, 8, 0) self.spi_mmc.set_xfer(1, 8, 0)
self.spi_mmc.write(0x40000000) self.spi_mmc.write(0x40000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.write(0x00000000) self.spi_mmc.write(0x00000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.write(0x00000000) self.spi_mmc.write(0x00000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.write(0x00000000) self.spi_mmc.write(0x00000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.write(0x00000000) self.spi_mmc.write(0x00000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.write(0x95000000) self.spi_mmc.write(0x95000000)
delay(-5*us) delay(-5*us)
self.spi_mmc.set_xfer(1, 0, 24) self.spi_mmc.set_xfer(1, 0, 24)
self.spi_mmc.write(0xffffffff) self.spi_mmc.write(0xffffffff)
response = self.spi_mmc.read_sync() response = self.spi_mmc.read_sync()
sd_response = False sd_response = False
for i in range(3): for i in range(3):
if ((response >> 8*i) & 0x0000ff) == 0x01: if ((response >> 8*i) & 0x0000ff) == 0x01:
sd_response = True sd_response = True
break break
self.set_dataset("sd_response", sd_response) self.set_dataset("sd_response", sd_response)
class SDTest(ExperimentCase): class SDTest(ExperimentCase):
def test(self): def test(self):
self.execute(CardTest) self.execute(CardTest)
self.assertTrue(self.dataset_mgr.get("sd_response")) self.assertTrue(self.dataset_mgr.get("sd_response"))