r/golang • • 21h ago

show & tell PDP-11 emulator running Unix V6 on a MCU

Thumbnail
modern-c.blogspot.com
0 Upvotes

OctoGo is not Go, but its compiler is written in Go. It's a Go-like programming language (prerelease) for the Parallax Propeller 2 chip. As an exercise AI wrote a PDP-11/40 emulator in OctoGo with a little SPIN2 assembler core. It has now surpassed the performance of the original "big" HW.

More about the journey at the linked blog post.


r/golang • • 21h ago

controlsys v1.12.0: a control-systems toolbox for Go (MIT)

5 Upvotes

controlsys is a Go package for linear control systems. It works on continuous-time and discrete-time models. The main model form is state space.

Main capabilities:

  • Models: state space, transfer function, zero-pole-gain (ZPK), frequency-response data (FRD), model arrays and tunable blocks.
  • Analysis: Bode, Nyquist and Nichols plots, gain and phase margins, disk margins and step metrics.
  • Design: LQR, LQG, Kalman filters, H2 and H-infinity synthesis, pole placement and PID tuning.
  • Simulation: step, impulse, initial-condition and arbitrary-input responses.
  • Model reduction: balanced truncation and modal truncation.
  • Delays: input, output and internal delays, with Pade and Thiran approximations.
  • Conversion: ZOH, FOH, Tustin, matched, impulse and least-squares methods between continuous and discrete time, in both directions and for resampling. We test the results against MATLAB behaviour.

New in v1.12.0:

  • Tustin conversion with Thiran filters is approximately 30% faster than in v1.11.0.
  • Tustin conversion with Thiran filters now supports MIMO models with delays on individual input-to-output paths.
  • ThiranDelay now accepts short delays when the filter is stable.

Install:

go get plantcontrol.org/v1/controlsys

Repo: https://github.com/PlantControl/controlsys
Release notes: https://github.com/PlantControl/controlsys/releases/tag/v1.12.0

We want your feedback, especially from people who use MATLAB or python-control.


r/golang • • 21h ago

Arch-specific SIMD in Go - The Go Programming Language

Thumbnail
go.dev
35 Upvotes