1 // 2 // Copyright (c) 2010-2022 Antmicro 3 // Copyright (c) 2011-2015 Realtime Embedded 4 // 5 // This file is licensed under the MIT License. 6 // Full license text is available in 'licenses/MIT.txt'. 7 // 8 using System; 9 using Antmicro.Renode.Core; 10 using Antmicro.Renode.Core.Structure; 11 using Antmicro.Renode.Peripherals.UART; 12 using Antmicro.Migrant; 13 14 namespace Antmicro.Renode.Peripherals.SPI 15 { 16 public class UARTToSpiConverter : NullRegistrationPointPeripheralContainer<ISPIPeripheral>, IUART 17 { UARTToSpiConverter(IMachine machine)18 public UARTToSpiConverter(IMachine machine) : base(machine) 19 { 20 } 21 22 [field: Transient] 23 public event Action<byte> CharReceived; 24 Reset()25 public override void Reset() 26 { 27 } 28 WriteChar(byte value)29 public void WriteChar(byte value) 30 { 31 if(RegisteredPeripheral == null) 32 { 33 return; 34 } 35 var charReceived = CharReceived; 36 var read = RegisteredPeripheral.Transmit(value); 37 charReceived(read); 38 } 39 40 public Bits StopBits 41 { 42 get 43 { 44 // StopBits are always None 45 return Bits.None; 46 } 47 } 48 49 public Parity ParityBit 50 { 51 get 52 { 53 // Parity is always None 54 return Parity.None; 55 } 56 } 57 58 public uint BaudRate 59 { 60 get 61 { 62 // BaudRate is always 0 63 return 0; 64 } 65 } 66 } 67 } 68 69