# Gonk

[TOC]

## Getting Started

> **NOTE:** If you are using a `gonk_tools.zip` bundle follow the instructions in
> the `//tools` directory:
> https://pigweed.googlesource.com/gonk/+/refs/heads/main/tools/

1. Clone the repo

   ```sh
   git clone https://pigweed.googlesource.com/gonk
   ```

2. Source `bootstrap.sh` to download all compilers and tooling into the
   `environment` directory:

   ```sh
   . ./bootstrap.sh
   ```

   This should init all git submodules for you.

3. From here on the Pigweed environment is activated. You can activate the
   environment in a new shell without re-running bootstrap by sourcing
   `activate.sh`

   ```sh
   . ./activate.sh
   ```

## Capture ADC samples and plot

1. First bootstrap, run `pw build` and flash gonk using DFU.

   ```sh
   . ./bootstrap.sh
   ```

   ```sh
   pw build
   ```

   Unplug gonk from USB and replug with MODE button held down.

   Run `gonk-flash` on the MCU binary. This uses `pyfu-usb`.

   ```sh
   gonk-flash ./out/gn/arduino_size_optimized/obj/applications/gonk/gonk.bin
   ```

2. Start capturing ADC samples with:

   ```sh
   gonk \
     --bitstream-file DEFAULT \
     --log-to-stderr
   ```

   - Press `Enter` to stop or start ADC continuous updates. It will begin automatically on startup.
   - Press `ctrl-c` to quit.

3. Plot the logs from `gonk-csv-log.txt` with:

   ```sh
   python tools/gonk_tools/plot.py -i gonk-csv-log.txt -o plot.svg
   ```


## Compilation Details

Build for the host and device by running:

```sh
pw build
```

This is mostly a shortcut with nice output for running `gn gen out/gn` and
`ninja -C out/gn`.

The build commands are defined in: `//tools/gonk_tools/build_project.py`.

## Gonk Verilog Build

The Verilog build requires the following to be installed on Linux:

```sh
sudo apt install fpga-icestorm nextpnr-ice40 yosys
```

Running `pw build` will run the FPGA toolchain if these commands are available on the `$PATH`:

- `icepack`
- `icetime`
- `nextpnr-ice40`
- `yosys`

The bitstream files will be written with the `.bin` extenson under
`./out/gn/obj/fpga/*/*.bin` along with log output files.

For example:

```sh
$ ls ./out/gn/obj/fpga/toplevel/
nextpnr-log.txt
toplevel.asc
toplevel.bin
toplevel.json
toplevel_timing_report.json
toplevel_timing_report.txt
yosys-log.txt
```

## Gonk Firmware Build

Flash the stm32f7 and launch the `gonk.py` script on a bitstream file.

### Flash via DFU

1. Unplug gonk from USB and replug with MODE button held down.

1. Run `gonk-flash` which uses `pyfu-usb`. The `--bin-file` argument is optional.

   ```sh
   gonk-flash --bin-file ./out/gn/arduino_size_optimized/obj/applications/gonk/bin/gonk.elf
   ```

### Alternative: Flash with BlackMagic Probe

This is more useful if you are doing firmware debugging.

```sh
./scripts/flash-with-blackmagic-probe.sh ./out/gn/arduino_size_optimized/obj/applications/gonk/bin/gonk.elf
```

## Generating the Gonk Python Bundle

This is a distibutable python wheel that can be used without the Gonk
source checkout or compiling anything.

On Linux with the FPGA toolchain available run:

```sh
pw build
```

The zip file containing all the dependencies for the gonk python tooling is located in:

```sh
out/gn/obj/gonk_bundle.zip
```

Inside are the Python wheels for `gonk_dist`, `gonk_firmware`, and all
third_party dependencies.

```
gonk_bundle
├── python_wheels
│   ├── appdirs-1.4.4-py2.py3-none-any.whl
│   ├── astroid-3.0.1-py3-none-any.whl
│   ├── ...
│   ├── gonk_dist-0.0.1+20240305140627-py3-none-any.whl
│   ├── gonk_firmware-0.0.1+20240305140542-py3-none-any.whl
│   ├── ...
│   └── wheel-0.40.0-py3-none-any.whl
├── requirements.txt
├── setup.bat
└── setup.sh
```

## Appendix

### CSV Log Format

#### Fields

1. Host timestamp with format `%Y%m%d %H:%M:%S.%f`
2. Delta microseconds (elapsed microseconds since the last ADC read) on the STM32 microcontroller side.
3. 7 Voltage values
4. 7 Current values
5. 7 Power values
6. Comment text

Example separated into multiple lines (with an empty comment field)
```
20240813 14:16:35.176433,
283,
0.8148437500000001, 0.8892578125, 5.212109375000001, 1.087109375, 0.8904296875000001, 3.3820312500000003, 1.8125,
0.058447916666666676, 0.031546875, 0.13443125, 0.015902343750000002, 0.0009143518518518518, 0.16081250000000002, 0.004143750000000001,
0.04762591959635418, 0.02805330505371094, 0.7006703784179689, 0.01728758697509766, 0.0008141660337094908, 0.5438729003906251, 0.007510546875000001,

```

