65 lines
2.9 KiB
Plaintext
65 lines
2.9 KiB
Plaintext
:name: Quark C1000 with CC2520 - 2 nodes
|
|
|
|
######################################################################
|
|
#
|
|
# Sample script creating 1 server node and 1 client node using a
|
|
# range-based radio medium function - transmission is possible if
|
|
# the nodes are in range of each other. The nodes are positioned in 3D space (x,y,z),
|
|
# at a distance of 10 units on the x-axis.
|
|
#
|
|
# Differences in SyncUnit values for machines represent differences
|
|
# in their relative speed. This prevents the machines from
|
|
# synchronizing in full.
|
|
#
|
|
######################################################################
|
|
|
|
# Create a new wireless transmission medium. This command adds the `wireless` object to the emulation.
|
|
emulation CreateIEEE802_15_4Medium "wireless"
|
|
|
|
# The radio is using a range-based medium (with the `Range` set to `11`).
|
|
# If not set, the default SimpleMediumFunction will be used (where range is not relevant).
|
|
wireless SetRangeWirelessFunction 11
|
|
|
|
######################### UDP SERVER - begin #########################
|
|
# This creates a server node, connects it to the wireless medium and sets the node's position.
|
|
#
|
|
# The `$bin` variable contains the path to the server ELF file. The `$name` variable will indicate
|
|
# the name of the created machine. Both variables are used in quark_c1000.resc.
|
|
$bin=@https://dl.antmicro.com/projects/renode/zephyr-echo-server.elf-s_1003060-56eb87aafc8c00f73ebe154dafee627a3a4f23f6
|
|
$name="server"
|
|
|
|
# Load the script for a single generic node:
|
|
i @scripts/multi-node/quark-c1000-zephyr/quark_c1000.resc
|
|
|
|
# Each radio device has to be connected to a wireless medium. Two devices can communicate
|
|
# if they are connected to the same medium.
|
|
# In this situation the radio is accessible via an SPI bus.
|
|
connector Connect spi1.radio wireless
|
|
|
|
# Each radio in a machine can have its position set independently.
|
|
wireless SetPosition spi1.radio 0 0 0
|
|
|
|
########################## UDP SERVER - end ##########################
|
|
|
|
# The Monitor works in the context of the current machine. It allows the user to access the machine's peripherals
|
|
# and to set variables local to this machine. The selection must be cleared before creating a new machine
|
|
# so that the $bin and $name variables are global and accessible from the new context.
|
|
mach clear
|
|
|
|
######################### UDP CLIENT - begin #########################
|
|
# This creates a client node.
|
|
|
|
$bin=@https://dl.antmicro.com/projects/renode/zephyr-echo-client.elf-s_1016316-bfb6584d9d63950e8106c6820efccdaf0b7738a5
|
|
$name="client"
|
|
|
|
i @scripts/multi-node/quark-c1000-zephyr/quark_c1000.resc
|
|
connector Connect spi1.radio wireless
|
|
|
|
# The node is placed 10 units from the server. With the maximum range set to 11, all packets will be delivered.
|
|
wireless SetPosition spi1.radio 10 0 0
|
|
|
|
########################## UDP CLIENT - end ##########################
|
|
|
|
# This clears the Monitor's context. To select a machine, use the `mach set` command (try `help mach`).
|
|
mach clear
|