applet.interface.i2c_controller: use clock divisor...
by whitequark 5 months 1 week
applet.interface.i2c_controller: use clock divisor API.

The way this is done is rather hacky, done so to avoid modifying
the existing I2C initiator as much as possible (since it is reliable
and also verifying I2C gateware is very difficult).

At some later point the existing I2C gateware will be replaced with
a stream-based one anyway. Then all of this will go away.
45f9f2fa
applet.interface.i2c_controller: redesign API and ...
by whitequark 5 months 1 week
applet.interface.i2c_controller: redesign API and add tests.
08714e38
applet.interface.i2c_{initiator→controller}: fol...
by whitequark 5 months 1 week
applet.interface.i2c_{initiator→controller}: follow the spec.
75e3ea90
manual: prepare for using Python docstrings.
by whitequark 5 months 1 week
e3627842
manual: `pdm live`: watch source directory for cha...
by whitequark 5 months 1 week
manual: `pdm live`: watch source directory for changes.
ab8bf951
cli: simplify/clarify argument group titles.
by whitequark 5 months 1 week
cli: simplify/clarify argument group titles.

A typical applet would now have:

* positional arguments
* options
* configuration

In the future we might also unify `add_setup_arguments` with
`add_build_arguments`. The argument (no pun intended) to have them be
separate was that the latter influences gateware build and the former
does not, but this is an artificial and mostly meaningless division,
especially with the V2 API.
8bb33131
applet.interface.i2c_initiator: refactor. NFC
by whitequark 5 months 1 week
76bf8fbc
applet.interface.i2c_initiator: remove `--pulls` o...
by whitequark 5 months 1 week
applet.interface.i2c_initiator: remove `--pulls` option.

The main reason to make pull resistor state configurable (besides
compatibility with revAB, which is now handled centrally) is to avoid
sourcing too much current. However, it doesn't seem like the added 330
microamps (at 3.3 V) is going to make any difference in any real-world
situation. Forgetting `--pulls` however is a very real source of
frustration.
f85fa801
manual: intro: more links to applets.
by whitequark 5 months 1 week
97101701
manual: more linkcheck exclusions.
by whitequark 5 months 1 week
ffe262ed
Report a bug