1.7 KiB
Copyright 2023 (C) Peter McGoron.
This file is a part of Upsilon, a free and open source software project.
For license terms, refer to the files in doc/copying
in the Upsilon
source distribution.
This manual describes the controller software programming. This guide does not
describe client programming (programs that run on the client and interface with
the controller). It does not describe Verilog: see verilog_manual.md
for
that.
Preqreuisites
You must know basic Linux shell (change directories, edit files with vi
)
and basic SSH usage (sftp, ssh).
Knowledge of Micropython (a subset of Python) is required for scripting.
I assume that you have the controller running and accessable. See docker.md
for the easy quick-start guide.
Programming in MicroPython
Introduction to MicroPython
MicroPython is a programming language that is very similar to Python. It is stripped down and designed to run on very small devices. If you have written Python, you will be able to use MicroPython without issue. If you are not a hardcore Python programmer, you might not even notice a difference.
Everything you need to know is here.
Standard Library
There are two modules of the standard library: mmio
and comm
.
mmio
are wrappers that handle reads and writes from MMIO pins. This file
is automatically generated by the build process. This file is generated in
the gateware
directory (if you use the Docker build system, the file is
automatically copied to boot/mmio.py
).
comm
contains higher level wrappers for DAC and ADC pins. This module is
documented well enough that you should be able to read it and understand
how to use it.