[video member=miotatsu stream_platform=twitch project=riscy title="LED Fade Demo Review" vod_platform=youtube id=egzyXosoRXs annotator=Miblo] [0:06][Recap and set the stage for the day] [2:16][Consult the schematic on p 34[ref site="SiFive Developers" page="Freedom E300 Platform Reference Manual" url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:circuitry] [3:03][@croepha][I think the circle denotes a normally off input, but that wouldn't apply for oval in this case. So, I think the whole grey block is the tristate buffer, and the triangle is just the output part of the buffer] [3:39][@croepha][Alright go to the board schematics, page three, grid D1][:circuitry] [4:41][Consult the HiFive1 Schematics[ref site=SiFve page="HiFive1 Schematics" url=https://www.sifive.com/documentation/boards/hifive1/hifive1-schematics/] in conjunction with @croepha's explanation][:circuitry] [7:53][@croepha][If it's high, then no current will flow through the LED, because the potential will be the same on both sides of the LED][:circuitry] [10:34][@croepha][The main thing OE does is make the output buffer go from high impedance (off) to low impedance (on)][:circuitry] [10:48][Consult Megan's forum post regarding programming the PWM-driven LEDs[ref site="Handmade Network" page="RISCY BUSINESS Forums" url=https://riscy.handmade.network/forums] and write a reply, referring to Illuminant D65[ref site=Wikipedia page="Illuminant D65" url=https://en.wikipedia.org/wiki/Illuminant_D65]][:peripheral :research] [21:34][Show some colour correct code using D65[ref site=GitHub page=drones-for-ag/treecount url=https://github.com/drones-for-ag/treecount]] [25:01][Continue replying to Megan[ref site="Handmade Network" page="RISCY BUSINESS Forums" url=https://riscy.handmade.network/forums]][:peripheral] [30:43][Shout-out to Megan, with thoughts to try and interview her on the series] [31:32][Determine that we understand double_tap_dontboot.c and move on to led_fade.c] [31:54][Refer to @RiskyFive's oscilloscope[ref site=Twitter page="@hmn_riscy For uint32_t G = 0xFF0; 6% duty cycle, as you predicted. Is this what you wanted?" url=https://twitter.com/Luis3m/status/862047490358509571] with our newfound understanding of how the PWM works][:peripheral :research] [35:31][0 = On for the LEDs][:blackboard :peripheral] [37:21][Review led_fade.c with our newfound understanding][:peripheral :research] [45:54][Closely read the LED changing code in conjunction with the documentation on the Pulse-Width Modulation (PWM) :Peripheral[ref site="SiFive Developers" page="Freedom E300 Platform Reference Manual" url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:research] [55:59][Reasoning about the duty cycle of the LEDs][:blackboard :peripheral :research] [1:03:31][Review the intuition behind the center-aligned waveform computation][:blackboard :peripheral :research] [1:06:13][That's gonna do it for this episode] [/video]