tests/renesas-ra: Add tests for renesas-ra port.
Signed-off-by: Takeo Takahashi <takeo.takahashi.xv@renesas.com>
This commit is contained in:
parent
3a941cce51
commit
4753913253
|
@ -0,0 +1,59 @@
|
||||||
|
#
|
||||||
|
# definitions
|
||||||
|
#
|
||||||
|
MACHINE_RA4M1_CLICKER = "RA4M1_CLICKER with RA4M1"
|
||||||
|
MACHINE_RA4M1_EK = "RA4M1_EK with RA4M1"
|
||||||
|
MACHINE_RA4W1_EK = "RA4W1_EK with RA4W1"
|
||||||
|
MACHINE_RA6M1_EK = "RA6M1_EK with RA6M1"
|
||||||
|
MACHINE_RA6M2_EK = "RA6M2_EK with RA6M2"
|
||||||
|
SYSCLK_RA4M1_CLICKER = 48000000
|
||||||
|
SYSCLK_RA4M1_EK = 48000000
|
||||||
|
SYSCLK_RA4W1_EK = 48000000
|
||||||
|
SYSCLK_RA6M1_EK = 120000000
|
||||||
|
SYSCLK_RA6M2_EK = 120000000
|
||||||
|
|
||||||
|
#
|
||||||
|
# machine
|
||||||
|
#
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
try:
|
||||||
|
import machine
|
||||||
|
except:
|
||||||
|
print("machine module is not found")
|
||||||
|
raise SystemExit
|
||||||
|
|
||||||
|
m = os.uname().machine
|
||||||
|
f = machine.freq()
|
||||||
|
|
||||||
|
if m == MACHINE_RA4M1_CLICKER:
|
||||||
|
if f == SYSCLK_RA4M1_CLICKER:
|
||||||
|
print("freq: OK")
|
||||||
|
else:
|
||||||
|
print("freq: NG")
|
||||||
|
|
||||||
|
|
||||||
|
if m == MACHINE_RA4M1_EK:
|
||||||
|
if f == SYSCLK_RA4M1_EK:
|
||||||
|
print("freq: OK")
|
||||||
|
else:
|
||||||
|
print("freq: NG")
|
||||||
|
|
||||||
|
if m == MACHINE_RA4W1_EK:
|
||||||
|
if f == SYSCLK_RA4W1_EK:
|
||||||
|
print("freq: OK")
|
||||||
|
else:
|
||||||
|
print("freq: NG")
|
||||||
|
|
||||||
|
if m == MACHINE_RA6M1_EK:
|
||||||
|
if f == SYSCLK_RA6M1_EK:
|
||||||
|
print("freq: OK")
|
||||||
|
else:
|
||||||
|
print("freq: NG")
|
||||||
|
|
||||||
|
if m == MACHINE_RA6M2_EK:
|
||||||
|
if f == SYSCLK_RA6M2_EK:
|
||||||
|
print("freq: OK")
|
||||||
|
else:
|
||||||
|
print("freq: NG")
|
|
@ -0,0 +1 @@
|
||||||
|
freq: OK
|
|
@ -0,0 +1,17 @@
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
|
n = os.uname().machine
|
||||||
|
if "RA6M2_EK" in n:
|
||||||
|
i2c_id = 2
|
||||||
|
elif "RA6M1_EK" in n:
|
||||||
|
i2c_id = 0
|
||||||
|
elif ("RA4M1_CLICKER" in n) or ("RA4M1_EK" in n) or ("RA4W1_EK" in n):
|
||||||
|
print("SKIP")
|
||||||
|
raise SystemExit
|
||||||
|
else:
|
||||||
|
i2c_id = 0
|
||||||
|
|
||||||
|
from machine import I2C
|
||||||
|
|
||||||
|
i2c = I2C(i2c_id)
|
|
@ -0,0 +1,78 @@
|
||||||
|
import time
|
||||||
|
|
||||||
|
DAYS_PER_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
||||||
|
|
||||||
|
|
||||||
|
def is_leap(year):
|
||||||
|
return (year % 4) == 0
|
||||||
|
|
||||||
|
|
||||||
|
def test():
|
||||||
|
seconds = 0
|
||||||
|
wday = 5 # Jan 1, 2000 was a Saturday
|
||||||
|
for year in range(2000, 2034):
|
||||||
|
print("Testing %d" % year)
|
||||||
|
yday = 1
|
||||||
|
for month in range(1, 13):
|
||||||
|
if month == 2 and is_leap(year):
|
||||||
|
DAYS_PER_MONTH[2] = 29
|
||||||
|
else:
|
||||||
|
DAYS_PER_MONTH[2] = 28
|
||||||
|
for day in range(1, DAYS_PER_MONTH[month] + 1):
|
||||||
|
secs = time.mktime((year, month, day, 0, 0, 0, 0, 0))
|
||||||
|
if secs != seconds:
|
||||||
|
print(
|
||||||
|
"mktime failed for %d-%02d-%02d got %d expected %d"
|
||||||
|
% (year, month, day, secs, seconds)
|
||||||
|
)
|
||||||
|
tuple = time.localtime(seconds)
|
||||||
|
secs = time.mktime(tuple)
|
||||||
|
if secs != seconds:
|
||||||
|
print(
|
||||||
|
"localtime failed for %d-%02d-%02d got %d expected %d"
|
||||||
|
% (year, month, day, secs, seconds)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
seconds += 86400
|
||||||
|
if yday != tuple[7]:
|
||||||
|
print(
|
||||||
|
"locatime for %d-%02d-%02d got yday %d, expecting %d"
|
||||||
|
% (year, month, day, tuple[7], yday)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
if wday != tuple[6]:
|
||||||
|
print(
|
||||||
|
"locatime for %d-%02d-%02d got wday %d, expecting %d"
|
||||||
|
% (year, month, day, tuple[6], wday)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
yday += 1
|
||||||
|
wday = (wday + 1) % 7
|
||||||
|
|
||||||
|
|
||||||
|
def spot_test(seconds, expected_time):
|
||||||
|
actual_time = time.localtime(seconds)
|
||||||
|
for i in range(len(actual_time)):
|
||||||
|
if actual_time[i] != expected_time[i]:
|
||||||
|
print(
|
||||||
|
"time.localtime(", seconds, ") returned", actual_time, "expecting", expected_time
|
||||||
|
)
|
||||||
|
return
|
||||||
|
print("time.localtime(", seconds, ") returned", actual_time, "(pass)")
|
||||||
|
|
||||||
|
|
||||||
|
test()
|
||||||
|
# fmt: off
|
||||||
|
spot_test( 0, (2000, 1, 1, 0, 0, 0, 5, 1))
|
||||||
|
spot_test( 1, (2000, 1, 1, 0, 0, 1, 5, 1))
|
||||||
|
spot_test( 59, (2000, 1, 1, 0, 0, 59, 5, 1))
|
||||||
|
spot_test( 60, (2000, 1, 1, 0, 1, 0, 5, 1))
|
||||||
|
spot_test( 3599, (2000, 1, 1, 0, 59, 59, 5, 1))
|
||||||
|
spot_test( 3600, (2000, 1, 1, 1, 0, 0, 5, 1))
|
||||||
|
spot_test( -1, (1999, 12, 31, 23, 59, 59, 4, 365))
|
||||||
|
spot_test( 447549467, (2014, 3, 7, 23, 17, 47, 4, 66))
|
||||||
|
spot_test( -940984933, (1970, 3, 7, 23, 17, 47, 5, 66))
|
||||||
|
spot_test(-1072915199, (1966, 1, 1, 0, 0, 1, 5, 1))
|
||||||
|
spot_test(-1072915200, (1966, 1, 1, 0, 0, 0, 5, 1))
|
||||||
|
spot_test(-1072915201, (1965, 12, 31, 23, 59, 59, 4, 365))
|
||||||
|
# fmt: on
|
|
@ -0,0 +1,46 @@
|
||||||
|
Testing 2000
|
||||||
|
Testing 2001
|
||||||
|
Testing 2002
|
||||||
|
Testing 2003
|
||||||
|
Testing 2004
|
||||||
|
Testing 2005
|
||||||
|
Testing 2006
|
||||||
|
Testing 2007
|
||||||
|
Testing 2008
|
||||||
|
Testing 2009
|
||||||
|
Testing 2010
|
||||||
|
Testing 2011
|
||||||
|
Testing 2012
|
||||||
|
Testing 2013
|
||||||
|
Testing 2014
|
||||||
|
Testing 2015
|
||||||
|
Testing 2016
|
||||||
|
Testing 2017
|
||||||
|
Testing 2018
|
||||||
|
Testing 2019
|
||||||
|
Testing 2020
|
||||||
|
Testing 2021
|
||||||
|
Testing 2022
|
||||||
|
Testing 2023
|
||||||
|
Testing 2024
|
||||||
|
Testing 2025
|
||||||
|
Testing 2026
|
||||||
|
Testing 2027
|
||||||
|
Testing 2028
|
||||||
|
Testing 2029
|
||||||
|
Testing 2030
|
||||||
|
Testing 2031
|
||||||
|
Testing 2032
|
||||||
|
Testing 2033
|
||||||
|
time.localtime( 0 ) returned (2000, 1, 1, 0, 0, 0, 5, 1) (pass)
|
||||||
|
time.localtime( 1 ) returned (2000, 1, 1, 0, 0, 1, 5, 1) (pass)
|
||||||
|
time.localtime( 59 ) returned (2000, 1, 1, 0, 0, 59, 5, 1) (pass)
|
||||||
|
time.localtime( 60 ) returned (2000, 1, 1, 0, 1, 0, 5, 1) (pass)
|
||||||
|
time.localtime( 3599 ) returned (2000, 1, 1, 0, 59, 59, 5, 1) (pass)
|
||||||
|
time.localtime( 3600 ) returned (2000, 1, 1, 1, 0, 0, 5, 1) (pass)
|
||||||
|
time.localtime( -1 ) returned (1999, 12, 31, 23, 59, 59, 4, 365) (pass)
|
||||||
|
time.localtime( 447549467 ) returned (2014, 3, 7, 23, 17, 47, 4, 66) (pass)
|
||||||
|
time.localtime( -940984933 ) returned (1970, 3, 7, 23, 17, 47, 5, 66) (pass)
|
||||||
|
time.localtime( -1072915199 ) returned (1966, 1, 1, 0, 0, 1, 5, 1) (pass)
|
||||||
|
time.localtime( -1072915200 ) returned (1966, 1, 1, 0, 0, 0, 5, 1) (pass)
|
||||||
|
time.localtime( -1072915201 ) returned (1965, 12, 31, 23, 59, 59, 4, 365) (pass)
|
|
@ -0,0 +1,51 @@
|
||||||
|
from machine import Pin
|
||||||
|
import os
|
||||||
|
|
||||||
|
n = os.uname().machine
|
||||||
|
if "RA4W1_EK" in n:
|
||||||
|
try_pin = "P004"
|
||||||
|
try_s = "Pin(Pin.cpu.P004, mode=Pin.IN, pull=Pin.PULL_NONE, drive=Pin.LOW_POWER)"
|
||||||
|
else:
|
||||||
|
try_pin = "P000"
|
||||||
|
try_s = "Pin(Pin.cpu.P000, mode=Pin.IN, pull=Pin.PULL_NONE, drive=Pin.LOW_POWER)"
|
||||||
|
|
||||||
|
p = Pin(try_pin, Pin.IN)
|
||||||
|
if str(p) == try_s:
|
||||||
|
print("OK")
|
||||||
|
else:
|
||||||
|
print("NG")
|
||||||
|
print("exp: " + try_s)
|
||||||
|
print("out: " + str(p))
|
||||||
|
|
||||||
|
p = Pin("SW1", Pin.IN, Pin.PULL_UP)
|
||||||
|
if p.mode() != 1:
|
||||||
|
print("mode: NG")
|
||||||
|
p = Pin("SW1", Pin.IN, pull=Pin.PULL_UP)
|
||||||
|
if p.pull() != 14:
|
||||||
|
print("pull: NG")
|
||||||
|
p = Pin("SW1", mode=Pin.IN, pull=Pin.PULL_UP)
|
||||||
|
|
||||||
|
p.init(p.IN, p.PULL_UP)
|
||||||
|
p.init(p.IN, pull=p.PULL_UP)
|
||||||
|
p.init(mode=p.IN, pull=p.PULL_UP)
|
||||||
|
print(p.value())
|
||||||
|
|
||||||
|
p.init(p.OUT)
|
||||||
|
p.init(p.OPEN_DRAIN)
|
||||||
|
p.low()
|
||||||
|
print(p.value())
|
||||||
|
p.high()
|
||||||
|
print(p.value())
|
||||||
|
p.value(0)
|
||||||
|
print(p.value())
|
||||||
|
p.value(1)
|
||||||
|
print(p.value())
|
||||||
|
p.value(False)
|
||||||
|
print(p.value())
|
||||||
|
p.value(True)
|
||||||
|
print(p.value())
|
||||||
|
p.off()
|
||||||
|
print(p.value())
|
||||||
|
p.on()
|
||||||
|
print(p.value())
|
||||||
|
p.off()
|
|
@ -0,0 +1,10 @@
|
||||||
|
OK
|
||||||
|
1
|
||||||
|
0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
1
|
||||||
|
0
|
||||||
|
1
|
|
@ -0,0 +1,12 @@
|
||||||
|
import machine
|
||||||
|
from machine import RTC
|
||||||
|
import time
|
||||||
|
|
||||||
|
rtc = RTC()
|
||||||
|
rtc.init()
|
||||||
|
print(rtc)
|
||||||
|
|
||||||
|
# make sure that 1 second passes correctly
|
||||||
|
rtc.datetime((2014, 1, 1, 1, 0, 0, 0, 0))
|
||||||
|
time.sleep_ms(1002)
|
||||||
|
print(rtc.datetime()[:7])
|
|
@ -0,0 +1,2 @@
|
||||||
|
<RTC>
|
||||||
|
(2014, 1, 1, 1, 0, 0, 1)
|
|
@ -0,0 +1,40 @@
|
||||||
|
import os
|
||||||
|
from machine import SPI
|
||||||
|
|
||||||
|
machine = os.uname().machine
|
||||||
|
if (
|
||||||
|
"RA6M1_EK" in machine
|
||||||
|
or "RA4M1_CLICKER" in machine
|
||||||
|
or "RA4M1_EK" in machine
|
||||||
|
or "RA4W1_EK" in machine
|
||||||
|
or "RA6M1_EK" in machine
|
||||||
|
):
|
||||||
|
spis = (-1, 0)
|
||||||
|
else:
|
||||||
|
spis = (-1, 0, 1)
|
||||||
|
|
||||||
|
# test we can correctly create by id
|
||||||
|
for bus in spis:
|
||||||
|
try:
|
||||||
|
spi = SPI(bus)
|
||||||
|
except ValueError:
|
||||||
|
print("ValueError", bus)
|
||||||
|
|
||||||
|
spi = SPI(0)
|
||||||
|
print(spi)
|
||||||
|
|
||||||
|
spi = SPI(0)
|
||||||
|
spi = SPI(0, baudrate=500000)
|
||||||
|
print(spi)
|
||||||
|
spi = SPI(0, 500000, polarity=1, phase=0, bits=8)
|
||||||
|
print(spi)
|
||||||
|
spi.init(baudrate=400000)
|
||||||
|
print(spi)
|
||||||
|
spi.init(polarity=0)
|
||||||
|
print(spi)
|
||||||
|
spi.init(phase=1)
|
||||||
|
print(spi)
|
||||||
|
spi.init(bits=8)
|
||||||
|
print(spi)
|
||||||
|
|
||||||
|
spi.deinit()
|
|
@ -0,0 +1,9 @@
|
||||||
|
Warning: SPI(-1, ...) is deprecated, use SoftSPI(...) instead
|
||||||
|
ValueError -1
|
||||||
|
SPI(0, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=500000, polarity=1, phase=0, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=400000, polarity=1, phase=0, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=400000, polarity=0, phase=0, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=400000, polarity=0, phase=1, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
||||||
|
SPI(0, baudrate=400000, polarity=0, phase=1, bits=8, firstbit=0, sck=P102, mosi=P101, miso=P100)
|
|
@ -0,0 +1,51 @@
|
||||||
|
import os
|
||||||
|
from machine import UART
|
||||||
|
|
||||||
|
machine = os.uname().machine
|
||||||
|
if "RA6M2_EK" in machine:
|
||||||
|
# 0, 7, 9
|
||||||
|
uart_ids = (0, 7, 9)
|
||||||
|
try_id = 7
|
||||||
|
try_s = "UART(7, baudrate=115200, bits=8, parity=None, stop=1, tx=P401, rx=P402, flow=0, rxbuf=259, timeout=0, timeout_char=2)"
|
||||||
|
elif "RA4M1_CLICKER" in machine:
|
||||||
|
# 0, 1
|
||||||
|
uart_ids = (0, 1)
|
||||||
|
try_id = 0
|
||||||
|
try_s = "UART(0, baudrate=115200, bits=8, parity=None, stop=1, tx=P411, rx=P410, flow=0, rxbuf=259, timeout=0, timeout_char=2)"
|
||||||
|
elif "RA4M1_EK" in machine:
|
||||||
|
# 0, 1, 2, 9
|
||||||
|
# vector for 9 is not registered
|
||||||
|
uart_ids = (0, 1, 2)
|
||||||
|
try_id = 1
|
||||||
|
try_s = "UART(1, baudrate=115200, bits=8, parity=None, stop=1, tx=P401, rx=P402, flow=0, rxbuf=259, timeout=0, timeout_char=2)"
|
||||||
|
elif "RA4W1_EK" in machine:
|
||||||
|
# 0, 1, 4, 9
|
||||||
|
# 0 is disabled.
|
||||||
|
uart_ids = (1, 4, 9)
|
||||||
|
try_id = 9
|
||||||
|
try_s = "UART(9, baudrate=115200, bits=8, parity=None, stop=1, tx=P109, rx=P110, flow=0, rxbuf=259, timeout=0, timeout_char=2)"
|
||||||
|
elif "RA6M1_EK" in machine:
|
||||||
|
# 0, 1, 2, 3, 4, 8, 9
|
||||||
|
# 1/3/4/9 are disabled
|
||||||
|
uart_ids = (0, 2, 8)
|
||||||
|
try_id = 8
|
||||||
|
try_s = "UART(8, baudrate=115200, bits=8, parity=None, stop=1, tx=P105, rx=P104, flow=0, rxbuf=259, timeout=0, timeout_char=2)"
|
||||||
|
else:
|
||||||
|
print("SKIP")
|
||||||
|
raise SystemExit
|
||||||
|
|
||||||
|
for ch in uart_ids:
|
||||||
|
try:
|
||||||
|
uart = UART(ch)
|
||||||
|
except ValueError:
|
||||||
|
print("ValueError", bus)
|
||||||
|
|
||||||
|
rxbuf_size = 259
|
||||||
|
|
||||||
|
ch = UART(try_id, rxbuf=rxbuf_size)
|
||||||
|
if str(ch) == try_s:
|
||||||
|
print("OK")
|
||||||
|
else:
|
||||||
|
print("NG")
|
||||||
|
print("exp: " + try_s)
|
||||||
|
print("out: " + str(ch))
|
|
@ -0,0 +1 @@
|
||||||
|
OK
|
Loading…
Reference in New Issue