applet.sensor.bmx280: migrate to V2 API and add te...
by whitequark 3 months 3 weeks
applet.sensor.bmx280: migrate to V2 API and add tests.
1d58f93b
applet.interface.i2c_controller: scan: display add...
by whitequark 3 months 3 weeks
applet.interface.i2c_controller: scan: display address as hex too.
b685e96c
applet.interface.i2c_controller: use clock divisor...
by whitequark 3 months 3 weeks
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 3 months 3 weeks
applet.interface.i2c_controller: redesign API and add tests.
08714e38
applet.interface.i2c_{initiator→controller}: fol...
by whitequark 3 months 3 weeks
applet.interface.i2c_{initiator→controller}: follow the spec.
75e3ea90
manual: prepare for using Python docstrings.
by whitequark 3 months 3 weeks
e3627842
manual: `pdm live`: watch source directory for cha...
by whitequark 3 months 3 weeks
manual: `pdm live`: watch source directory for changes.
ab8bf951
cli: simplify/clarify argument group titles.
by whitequark 3 months 3 weeks
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 3 months 4 weeks
76bf8fbc
applet.interface.i2c_initiator: remove `--pulls` o...
by whitequark 3 months 4 weeks
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
Report a bug