Skip to content

v0.3.3

Compare
Choose a tag to compare
@andrewdavidmackenzie andrewdavidmackenzie released this 04 Aug 19:39
· 948 commits to master since this release
ebeafd3

This release fixes a problem in v0.3.3 with piglet, that impaired usability.
The nodeid for an iroh-net connection was only being printed out when logging properly configured.
That was not easy to know to do, or how to do, and it was not as documented.
piglet now always prints out the nodeid for use in piggui.

What's New in v0.3.*

  • Addition of Remote GPIO interaction using piggui connected to a remote piglet over iroh-net (see below for details)
  • Lots of refactoring
  • A few bug fixes
  • Increased (slightly) test coverage, although more to be done here
  • Added docs clarifying building from source from a clone or release tarball
  • Use of clap and additional command line arguments in both piggui and piglet
  • All dependencies updated to latest versions with security patches etc
  • Add Pi 3B Cross-Compilation Support in Makefile
  • Replace actions-rs with dtolnay/rust-toolchain
  • Allow piglet to be installed and uninstalled as a system service on RPi
  • piglet ensures only one instance running, and prints out connection information for existing running instance if there is one
  • Avoid use of unwrap() and hence possible panics in piglet
  • Move some docs to external files to improve README readability
  • Add link check of markdown to CI
  • Add Local or Remote marker to hardware button in GUI to help the user understand what hardware they are connected to

New Contributors

  • @matheus23 made their first contribution in #247 to help us debug possible iroh-net connection issues

Networking feature

  • The GUI (piggui) can connect to a Pi (that is running piglet) over the network, to control and view the GPIO hardware
    from a distance. The GUI can run on Mac, Linux, Windows or Raspberry Pis. Events are timestamped at source (as
    close to the hardware as possible) so network delays should not affect the waveforms displayed. Provide us
    feedback and ideas related to networking in Discussions or GH issues.
  • The data required to connect to a remote node via iroh-net is called the nodeid. piglet prints this out for you if it is
    started in the foreground. WHen piglet has been started as a system service, start another instance in the foreground. This will detects the background instance and display its nodeid for you, then exit.
  • Take the nodeid and either supply it as a command line option to piggui (--nodeid $nodeid, prefixed with -- if using cargo run) or enter it into the GUI. To connect to a remote instance from the GUI, click on the "hardware menu" in the left of the info bar at the bottom of the screen and select the "Connect to remote Pi..:" menu item. Then enter the nodeid into the field provided and hit "Connect"

Here are two videos showing the two ways to use it, with piglet running on a RPi shown via VNC.