capture_to_csv.lua
otii.clear()
local args = otii.get_args()
assert(#args == 2, "Missing filename argument")
local filename = args[2]
local devices = otii.get_devices("Arc")
assert(#devices > 0, "No available devices")
local box = otii.open_device(devices[1].id)
assert(box ~= nil, "No available otii")
local file = io.open(filename, "w")
assert(file ~= nil, "Cannot create " .. filename)
local project = otii.create_project()
assert(project ~= nil, "Cannot create project")
box:set_main_voltage(3.0)
box:set_range("low")
box:enable_channel("mc", true)
project:enable_main_power(true)
project:start()
otii.msleep(6000)
project:stop()
local recording_id = project:get_last_recording_id()
local count = project:get_channel_count(box, recording_id, "mc")
local data = project:get_channel_data(box, recording_id, "mc", 1, count)
file:write("timestamp,mc\n")
for _, item in ipairs(data) do
file:write(item.timestamp)
file:write(",")
file:write(item.sample)
file:write("\n")
end
file:close()
project:close()
box:close()