#### GPIO assert events in the CSV

When GPIOs are pulled LOW (to ground) a line in the CSV will appear
with delta_micros = 0 and empty measurement values. The Comment field will
contain the GPIO assert log message.

Example:

```
20240813 14:12:32.930888, 0,
,,,,,,,
,,,,,,,
,,,,,,,
Header pin assert: 2
```


### Compiling the FPGA Toolchain

#### yosys

See https://github.com/YosysHQ/yosys for more instructions.

On Ubuntu/Debian install the deps:
```sh
sudo apt-get install build-essential clang lld bison flex \
    libreadline-dev gawk tcl-dev libffi-dev git \
    graphviz xdot pkg-config python3 libboost-system-dev \
    libboost-python-dev libboost-filesystem-dev zlib1g-dev
```

Activate the bootstrap environment `. ./bootstraph.sh` then compile yosys.

```sh
git clone https://github.com/YosysHQ/yosys
cd yosys
git submodule update --init
make config-clang
make -j8
```

Install it to a known directory and add it to your `$PATH`:

```sh
make DESTDIR=$HOME/ice40-fpga-tools install
export $PATH=$PATH:$HOME/ice40-fpga-tools/usr/local/bin
```

#### fpga-icestorm

TODO: Document compiling from source.

#### nextpnr-ice40

TODO: Document compiling from source.

### Updating STM32Cube

Checkout the desired commits in each of these submodules:

```
third_party/stm32cube_f7/cmsis_core
third_party/stm32cube_f7/cmsis_device
third_party/stm32cube_f7/hal_driver
```

Then run from Gonk root:

```sh
python -m pw_stm32cube_build gen_file_list third_party/stm32cube_f7
```

### Gonk Pin Maps

#### Misc

| Net    | STM32 Pin | STM32 Function | Function |
|--------|-----------|----------------|----------|
| STATUS | PB13      | GPIO_Output    | STAT LED |

### Top 6 pin header (0.1inch pitch 2x3)

Visual header pin positions:

```
                             +-------------
+------+--------+-----+      |
|  2   | Ground |  6  |      |    USB-C
+------+--------+-----+      |    Port
|  1   |   3    | VCC |      |
+------+--------+-----+      +-------------
```

| Header Pin | Net         | STM32 Pin |
|------------|-------------|-----------|
|          1 | SPI_HDR_IO3 | PB0       |
|          2 | SPI_HDR_IO1 | PA2       |
|          3 | SPI_HDR_IO2 | PA3       |
|          4 | GND         |           |
|          5 | VCC_GONK    |           |
|          6 | SPI_HDR_IO0 | PA1       |

### SPI Flash Connection

| Net          | FPGA IO# | STM32 Pin | STM32 Function | Flash Pin  |
|--------------|----------|-----------|----------------|------------|
| ICE_SPI_SS   |       71 | PD2       | GPIO_Output    | S#         |
| ICE_SPI_MISO |       68 | PB4       | SPI1_MISO      | DQ1        |
| ICE_SPI_MOSI |       67 | PB5       | SPI1_MOSI      | DQ0        |
| ICE_SPI_SCK  |       70 | PB3       | SPI1_SCK       | C          |
| FLASH_HOLD   |       63 | PC11      | GPIO_Output    | HOLD#/DQ3  |
| FLASH_WP     |       64 | PC12      | GPIO_Output    | W#/VPP/DQ2 |

### FPGA Connection

| Net               | Function | FPGA IO# | STM32 Pin | STM32 Function | Notes               |
|-------------------|----------|----------|-----------|----------------|---------------------|
| FPGA_IO_SPARE_0_2 | rst_i    |      135 | PA0       | GPIO_Output    | Active high         |
| FPGA_IO_SPARE_0_0 | mode_i   |      137 | PB11      | GPIO_Output    | FPGA operation mode |
| DSPI_CS           | valid_o  |       75 | PB6       | GPIO_Output    | Data/Transfer Valid |
| FPGA_IO_SPARE_1_1 | miso_i   |      101 | PC2       | SPI1_MISO      |                     |
| FPGA_IO_SPARE_1_0 | mosi_i   |       99 | PC3       | SPI1_MOSI      |                     |
| I2C_O_SDA         | cs_n     |       79 | PB9       | SPI1_NSS       |                     |
| FPGA_IO_SPARE_0_1 | sclk_i   |      136 | PB10      | SPI1_SCK       |                     |
| FPGA_IO_SPARE_2_0 |          |       49 | PA7       |                |                     |
| FPGA_IO_SPARE_2_1 |          |       48 | PA6       |                |                     |
| FPGA_IO_SPARE_2_2 |          |       47 | PA5       |                |                     |
| FPGA_IO_SPARE_2_3 |          |       45 | PA4       |                |                     |
