10. Uso do Programa WebAPP do Robô

10.1. Definir carregamento automático do programa de trabalho padrão na inicialização

1/**
2* @brief  Define o carregamento automático do programa de trabalho padrão na inicialização
3* @param  [in] flag  0-não carregar automaticamente o programa padrão na inicialização, 1-carregar automaticamente o programa padrão na inicialização
4* @param  [in] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
5* @return  Código de erro
6*/
7int LoadDefaultProgConfig(byte flag, string program_name);

10.2. Carregar o programa de trabalho especificado

1/**
2* @brief  Carrega o programa de trabalho especificado
3* @param  [in] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
4* @return  Código de erro
5*/
6int ProgramLoad(string program_name);

10.3. Obter o nome do programa de trabalho carregado

1/**
2* @brief  Obtém o nome do programa de trabalho carregado
3* @param  [out] program_name Nome e caminho do programa de trabalho, ex: "/fruser/movej.lua", onde "/fruser/" é o caminho fixo para QX, "/usr/local/etc/controller/lua/" é o caminho fixo para LA
4* @return  Código de erro
5*/
6int GetLoadedProgram(ref string program_name);

10.4. Obter o número da linha atual de execução do programa de trabalho do robô

1/**
2* @brief  Obtém o número da linha atual de execução do programa de trabalho do robô
3* @param  [out] line  Número da linha
4* @return  Código de erro
5*/
6int GetCurrentLine(ref int line);

10.5. Executar o programa de trabalho atualmente carregado

1/**
2* @brief  Executa o programa de trabalho atualmente carregado
3* @return  Código de erro
4*/
5int ProgramRun();

10.6. Pausar o programa de trabalho atualmente em execução

1/**
2* @brief  Pausa o programa de trabalho atualmente em execução
3* @return  Código de erro
4*/
5int ProgramPause();

10.7. Retomar o programa de trabalho atualmente pausado

1/**
2* @brief  Retoma o programa de trabalho atualmente pausado
3* @return  Código de erro
4*/
5int ProgramResume();

10.8. Terminar o programa de trabalho atualmente em execução

1/**
2* @brief  Termina o programa de trabalho atualmente em execução
3* @return  Código de erro
4*/
5int ProgramStop();

10.9. Obter o estado de execução do programa de trabalho do robô

1/**
2* @brief  Obtém o estado de execução do programa de trabalho do robô
3* @param  [out] state 1-programa parado ou nenhum programa em execução, 2-programa em execução, 3-programa pausado
4* @return  Código de erro
5*/
6int GetProgramState(ref byte state);

10.10. Exemplo de Código de Operação de Programa LUA do Robô

 1private void btnWebApp_Click(object sender, EventArgs e)
 2{
 3    string program_name = "/fruser/Text1.lua";
 4    string loaded_name = "";
 5    byte state = 0;
 6    int line = 0;
 7
 8    robot.Mode(0);
 9    robot.LoadDefaultProgConfig(0, program_name);
10    robot.ProgramLoad(program_name);
11    robot.ProgramRun();
12    Thread.Sleep(1000);
13    robot.ProgramPause();
14    robot.GetProgramState(ref state);
15    Console.WriteLine("program state:{0}\n", state);
16    robot.GetCurrentLine(ref line);
17    Console.WriteLine("current line:{0}\n", line);
18    robot.GetLoadedProgram(ref loaded_name);
19    Console.WriteLine("program name:{0}\n", loaded_name);
20    Thread.Sleep(1000);
21    robot.ProgramResume();
22    Thread.Sleep(1000);
23    robot.ProgramStop();
24    Thread.Sleep(1000);
25}

10.11. Baixar arquivo Lua

Novo na versão C#SDK-v1.0.5.

1/**
2* @brief Baixa arquivo Lua
3* @param [in] fileName Programa de trabalho a ser baixado "test.lua" ou "test.tar.gz"
4* @param [in] savePath Caminho local para salvar o programa de trabalho "D://Down/"
5* @return Código de erro
6*/
7public int LuaDownLoad(string fileName, string savePath);

10.12. Enviar arquivo Lua

Novo na versão C#SDK-v1.0.5.

1/**
2* @brief Envia arquivo Lua
3* @param [in] filePath Caminho do programa de trabalho local ".../test.lua" ou ".../test.tar.gz"
4* @param [out] errStr Mensagem de erro
5* @return Código de erro
6*/
7public int LuaUpload(string filePath, ref string errStr);

10.13. Excluir arquivo Lua

Novo na versão C#SDK-v1.0.5.

1/**
2* @brief Exclui arquivo Lua
3* @param [in] fileName Nome do programa de trabalho a ser excluído "test.lua"
4* @return Código de erro
5*/
6public int LuaDelete(string fileName);

10.14. Obter todos os nomes de arquivos Lua atuais

Novo na versão C#SDK-v1.0.5.

1/**
2* @brief Obtém todos os nomes de arquivos Lua atuais
3* @param [out] luaNames Lista de nomes dos programas de trabalho
4* @return Código de erro
5*/
6public int GetLuaList(ref List<string> luaNames);

10.15. Exemplo de Código de Envio e Download de Arquivo LUA do Robô

Novo na versão C#SDK-v1.0.5.

 1private void btnUploadLua_Click(object sender, EventArgs e)
 2{
 3    int rtn;
 4    List<string> luaNames = new List<string>();
 5    rtn = robot.GetLuaList(ref luaNames);
 6    Console.WriteLine("res is: {0}", rtn);
 7    Console.WriteLine("size is: {0}", luaNames.Count);
 8    foreach (var name in luaNames)
 9    {
10        Console.WriteLine(name);
11    }
12    rtn = robot.LuaDownLoad("TT.lua", "D://zDOWN/");
13    Console.WriteLine("LuaDownLoad rtn is {0}", rtn);
14    string errStr = "";
15    Thread.Sleep(2000);
16
17    rtn = robot.LuaUpload("D://zUP/airlab.lua", ref errStr);
18    Console.WriteLine("LuaUpload rtn is {0}", errStr);
19    Thread.Sleep(2000);
20    rtn = robot.LuaDelete("TT.lua");
21    Console.WriteLine("LuaDelete rtn is {0}", rtn);
22}