1
0
mirror of https://github.com/elua/elua.git synced 2025-01-08 20:56:17 +08:00
elua/test/test-rpc.lua
2010-01-25 23:43:05 +00:00

55 lines
1.7 KiB
Lua

function error_handler (message)
io.write ("MY ERROR: " .. message .. "\n");
end
rpc.on_error (error_handler);
slave,err = rpc.connect ("/dev/tty.usbserial-FTE3HV7L");
-- slave,err = rpc.connect ("/dev/tty.usbserial-ftCYPMYJ");
-- slave,err = rpc.connect("/dev/tty.usbserial-04110857B")
-- slave,err = rpc.connect("/dev/tty.usbserial-A9005fG0")
--slave,err = rpc.connect ("/dev/ttys0");
print("Platform: " .. slave.pd.platform())
print("CPU: " .. slave.pd.cpu())
print("Board: " .. slave.pd.board())
print("CPU Clock: " .. slave.cpu.clock()/1000000 .. " MHz")
function mirror( input ) return input end
function squareval(x) return x*x end
test_local = {1, 2, 3, 4, "234"}
test_local.sval = 23
slave.mirror = mirror
-- reflect parameters off mirror
-- also requires that function serialization works
assert(slave.mirror(42) == 42, "integer return failed")
assert(slave.mirror("The quick brown fox jumps over the lazy dog") == "The quick brown fox jumps over the lazy dog", "string return failed")
assert(string.dump(slave.mirror(squareval)) == string.dump(squareval), "function return failed")
assert(slave.mirror(true) == true, "bool return failed")
slave.test = test_local
-- get remote table
assert(slave.test:get(), "couldn't get remote table")
-- check that we can get entry on remote table
assert(test_local.sval == slave.test:get().sval, "table field not equivalent")
print("Memory Used: " .. slave.collectgarbage("count") .. " kB")
-- adc = slave.adc
--
-- adc.setblocking(0,1)
-- adc.setclock(0, 64 ,2)
--
-- adc.sample(0,128)
-- -- print(slave.collectgarbage("count"))
-- for i=1,128 do
-- retsamp = adc.getsample(0)
-- if not (retsamp == nil) then
-- print(retsamp)
-- end
-- end