O controlador do Focalizador implementa um conjunto de manipuladores de comandos. Os comandos possíveis incluem HOME, HALT, CONNECT, DISCONNECT e STATUS. Além disso, a aplicação lida com comandos MOVE e SPEED com parâmetros específicos.
HOME: Move para o fim de curso de inicialização e zera encoder.
CONNECT: Basicamente faz uma requisição de status ao se conectar.
STATUS: Publica o status atual.
MOVE: Move o valor do foco para uma posição especificada (microns).
Exemplo: MOVE=posição
FOCUSIN: Move o valor do foco para dentro com velocidade (microns/s) como parâmetro.
Exemplo: FOCUSIN=velocidade
FOCUSOUT: Move o valor do foco para fora com velocidade (microns/s) como parâmetro.
Exemplo: FOCUSOUT=velocidade
HALT: Interrompe o Focuser (condicional com base no ID do cliente).
Os clientes devem enviar comandos no seguinte formato JSON:
{
"clientId": 1234,
"clientTransactionId": 9876,
"clientName": "S4GUI",
"controller": "Focuser160",
"action": "NOME_DO_COMANDO"
}
Substitua NOME_DO_COMANDO pelo comando desejado e forneça parâmetros adicionais conforme necessário. NOME_DO_COMANDO deve ser todo maiúsculo.
clientId: Client's unique ID. (1 to 4294967295). The client should choose a value at start-up, e.g. a random value between 1 and 65535, and send this on every transaction to associate entries in device logs with this particular client. Zero is a reserved value that clients should not use.
clientTransactionId: Client's transaction ID. (1 to 4294967295). The client should start this count at 1 and increment by one on each successive transaction. This will aid associatingentries in device logs with corresponding entries in client side logs. Zero is a reserved value that clients should not use.
Ao enviar uma solicitação ao controlador, a resposta contém uma STRING que pode ser convertida para um objeto JSON com informações atualizadas sobre o estado do dispositivo. Aqui está a descrição de cada campo presente na resposta:
absolute: BOOL Indica se o Focalizador está configurado para movimento absoluto (arquivo Config).
alarm: BOOL Flag de alarme atual.
cmd: STRING Comando atual ou última ação executada.
connected: BOOL Indica se o Focalizador está conectado.
controller: STRING Identifica o HOST (ex: S4GUI).
device: STRING Identifica o dispositivo que ele aciona (?ex: Mirror2).
error: STRING Mensagem de erro ou descrição vazia se não houver erro.
homing: BOOL Indica se o Focalizador está atualmente em processo de homing.
initialized: BOOL Indica se rotina INIT foi realizada.
isMoving: BOOL Indica se está atualmente em movimento.
maxSpeed: INT Velocidade máxima do Focalizador em microns/s (arquivo Config).
maxStep: INT Número máximo de passos permitidos (arquivo Config).
tempComp: BOOL Compensação de temperatura (arquivo Config).
tempCompAvailable: BOOL Indica se a compensação de temperatura está disponível (origem arquivo Config).
temperature: DOUBLE temperatura do dispositivo (futura implementação).
timestamp: DOUBLE Data/hora da resposta em formato de timestamp.
position: DOUBLE Posição atual do Focalizador em mícrons.