No tengo claro cómo escribir matrices de códigos de bytes simples con ruby, more-so Estoy absolutamente perplejo sobre cómo usar la biblioteca Ruby SerialPort, para ser sincero, tengo funciona bastante bien, pero solo he tenido éxito en enviar ASCII por el puerto serie.Escribir matrices de bytes a serial con Ruby
Por ejemplo es muy sencillo escribir ASCII:
@sp = SerialPort.new "/dev/tty.usbserial-A6004cNN", 19200
@sp.write "test"
Lo que obviamente escribe test
a ese dispositivo serie. Esto funciona bien y he podido obtener todos los resultados esperados enviados a un microcontrolador (arduino) en este caso. La cuestión es que necesito para escribir salida que el dispositivo serie leerá así:
{0x01,0x09,0x04,0x00, 'f',0xff,0xcc,0x33}
He intentado usar str.unpack
pero sigo siendo incapaz de producir la salida deseada valores hexadecimales como bytes que el anterior.
En Java es simple usando su biblioteca de serie:
byte[] cmd = { 0x01,0x09,0x04,0x00, 'f',(byte)0xff,(byte)0xcc,(byte)0x33 };
serialPort.write(cmd);
¿Cómo puedo emitir el código de bytes adecuado para mi dispositivo en serie con Ruby?
wow ... grande. No me di cuenta que podría ser así de simple. ¡Gracias! –