The gpio_put function in drivers/wireless/cyw43439/wifi.zig currently only uses OR when updating the output register. which mean values can't be cleared from the output
|
reg = reg | @as(u32, value) << pin; |
Instead, it should mask the original register value first:
reg = (reg & ~(@as(u32, 1) << pin)) | (@as(u32, value) << pin);
The
gpio_putfunction indrivers/wireless/cyw43439/wifi.zigcurrently only uses OR when updating the output register. which mean values can't be cleared from the outputmicrozig/drivers/wireless/cyw43439/wifi.zig
Line 817 in 6750f70
Instead, it should mask the original register value first: