Takeo Takahashi
3 years ago
14 changed files with 377 additions and 0 deletions
@ -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