0
0
mirror of https://github.com/Doodle3D/doodle3d-firmware.git synced 2024-12-22 11:03:48 +01:00

Merge branch 'feature/printerdriver' of https://github.com/Doodle3D/doodle3d-firmware into feature/printerdriver

Conflicts:
	src/rest/api/api_info.lua
	src/rest/api/api_printer.lua
This commit is contained in:
peteruithoven 2013-10-10 17:55:35 +02:00
commit e0c4c81d75
2 changed files with 36 additions and 46 deletions

View File

@ -11,9 +11,10 @@ local LOG_COLLECT_DIRNAME = 'wifibox-logs'
local LOG_COLLECT_DIR = TMP_DIR .. '/' .. LOG_COLLECT_DIRNAME
local WIFIBOX_LOG_FILENAME = 'wifibox.log'
local WIFIBOX_LOG_FILE = TMP_DIR .. '/' .. WIFIBOX_LOG_FILENAME
local ULTIFI_PATH = '/tmp/UltiFi'
local SYSLOG_FILENAME = 'syslog'
local ULTIFI_LOG_FILENAME = 'server.log'
local PRINT3D_BASEPATH = '/tmp'
local PRINT3D_LOG_FILENAME_PREFIX = 'print3d-'
local PRINT3D_LOG_FILENAME_SUFFIX = '.log'
local LOG_COLLECT_ARCHIVE_FILENAME = LOG_COLLECT_DIRNAME .. '.tgz'
local LOG_COLLECT_ARCHIVE_FILE = TMP_DIR .. '/' .. LOG_COLLECT_ARCHIVE_FILENAME
@ -43,8 +44,6 @@ function M.logfiles(request, response)
local rv,msg = lfs.mkdir(LOG_COLLECT_DIR)
local rv,msg = lfs.chdir(TMP_DIR)
local ultip,msg = lfs.attributes(ULTIFI_PATH, 'mode')
--[[ create temporary files ]]--
@ -52,15 +51,13 @@ function M.logfiles(request, response)
local rv,sig,code = os.execute('logread > ' .. LOG_COLLECT_DIR .. '/' .. SYSLOG_FILENAME)
if ultip and ultip == 'directory' then
for file in lfs.dir(ULTIFI_PATH) do
if file ~= '.' and file ~= '..' then
local srcLogFile = ULTIFI_PATH .. '/' .. file .. '/' .. ULTIFI_LOG_FILENAME
local tgtLogFile = LOG_COLLECT_DIR .. '/' .. file .. '-' .. ULTIFI_LOG_FILENAME
for file in lfs.dir(PRINT3D_BASEPATH) do
if file:find(PRINT3D_LOG_FILENAME_PREFIX) == 1 and file:find(PRINT3D_LOG_FILENAME_SUFFIX) ~= nil then
local srcLogFile = PRINT3D_BASEPATH .. '/' .. file
local tgtLogFile = LOG_COLLECT_DIR .. '/' .. file
local rv,sig,code = redirectedExecute('cp ' .. srcLogFile .. ' ' .. tgtLogFile)
end
end
end
local rv,sig,code = redirectedExecute('tar czf ' .. LOG_COLLECT_ARCHIVE_FILE .. ' ' .. LOG_COLLECT_DIRNAME) --returns 0 success, 1 error
@ -77,14 +74,12 @@ function M.logfiles(request, response)
--[[ remove temporary files ]]--
if ultip and ultip == 'directory' then
for file in lfs.dir(ULTIFI_PATH) do
if file ~= '.' and file ~= '..' then
local tgtLogFile = LOG_COLLECT_DIR .. '/' .. file .. '-' .. ULTIFI_LOG_FILENAME
for file in lfs.dir(LOG_COLLECT_DIR) do
if file:find(PRINT3D_LOG_FILENAME_PREFIX) == 1 and file:find(PRINT3D_LOG_FILENAME_SUFFIX) ~= nil then
local tgtLogFile = LOG_COLLECT_DIR .. '/' .. file
local rv,sig,code = redirectedExecute('rm ' .. tgtLogFile)
end
end
end
local rv,sig,code = redirectedExecute('rm ' .. LOG_COLLECT_DIR .. '/' .. WIFIBOX_LOG_FILENAME)
@ -118,6 +113,7 @@ function M.access(request, response)
local hasControl = accessManager.hasControl(request.remoteAddress)
response:setSuccess()
response:addData('has_control', hasControl)
return true
@ -138,7 +134,6 @@ function M.status(request, response)
if(rv == false) then return end
end
response:addData('v', 10)
end
return M

View File

@ -11,12 +11,6 @@ local M = {
}
local ULTIFI_BASE_PATH = '/tmp/UltiFi'
local TEMPERATURE_FILE = 'temp.out'
local PROGRESS_FILE = 'progress2.out'
local COMMAND_FILE = 'command.in'
local GCODE_TMP_FILE = 'combined.gc'
function M._global(request, response)
-- TODO: list all printers (based on /dev/ttyACM* and /dev/ttyUSB*)
response:setSuccess()
@ -49,16 +43,17 @@ function M.progress(request, response)
local printer,msg = printerUtils.createPrinterOrFail(argId, response)
if not printer then return false end
-- NOTE: despite their names, `currentLine` is still the error indicator and `numLines` the message in such case.
local currentLine,totalLines = printer:getProgress()
-- NOTE: despite their names, `currentLine` is still the error indicator and `bufferedLines` the message in such case.
local currentLine,bufferedLines,totalLines = printer:getProgress()
response:addData('id', argId)
if currentLine then
response:setSuccess()
response:addData('current_line', currentLine)
response:addData('buffered_lines', bufferedLines)
response:addData('total_lines', totalLines)
else
response:setError(totalLines)
response:setError(bufferedLines)
return false
end