|
|
Terminais Sem Fios X64 |
|
|
|
|
|
Ligação Restaurantes |
|||
|
|
|
|
Configuração com DLL Configuração com DLL ( Funções antigas ) Configuração sem DLL ( MsDos )
3 Alterar
Configuração A (Enter para visualizar opções) 5
Alterar Configuração C (Enter para visualizar opções)
"-<P"+chr(1) Sem Pacotes de dados, Com Header "-->" "-<P"+chr(2) Pacotes de dados, activo
Enviar uma mensagem especial para por em modo upload plus e limpar todos os PLUS ( versão >
6.918 )
{ memcpy(BackMessage[BackMessageWrite & 0xff].message+8,&AuxData,1); memcpy(BackMessage[BackMessageWrite & 0xff].message+9,&MsgCt,1); } if(ActiveProtocolo==2) { memcpy(BackMessage[BackMessageWrite & 0xff].message+8,&AuxData,2); memcpy(BackMessage[BackMessageWrite & 0xff].message+10,&Lugar1,2); memcpy(BackMessage[BackMessageWrite & 0xff].message+12,&Lugar2,2); memcpy(BackMessage[BackMessageWrite & 0xff].message+14,&MsgCt,1); } if(ActiveProtocolo==3) { memcpy(BackMessage[BackMessageWrite & 0xff].message+8,&AuxData,2); memcpy(BackMessage[BackMessageWrite & 0xff].message+10,&mesa,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+14,&mesa,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+18,&Lugar1,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+22,&Lugar2,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+26,&MsgCt,1); } if(ActiveProtocolo==4) { memcpy(BackMessage[BackMessageWrite & 0xff].message+8,&AuxData,2); memcpy(BackMessage[BackMessageWrite & 0xff].message+10,&mesa,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+14,&mesa,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+18,&Lugar1,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+22,&Lugar2,4); memcpy(BackMessage[BackMessageWrite & 0xff].message+26,&MsgCt,1); memcpy(BackMessage[BackMessageWrite & 0xff].message+27,st_mesa1,13); memcpy(BackMessage[BackMessageWrite & 0xff].message+40,st_mesa2,13); }
Ligação c/ DLL - RIOCOM.DLL
A DLL foi programada usando uma linguagem de 32 bits. Logo todos os argumentos do tipo int devem ser considerados inteiros de 32 bits. Linguagens que usem inteiros de 16 bits devem prototipar as funções como usando long int em vez de int. Todas as funções descritas retornam sempre um código de erro inteiro. 0 --> OK, operação bem
sucedida
int __stdcall radio_set_entry( int entry_no, char *name)
Esta função actualiza a imagem que a DLL tem da memória do terminal rádio apenas para uma posição. Esta actualização deve ser feita para todas as posições que serão enviadas usando a função radio_upload_entries. (ver abaixo) Função:
Parametros:
|
|||
|
|
|
0 |
OK |
operação bem sucedida |
---|---|---|---|
|
1 |
NO_MESSAGE |
não existem mensagens para ler do buffer |
|
2 |
INVALID_COM_PORT |
porta série inexistente ou já utilizada por outro programa |
|
3 |
GENERIC_ERROR |
erro genérico |
|
4 |
NO_RESPONSE |
a DLL não obteve resposta da antena |
|
|
|
|
|
|
int __stdcall radio_set_entry( int entry_no, char *name)
Esta função actualiza a imagem que a DLL tem da memória do terminal rádio apenas para uma posição. Esta actualização deve ser feita para todas as posições que serão enviadas usando a função radio_upload_entries. (ver abaixo) Função:
Parametros:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Descrição :
Esta função envia todas as entradas (previamente introduzidas com radio_set_entry) para os terminais rádio. Para que os terminais recebam é preciso previamente fazer 96195 6 quando o terminal se encontra no menu principal, para colocar o terminal em modo de download. Como alternativa pode-se por o terminal em modo de download enviando uma mensagem .
Esta função não tem correção de erros. Pode acontecer que um terminal não receba todas as entradas. Para evitar que isso aconteça pode-se enviar 2 vezes. Função:
Parametros:
Esta função inicializa a antena, fazendo a detecção automática da versão e colocando-a em modo de recepção de pedidos. Esta inicialização demora cerca de 1 segundo. Função:
Parametros: com_no: Número da porta COM à qual se encontra ligada a antena
Descrição :
Esta função liberta a porta série e devolve a antena ao modo por defeito de modo a que esta não receba mais transmissões a partir dos terminais rádio. Função:
PROTOCOLO_DADOS 1
int __stdcall radio_send_list4(int terminal,int pratos, int mesa,int AuxData,int Lugar1,int Lugar2,int *plus,int *qtds,unsigned char *mesa1,unsigned char *mesa2)
int __stdcall radio_send_message(int terminal,char *msg) Descrição : Esta função envia uma mensagem de texto para um terminal rádio. A mensagem não deverá ocupar mais de 32 caracteres e deverá ser inteiramente composta por caracteres internacionais. Note-se que o terminal rádio só receberá a mensagem se estiver no menu principal, pelo que o envio de mensagens só deverá ser efectuado como resposta a uma acção do utilizador do terminal.A DLL encarrega-se de tentar retransmitir mensagens não confirmadas pelo terminal. Esta retransmissão é feita a cada 5 segundos (aproximadamente). Se o terminal não receber uma mensagem em 30 segundos, a DLL ignora-a. As mensagens são tratadas por ordem de chegada (FIFO). Pode-se saber se uma mensagem foi enviada ou não usando a função radio_send_message_get_status. Parametros: int __stdcall radio_send_big_message_auto_run_menu(int terminal,char *msg , int menuoption) Descrição : Esta função envia uma mensagem de texto para um terminal rádio. A mensagem não deverá ocupar mais de 64 caracteres e deverá ser inteiramente composta por caracteres internacionais. Note-se que o terminal rádio só receberá a mensagem se estiver no menu principal, pelo que o envio de mensagens só deverá ser efectuado como resposta a uma acção do utilizador do terminal.
A DLL encarrega-se de tentar retransmitir mensagens não confirmadas pelo terminal. Esta retransmissão é feita a cada 5 segundos (aproximadamente). Se o terminal não receber uma mensagem em 30 segundos, a DLL ignora-a. As mensagens são tratadas por ordem de chegada (FIFO). Pode-se saber se uma mensagem foi enviada ou não usando a função radio_send_message_get_status. Parametros:
int __stdcall radio_send_big_message(int terminal,char *msg ) Descrição : Esta função envia uma mensagem de texto para um terminal rádio. A mensagem não deverá ocupar mais de 64 caracteres e deverá ser inteiramente composta por caracteres internacionais. Note-se que o terminal rádio só receberá a mensagem se estiver no menu principal, pelo que o envio de mensagens só deverá ser efectuado como resposta a uma acção do utilizador do terminal.A DLL encarrega-se de tentar retransmitir mensagens não confirmadas pelo terminal. Esta retransmissão é feita a cada 5 segundos (aproximadamente). Se o terminal não receber uma mensagem em 30 segundos, a DLL ignora-a. As mensagens são tratadas por ordem de chegada (FIFO). Pode-se saber se uma mensagem foi enviada ou não usando a função radio_send_message_get_status. Parametros: int __stdcall radio_send_message_auto_run_menu(int terminal,char *msg , int menuoption) Descrição : Esta função envia uma mensagem de texto para um terminal rádio. A mensagem não deverá ocupar mais de 32 caracteres e deverá ser inteiramente composta por caracteres internacionais. Note-se que o terminal rádio só receberá a mensagem se estiver no menu principal, pelo que o envio de mensagens só deverá ser efectuado como resposta a uma acção do utilizador do terminal.
A DLL encarrega-se de tentar retransmitir mensagens não confirmadas pelo terminal. Esta retransmissão é feita a cada 5 segundos (aproximadamente). Se o terminal não receber uma mensagem em 30 segundos, a DLL ignora-a. As mensagens são tratadas por ordem de chegada (FIFO). Pode-se saber se uma mensagem foi enviada ou não usando a função radio_send_message_get_status. Parametros:
int __stdcall
radio_message_clear_upload_plus(int terminal)
int __stdcall radio_message_hardware_B(int terminal,int valor) Esta função envia uma mensagem
e configura a opção B do terminal com o valor.
int __stdcall radio_message_hardware_C(int terminal,int valor) Esta função envia uma mensagem e configura a opção C do terminal com o valor. +1- Ao pedir a conta pergunta o
lugar?
int __stdcall radio_message_hardware_ABC(int terminal,int valorA,int valorB,int ValorC) Esta função envia uma mensagem
e configura a opção A,B e C do terminal com o valor.
Esta função envia uma mensagem
e configura a opção A,B,C,D,E e F do terminal com o valor respectivo.
Parametros:
Descrição : ATENÇÂO , Só pode ser usada com
o protocolo_dados 3 activo
Descrição : ATENÇÂO , Só pode ser usada com o protocolo_dados 4 activoFunção identica ao radio_recv3, mas permite receber 13 bytes do campo mesa1 e mesa2. Deve ser utilisada quando é preciso usar o campo mesa para ler codigos de barras com 13 digitos. int __stdcall radio_recv5(int *Funcao,int *terminal,int *licenca,int *msg_number,int *pratos,int *mesa1,int *mesa2,int *AuxData,int *lugar1,int *lugar2,int *plus,int *qtds,unsigned char *st_mesa1,unsigned char *st_mesa2) Descrição : ATENÇÂO , Só pode ser usada com o protocolo_dados 4 activoFunção identica ao radio_recv4, mas ao receber numeros decimais retorna a quantidade em negativo multiplicada por 1000. Exemplo 0.1, retorna na quantidade -100.
Descrição : Esta função verifica se existe alguma mensagem enviada por um terminal no buffer de entrada para ser lida pelo programa. Se existir alguma mensagem a função faz uma cópia desta para msg e retorna OK. Função:
Parametros:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
PROTOCOLO_DADOS 1 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
Tipo |
Terminal |
Liçença |
Nº Ordem |
Pratos |
Mesa |
Aux |
1º Artigo |
1º Qtd |
2ª Artigo |
2º Qtd |
3º... |
3º... |
|
1B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROTOCOLO_DADOS 2 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
Tipo |
Terminal |
Liçença |
Nº Ordem |
Pratos |
Mesa |
Aux |
Lugar 1 |
Lugar 2 |
1ª Artigo |
1º Qtd |
2º... |
2º... |
|
1B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
2B |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROTOCOLO_DADOS 3 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
|
Tipo |
Terminal |
Liçença |
Nº Ordem |
Pratos |
Mesa |
Aux |
Lugar 1 |
Lugar 2 |
Mesa 1 |
Mesa 2 |
1º Artigo |
1º Qtd |
|
1B |
2B |
2B |
2B |
2B |
2B |
2B |
4B |
4B |
4B |
4B |
2B |
2B |
Descrição :
Indica a primeira posição do 'mapa
das posições ' para onde a Dll automaticamente vai colocar os
complementos.
Descrição :
Nome da lista de componentes que se vai introduzir de
seguida. Exemplo "Tipo de café ", seguido de "curto" e "cheio".
Parametros:
'Tree
Public Declare Function radio_make_tree_mkdir Lib "RioCom" (ByVal directory_name As String) As Long ' Optional
Public Declare Function radio_make_tree_cd_back Lib "RioCom" () As Long
Public Declare Function radio_make_tree_entry Lib "RioCom" (ByVal entry_number As Long, ByVal entry_name As String) As Long
entry_number: Valor do plu que a dll deve retornar se este plu for escolhido.
entry_name: Nome do plu.
Retorna: Valor indicativo do codigo com que este plu vai ficar no terminal.
Public Declare Function radio_make_tree_cd Lib "RioCom" (ByVal directory_name As String) As Long
Public Declare Function radio_upload_tree Lib "RioCom" () As Long
Envia todos os plus para o terminal.
Public Declare Function radio_upload_tree2 Lib "RioCom" (Byval Configurações As String,ByVal NumParametros As Long,ByVal RearrangeTree as Long) As Long
Envia todos os plus para o terminal.
As configurações são uma string que permite configurar directamente o terminal.
Configuração 1 = Opção A
Configuração 2 = Opção B
Configuração 3 = Opção C
etc...
NumParametros: Tamanho das configurações em bytes.
RearrangeTree: 1(Activa) ou 0(Desactiva), permite defenir o comportamento da arvore em situações que um ramo têm mais que 8 elementos.
Se 1, a dll automaticamente cria um novo subramo de maneira a que nunca haja um ramo com mais de 8 elementos.
' Tree modifiers
Public Declare Function radio_make_tree_modifier_entry Lib "RioCom" (ByVal entry_number As Long, ByVal name As String) As Long
entry_number: Valor do plu que a dll deve retornar se este plu for escolhido.
entry_name: Nome do plu.
Retorna: Valor indicativo do codigo com que este plu vai ficar no terminal.
Public Declare Function radio_make_tree_modifier Lib "RioCom" (ByVal group_name As String, ByVal automatic As Boolean, ByVal multiple_choice As Boolean) As Long
Metodo para criar tipos de complementos.
group_name: Grupo de complementos a usar.
automatic: True, Pergunta obrigatória.
multiple_choice:True, Permite escolher varios items.
Public Declare Function radio_make_tree_modifier2 Lib "RioCom" (ByVal group_name As String, ByVal automatic As int, ByVal multiple_choice As int) As Long
Equivalente á função anterior.
C Language
int __stdcall radio_make_tree_mkdir(char *name); // Optional
int __stdcall radio_make_tree_cd_back();
int __stdcall radio_make_tree_entry( int entry_no, char *name);
int __stdcall radio_make_tree_cd(char *name);
void radio_make_tree_modifier_name( char *group_name,int first_complement_number);
int __stdcall radio_make_tree_modifier( char *group_name,bool automatic,bool multiple_choice);
int __stdcall radio_make_tree_modifier_entry(int entry_no, char *name);
Exemplo:
Para criar os plus do exemplo acima deveria-se usar o seguinte codigo.
radio_make_tree_mkdir "Cafetaria" ' Optional
radio_make_tree_cd "Cafetaria"
radio_make_tree_entry 1, "Cafe"
radio_make_tree_modifier "Temperatura da Chavena", False, False
radio_make_tree_modifier "Tipo de café", False, False
radio_make_tree_entry 2, "Cha"
radio_make_tree_modifier "Temperatura da Chavena", True, True
radio_make_tree_entry 8, "Aguas"
radio_make_tree_entry 9, "Torradas"
radio_make_tree_entry 10, "Tosta mista"
radio_make_tree_entry 11, "Sande de queijo"
radio_make_tree_entry 12, "Sande mista"
radio_make_tree_entry 13, "Pão c/ queijo"
' If number of elements > 8 Tree will be auto rebuild
' radio_make_tree_entry 14, "Pão c/ manteiga"
' radio_make_tree_entry 15, "Pão simples"
radio_make_tree_cd_back
radio_make_tree_cd "Gelataria"
radio_make_tree_mkdir "Copo" ' Optional
radio_make_tree_mkdir "Taca" ' Optional
radio_make_tree_cd "Copo"
radio_make_tree_entry 3, "2 Bolas"
radio_make_tree_entry 4, "3 Bolas"
radio_make_tree_cd_back
radio_make_tree_cd "Taca"
radio_make_tree_entry 5, "Chocolate"
radio_make_tree_entry 6, "Baunilha"
radio_make_tree_cd_back
radio_make_tree_cd_back
radio_make_tree_mkdir "Outros"
radio_make_tree_cd "Outros"
radio_make_tree_entry 7, "Tabaco"
radio_make_tree_cd_back
radio_make_tree_mkdir "Compl."
radio_make_tree_cd "Compl."
radio_make_tree_mkdir "Tipo de café"
radio_make_tree_cd "Tipo de café"
radio_make_tree_modifier_entry 500, "Cheio"
radio_make_tree_modifier_entry 501, "Curto"
radio_make_tree_cd_back
radio_make_tree_mkdir "Temperatura da Chavena"
radio_make_tree_cd "Temperatura da Chavena"
radio_make_tree_modifier_entry 600, "Chevena Fria"
radio_make_tree_modifier_entry 601, "Chavena Quente"
radio_make_tree_modifier_entry 602, "Chavena Morna"
radio_make_tree_cd_back
Página
principal |
Contactos |
Download |
Manual de
interligação |
|||
Restaurantes |