whitequark[cis] changed the topic of #amaranth-lang to: Amaranth hardware definition language · weekly meetings: Amaranth each Mon 1700 UTC, Amaranth SoC each Fri 1700 UTC · code https://github.com/amaranth-lang · logs https://libera.irclog.whitequark.org/amaranth-lang · Matrix #amaranth-lang:matrix.org
Lord_Nightmare has joined #amaranth-lang
notgull has quit [Ping timeout: 252 seconds]
notgull has joined #amaranth-lang
peepsalot has joined #amaranth-lang
peepsalot has quit [Remote host closed the connection]
Degi has quit [Ping timeout: 245 seconds]
Degi_ has joined #amaranth-lang
Degi_ is now known as Degi
<vipqualitypost[m> is it possible to directly work with IO pins rather than try to request them via platform file?
<vipqualitypost[m> I have some RGBLEDResource and when requesting it, only red is lighting up on my board. Can I just do like platform.request("A11") ?
<whitequark[cis]> no
<vipqualitypost[m> i've triple checked the schematic and the pins should be right... so how is a good way to debug what is going on there? the logic simulated fine but I don't know how to debug a "real" build
notgull has quit [Ping timeout: 245 seconds]
notgull has joined #amaranth-lang
zyp[m] has quit [Quit: Idle timeout reached: 172800s]
<whitequark[cis]> got the source code?
<vipqualitypost[m> yup, thanks for taking a peek: https://github.com/VIPQualityPost/amaranth-timer
<vipqualitypost[m> the schematic for the board is here, I'm just using the onboard RGB LED (supposedly A11, A12, B11). I know all three colors work because some demo programs use it and run fine: https://github.com/wuxx/icesugar-pro/blob/master/schematic/iCESugar-Pro-v1.3.pdf
<vipqualitypost[m> it does a heartbeat/soft pulse fine, which is what it should do, just only on one channel instead of three.
<galibert[m]> Only thing I see is a possible collision with LedResources?
zyp[m] has joined #amaranth-lang
<zyp[m]> you're allowed to have overlapping resources as long as only one of them are requested, requesting multiple resources using the same pin will error
<zyp[m]> I can't see anything wrong in the code wrt. the schematic, so what I'd suggest is trying the colors one at a time instead of all three in parallel
<zyp[m]> red usually has lower forward drop than green and blue, so if you run all three in parallel with the same current limiting resistor only red will light up -- I see nothing in the schematic that suggests that should happen unless pins 1/2/3 of the LED are shorted together but it's worth ruling out
notgull has quit [Ping timeout: 264 seconds]
notgull has joined #amaranth-lang
<vipqualitypost[m> thanks for the tip... I think that's what's going on is that maybe my PWM frequency is too high and the effective voltage isn't turning the LED on. I set the resource to use Invert=True and now I get the other LEDs to light, so I think the total duty cycle was just too low to get any forward current or something.
<vipqualitypost[m> does inverting the resource just change the logic level, or does it also change the IO to a sink instead of a source?
Wanda[cis] has joined #amaranth-lang
<Wanda[cis]> it's just about logic levels
<vipqualitypost[m> thanks!
<galibert[m]> Can’t it change the level for output enable though?
<whitequark[cis]> output enable is not affected (that would be quite silly)