const std = @import("std");
const pico = @import("microzig").hal;

const WRAP = 4095;

const pin_conf = pico.pins.GlobalConfiguration{
    .GPIO26 = .{ .name = "resistance", .function = .ADC0 },
    .GPIO18 = .{ .name = "red", .function = .PWM1_A },
};

const pins = pin_conf.pins();

pub fn main() void {
    pin_conf.apply();

    pins.red.slice().set_wrap(WRAP);
    pins.red.slice().enable();

    while (true) {
        const intensity = pico.adc.convert_one_shot_blocking(pins.resistance) catch unreachable;
        pins.red.set_level(WRAP - intensity);

        pico.time.sleep_ms(100);
    }
}