Renode is a virtual development tool for multi-node embedded networks (both wired and wireless) and is intended to enable a scalable workflow for creating effective, tested and secure IoT systems.
You can control qualities of a wireless network: either all packets are delivered or they are only delivered if nodes are inside some specified distance or you use probabilistic loss of packets which depends on the distance.
you can change the physical distance of the nodes inside a wireless network.
You can simulate and evaluate the performance of mesh networks.
You can load raw data to a accelereometer senor and test against it. Same can be done for image or sound.
You can write your own peripheral files that you can use for simulation. C# is expected to be used, but you can also write more complex logic in Python.
Not connected to blogs:
You can debug chips with multiple cores, this is good as nrf5340 as two cores.
You can save the state of entire emulation and share it with team to solve the problems collaboratively.
Antmicro wrote pyrenode, a Python library to talk to the Renode programatically.
You can create a BLE peripheral in one simulation window and a BLE central peripheral in another and have them to talk to each other.
Renode supports Robot Framework, a generic open source automation framework.
Context
Renode is a virtual development tool for multi-node embedded networks (both wired and wireless) and is intended to enable a scalable workflow for creating effective, tested and secure IoT systems.
https://github.com/renode/renode
Renode can take unmodified binaries (that you would run a physical board) and run them in a virtual environment.
On the surface it seems that Renode has a ton of features that would be useful in our embedded development.
Required steps
Definition of Done
Above is done, reviewed and tested.