1*** Variables *** 2${UART} sysbus.uart0 3${URI} @https://dl.antmicro.com/projects/renode 4 5*** Keywords *** 6Create Machine 7 [Arguments] ${elf} ${name} ${id} 8 9 Execute Command mach create ${name} 10 Execute Command using sysbus 11 Execute Command machine LoadPlatformDescription @platforms/cpus/cc2538.repl 12 Execute Command connector Connect radio wireless 13 14 Execute Command machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x400D2004 0x4 True "sysctrl" 15 16 Execute Command sysbus WriteDoubleWord 0x00280028 ${id} 17 Execute Command sysbus WriteDoubleWord 0x0028002C 0x00 18 Execute Command sysbus WriteDoubleWord 0x00280030 0xAB 19 Execute Command sysbus WriteDoubleWord 0x00280034 0x89 20 Execute Command sysbus WriteDoubleWord 0x00280038 0x00 21 Execute Command sysbus WriteDoubleWord 0x0028003C 0x4B 22 Execute Command sysbus WriteDoubleWord 0x00280040 0x12 23 Execute Command sysbus WriteDoubleWord 0x00280044 0x00 24 25 Execute Command sysbus LoadBinary @https://dl.antmicro.com/projects/renode/cc2538_rom_dump.bin-s_524288-0c196cdc21b5397f82e0ff42b206d1cc4b6d7522 0x0 26 Execute Command sysbus LoadELF ${elf} 27 Execute Command cpu VectorTableOffset `sysbus GetSymbolAddress "vectors"` 28 29 30*** Test Cases *** 31Should Talk Over Wireless Network 32 Set Test Variable ${REPEATS} 3 33 34 Execute Command emulation CreateIEEE802_15_4Medium "wireless" 35 Execute Command wireless SetRangeWirelessFunction 11 36 37 Create Machine @https://dl.antmicro.com/projects/renode/udp-server.elf-s_173732-a2aefb896d521a8fdc2a052cac1933c68cc39bf5 "server" 1 38 Execute Command wireless SetPosition radio 0 0 0 39 ${server-tester}= Create Terminal Tester ${UART} machine=server 40 Execute Command mach clear 41 42 Create Machine @https://dl.antmicro.com/projects/renode/udp-client.elf-s_173840-9eed7fe31993d055b98410b886044e8205a95644 "client-1" 2 43 Execute Command wireless SetPosition radio 10 0 0 44 ${client1-tester}= Create Terminal Tester ${UART} machine=client-1 45 Execute Command mach clear 46 47 Create Machine @https://dl.antmicro.com/projects/renode/udp-client.elf-s_173840-9eed7fe31993d055b98410b886044e8205a95644 "client-2" 3 48 Execute Command wireless SetPosition radio 0 10 0 49 ${client2-tester}= Create Terminal Tester ${UART} machine=client-2 50 Execute Command mach clear 51 52 53 Start Emulation 54 55 FOR ${i} IN RANGE 0 ${REPEATS} 56 Wait For Line On Uart Received request (\\d+) from fd00::200:0:0:2 testerId=${server-tester} treatAsRegex=true timeout=10 57 Wait For Line On Uart Sending response (\\d+) to fd00::200:0:0:2 testerId=${server-tester} treatAsRegex=true 58 Wait For Line On Uart Received request (\\d+) from fd00::200:0:0:3 testerId=${server-tester} treatAsRegex=true 59 Wait For Line On Uart Sending response (\\d+) to fd00::200:0:0:3 testerId=${server-tester} treatAsRegex=true 60 END 61 62 FOR ${i} IN RANGE 0 ${REPEATS} 63 Wait For Line On Uart Sending request ${i} to fd00::200:0:0:1 testerId=${client1-tester} 64 Wait For Line On Uart Received response ${i} from fd00::200:0:0:1 testerId=${client1-tester} 65 END 66 67 FOR ${i} IN RANGE 0 ${REPEATS} 68 Wait For Line On Uart Sending request ${i} to fd00::200:0:0:1 testerId=${client2-tester} 69 Wait For Line On Uart Received response ${i} from fd00::200:0:0:1 testerId=${client2-tester} 70 END 71 72