applet.video.vga_output: convert to nmigen
by Attie Grande 4 years 7 months
1e1696e3
gateware.uart: support words longer than 8-bits
by Attie Grande 4 years 7 months
gateware.uart: support words longer than 8-bits

It seems that the shift register was being truncated to 8-bits
regardless of the requested word size, since the `data_bits`
attribute was introduced in 0f497e4a.
42d7cf7c
gateware.uart: convert to nmigen
by Attie Grande 4 years 7 months
82fa381c
applet.interface.uart: convert to nmigen
by Attie Grande 4 years 7 months
8aaffb6a
Switch CI from Travis to GitHub Actions.
by Adam Greig 4 years 6 months
922a77f6
firmware: fix ~ALERT interrupt handling
by Electronic Eel 4 years 7 months
firmware: fix ~ALERT interrupt handling

The interrupt is level triggered on the FX2, so disable the handler until the
ADC disengages it.

It did somehow "work" without this fix, but the CPU was spending most of it's time
entering the interrupt handler.

Found by mistakenly not properly disengaging the ~ALERT line, then all USB comms
broke. This doesn't happen with this commit.
54cc5a74
firmware: implement initializing and reading alert...
by electronic_eel 4 years 7 months
firmware: implement initializing and reading alert limits for the INA233

With this firmware it is now possible to use regular "voltage"
cli commands on revC2 to enable ports and read the sensed voltage back.
9fff92dd
firmware: implement voltage reading for the INA233
by electronic_eel 4 years 7 months
firmware: implement voltage reading for the INA233

move adc_reg_read()/_write() to util.c and rename to i2c_reg8_read()/_write()
as they are used by both ADCs and can most probably also be used for other I2C peripherals.
a18c9e61
firmware: rename adc file and functions to prepare...
by electronic_eel 4 years 7 months
firmware: rename adc file and functions to prepare supporting the INA233 ADC too
e9e6c3d5
cli: coarsen --trace VCD timestamps to 10 ns.
by whitequark 4 years 6 months
cli: coarsen --trace VCD timestamps to 10 ns.

This speeds up dumb VCD viewers like sigrok that do work per sample
rather than per edge by an order of magnitude at the cost of some
non-accumulating loss of precision. Although unfortunate, sigrok is
just far too slow to decode traces without this hack.
b269ae09
Report a bug