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
59
tests/renesas-ra/freq.py
Normal file
59
tests/renesas-ra/freq.py
Normal file
@ -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")
|
1
tests/renesas-ra/freq.py.exp
Normal file
1
tests/renesas-ra/freq.py.exp
Normal file
@ -0,0 +1 @@
|
||||
freq: OK
|
17
tests/renesas-ra/i2c.py
Normal file
17
tests/renesas-ra/i2c.py
Normal file
@ -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
tests/renesas-ra/i2c.py.exp
Normal file
0
tests/renesas-ra/i2c.py.exp
Normal file
78
tests/renesas-ra/modtime.py
Normal file
78
tests/renesas-ra/modtime.py
Normal file
@ -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
|
46
tests/renesas-ra/modtime.py.exp
Normal file
46
tests/renesas-ra/modtime.py.exp
Normal file
@ -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)
|
51
tests/renesas-ra/pin.py
Normal file
51
tests/renesas-ra/pin.py
Normal file
@ -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()
|
10
tests/renesas-ra/pin.py.exp
Normal file
10
tests/renesas-ra/pin.py.exp
Normal file
@ -0,0 +1,10 @@
|
||||
OK
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
||||
0
|
||||
1
|
12
tests/renesas-ra/rtc_init.py
Normal file
12
tests/renesas-ra/rtc_init.py
Normal file
@ -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])
|
2
tests/renesas-ra/rtc_init.py.exp
Normal file
2
tests/renesas-ra/rtc_init.py.exp
Normal file
@ -0,0 +1,2 @@
|
||||
<RTC>
|
||||
(2014, 1, 1, 1, 0, 0, 1)
|
40
tests/renesas-ra/spi.py
Normal file
40
tests/renesas-ra/spi.py
Normal file
@ -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()
|
9
tests/renesas-ra/spi.py.exp
Normal file
9
tests/renesas-ra/spi.py.exp
Normal file
@ -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)
|
51
tests/renesas-ra/uart1.py
Normal file
51
tests/renesas-ra/uart1.py
Normal file
@ -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))
|
1
tests/renesas-ra/uart1.py.exp
Normal file
1
tests/renesas-ra/uart1.py.exp
Normal file
@ -0,0 +1 @@
|
||||
OK
|
Loading…
Reference in New Issue
Block a user