package devices.CR16C.KT4585; import io.UARTWriter; import util.IL2ErrorHandler; import util.L2Channel; public class UARTL2Channel extends L2Channel { protected static final byte MESSAGE = 0x42; private static class UARTChannelErrorHandler implements IL2ErrorHandler { @Override public void errorOccurred(String errorString, byte offendingByte) { devices.Console.println(errorString); } } protected UARTWriter writer; public UARTL2Channel() { super(new UARTChannelErrorHandler()); writer = new UARTWriter(); writer.register(); } @Override public void send_callback(byte[] msg, short length) { for (byte index = 0; index < length; index++) { writer.write(msg[index]); } writer.flush(); } public void write(String string) { short length = (short) string.length(); length++; if (prologue(length)) { int bufferIndex = 0; write(MESSAGE); length--; while (bufferIndex < length) { write((byte)string.charAt(bufferIndex)); bufferIndex++; } epilogue(); } } }