Si, los tienes que traducir bit a bit, no hay otra.
Por suerte en eso sí el manual es clarísimo.
Presta atención a que algunas consultas devuelven los bytes de flags con el bit 7 en 1 si el resto de los bits son válidos (si está a 0 lo descartas) y en otras los bytes siempre tienen el bit 7 en 1.
Tenes un lindo trabajito por delante...
A veces este lindo trabajito vale la pena. Solo hay que organizarse.
Lo que he hecho hasta ahora. Sin usar puerto serie todavía. Solo estoy probando si me llega este comando con el X72.
#2000,1400,230,45.0,55.0,8.6
Código C#:
using System;
namespace Delimitador_consola_01
{
class Program
{
static void Main(string[] args)
{
// Título de la ventana.
Console.Title = "Probando delimitador";
// Tamaño de la ventana, x, y.
Console.SetWindowSize(80, 15);
// Color de fondo.
Console.BackgroundColor = ConsoleColor.Gray;
// Color de las letras.
Console.ForegroundColor = ConsoleColor.Black;
// Limpiar pantalla y dejarlo todo en color de fondo.
Console.Clear();
// Visible el cursor.
Console.CursorVisible = true;
char[] delimitadorCaracter = { ' ', ',', '#' };
string frase = "#2000,1400,230,45.0,55.0,8.6";
string[] palabras = frase.Split(delimitadorCaracter);
foreach (string palabra in palabras)
{
Console.WriteLine($"<{palabra}>");
}
Console.WriteLine();
Console.WriteLine("La potencia aparente es {0} VA.", palabras[1]);
Console.WriteLine("La potencia activa es de {0} Watts.", palabras[2]);
Console.WriteLine("El voltaje de salida predeterminado de fábrica es de {0} voltios.", palabras[3]);
Console.WriteLine("El rango de frecuencia nominal está entre {0} y {1} Hz.", palabras[4] , palabras[5]);
Console.WriteLine("La corriente nominal es de {0} amperios.", palabras[6]);
// Pulse cualquier tecla para salir.
Console.ReadKey();
}
}
}
Ya que enprivado me han pedido que continúe mostrando muestras, pues...
No se preocupen, seguiré haciendo programas prototipos con C# antes de meterme con Arduino.
Aquí lo que hace es activar y desactivar el zumbador de la UPS, en su display muestra la imagen cuando lo hace, es decir, cuando se ve su icono activado y desactivado. Por algo se empieza. Ya que seguiré el protocolo del PDF de esta PDF. Si no lo encuentran en Internet, se lo pueden pedir al fabricante, a mi me lo pasaron por correos ellos mismos.
Sigo por aquí.
Lo que he hecho hasta ahora para entender bien sobre bits en Bytes en una cadena de string que al enviar un comando, por ejemplo B en una interfaz y al puerto serie.
Me llegue una respuesta.
Los comandos y respuestas lo puedes ver en este documento en pdf.
Aquí abajo en modo consola de C# (más adelante en Arduino. con su LCD ;)) envío un comando llamado B y recibo una respuesta, es un programa prototipo que no tiene nada que ver con el puerto serie, sino el tratamiento de una cadena de caracteres en el cual recibo un string.
Dentro de ella hay que separar cada partes, tanto en string y en bit que hacen de flags o estados de la máquina.