Bridge - Clase Bridge

Descripción

Bridge es la clase base para todas las llamadas a la función Bridge. No se llama directamente, sino que invoca cada vez que se utiliza una función que depende de él.

FUNCIONES

begin()

Descripción:
Inicia Brige, lo que facilita la comunicación entre el AVR y el procesador Linux. Esto debería ser llamado solo una vez en la sección setup()

begin() es una función de bloqueo. Una vez que se llama a Bridge.begin (), nada más va a pasar en el boceto hasta que se haya completado. Este proceso dura aproximadamente tres segundos.

Sintaxis:
Bridge.begin()

Parámetros:
Ninguno

Retornos:
Ninguno
________________________________________________________________________

readMessage()()

Descripción:
Lee un mensaje desde el procesador de Linux para el AVR.

Sintaxis:
Bridge.readMessage(buffer, size)

Parámetros:
buffer (int): El buffer a leer
size (int): El tamaño de la memoria intermedia

Retornos:
int: el mensaje que ha sido leído
________________________________________________________________________

writeMessage()()

Descripción:
Escribe un mensaje del AVR al procesador Linux.

Sintaxis:
Bridge.writeMessage(buffer, size)

Parámetros:
buffer (int): El buffer a escribir
size (int): El tamaño de la memoria intermedia

Retornos:
Ninguno
________________________________________________________________________

messageAvailable()()

Descripción:
Informa si hay un mensaje en espera de ser leído desde el procesador Linux al AVR.

Sintaxis:
Bridge.messageAvailable()

Parámetros:
Ninguno

Retornos:
int: el tamaño del mensaje disponible
________________________________________________________________________

put()

Descripción:
La función put () le permite almacenar datos en el procesador Linux utilizando una estructura de Clave / Valor. El campo Clave es como una etiqueta y se puede asociar un valor a la misma. El nombre de la clave debe ser único con el fin de identificar el valor correcto. En el lado de Linux hay un almacén de datos donde se guardan todas las claves y los valores.

El almacén de datos se guarda en la memoria RAM de la AR9331, perderá el almacén de datos al reiniciar el software de Bridge en el lado de Linux (a través de ciclos de encendido, reiniciar el procesador de Linux, o la posibilidad de subir un programa a través de WiFi o Ethernet). No perderá el almacén de datos si se resetea el procesador ATMega32u4.

Sintaxis:
bridge.put (key, value)

Parámetros:
key: un char o string, el nombre de la clave que desea asignar para identificar el valor.
value: char o string, el valor que desee almacenar.

Retornos:
Ninguno
________________________________________________________________________

get()

Descripción:
get () le permite leer un elemento Clave / Valor guardado previamente en el procesador Linux. Puede solicitar un valor almacenado en el almacén de datos pasando a get () la clave que desea buscar, el buffer, y su tamaño. La clave es similar a una etiqueta, que se utiliza para identificar un valor asociado. El nombre de la clave debe ser único con el fin de identificar el valor correcto.

El almacén de datos se guarda en la memoria RAM de la AR9331, perderá el almacén de datos al reiniciar el software de Bridge en el lado de Linux (a través de ciclos de encendido, reiniciar el procesador de Linux, o la posibilidad de subir un programa a través de WiFi o Ethernet). No perderá el almacén de datos si se resetea el procesador ATMega32u4.

Sintaxis:
bridge.get(key, buffer, buffer_length)

Parámetros:
key: El nombre de la clave asociada al valor que está solicitando.
búffer: El buffer utilizado para guardar el valor devuelto por la clave buscada. Se añade un terminador de cadena después de que el último byte que compone el valor presentado ha sido leído.
buffer_length: la longitud de la memoria intermedia pasada a la función.

Retornos:
La función devuelve la longitud del byte leído del valor solicitado.
________________________________________________________________________

transfer()

Descripción:
transfer () es usado por otras funciones que se comunican entre el microcontrolador y el procesador ATMega32u4 Linux.

Es el método para transferir un marco. Estos métodos implementan un protocolo que cuentan con corrección de errores y la respuesta del procesador Linux.

Los dos lados de Bridge hacen uso de un protocolo serie para transferir un mensaje de una a la otra. Una llamada a Bridge.transfer (), envía un mensaje a un lado de Linux y espera una respuesta. transfer () también comprueba la integridad del paquete y rechaza paquetes que contienen errores.

La función implementa un mecanismo de retransmisión si un reconocimiento no se envía desde Linux en 100 ms, o si el paquete está dañado. La retransmisión se repite hasta que se recibe una respuesta de Linux.transfer () que devuelve la longitud del buffer que contiene la respuesta de Linux.

Sintaxis:
transfer(buff1, len1, buff2, len2, buff3, len3, rxbuff, rxlen);

funciones derivadas:

transfer(buff1, len1);
transfer(buff1, len1, rxBuff, rxLen);
transfer(buff1, len1, buff2, len2, rxBuff, rxLen);

Parámetros:
buff_N: es la memoria intermedia N con el contenido del mensaje que desea enviar. La función de transferencia soporta hasta 3 buffers que se concatenan.
len_N: es el número de elemento contenido en el buffer_N.
rxbuff: es la memoria intermedia de apoyo que se pasa como parámetro en donde se almacenará la respuesta desde el lado de Linux.
rxLen: es la longitud del rxBuffer.

Retornos:
La longitud del buffer que contiene la respuesta de Linux. En caso de que rxl sea más corta que la longitud de la respuesta, la función devolverá rxl para indicar que la memoria intermedia rx está llena.



No hay comentarios:

Publicar un comentario