Import LinuxCNC source tree

This commit is contained in:
Wang Dequan
2026-08-20 06:17:39 +08:00
commit 2c814634c3
9429 changed files with 10556013 additions and 0 deletions

View File

@@ -0,0 +1 @@
pass

View File

@@ -0,0 +1,18 @@
#!/usr/bin/env python3
import hal
import time
c = hal.component("stream_reader")
reader = hal.stream(c, hal.streamer_base, "bfsu")
for i in range(9):
assert reader.readable
assert reader.read() == ((i % 2, i, i, i))
assert reader.num_underruns == 0
assert reader.sampleno == i+1
assert reader.read() is None
assert reader.num_underruns == 1
c.ready()
print("pass")
try:
while 1: time.sleep(1)
except KeyboardInterrupt: pass

View File

@@ -0,0 +1,36 @@
#!/usr/bin/env python3
import os
os.system("halcmd unload all")
import hal
c = hal.component("stream_test")
writer = hal.stream(c, hal.streamer_base, 10, "bfsu")
c.ready()
for i in range(9):
assert writer.writable
writer.write((i % 2, i, i, i))
assert not writer.writable
assert writer.num_overruns == 0
try:
writer.write((1,1,1,1))
except:
pass
else:
assert False, "failed to get exception on full stream"
assert writer.num_overruns == 1
# In rtai realtime, it's only permitted to map a shared memory region more
# once in a free-running component, so the writer and reader of a stream can't
# exist at the same time in the same process
del writer
reader = hal.stream(c, hal.streamer_base, "bfsu")
for i in range(9):
assert reader.readable
assert reader.read() == ((i % 2, i, i, i))
assert reader.num_underruns == 0
assert reader.sampleno == i+1
assert reader.read() is None
assert reader.num_underruns == 1
print("pass")

View File

@@ -0,0 +1,23 @@
#!/usr/bin/env python3
import hal
import time
c = hal.component("stream_writer")
writer = hal.stream(c, hal.streamer_base, 10, "bfsu")
for i in range(9):
assert writer.writable
writer.write((i % 2, i, i, i))
assert not writer.writable
assert writer.num_overruns == 0
try:
writer.write((1,1,1,1))
except:
pass
else:
assert False, "failed to get exception on full stream"
assert writer.num_overruns == 1
c.ready()
try:
while 1: time.sleep(1)
except KeyboardInterrupt: pass

View File

@@ -0,0 +1,2 @@
loadusr -W ./stream_writer.py
loadusr -W ./stream_reader.py