[video member=miotatsu stream_platform=twitch project=riscy title="Writing a PWM Speed Test" vod_platform=youtube id=q7ImzJNuxrs annotator=Miblo]
[0:07][Recap and set the stage for the day]
[0:26][Resume studying global_interrupts.c with a view to seeing how it uses the 16MHz clock speed[ref
    site="SiFive Developers"
    page="Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research]
[5:32][Determine to test the speed at which the HiFive1 is running using PWM Interrupts[ref
    site="SiFive Developers"
    page="Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral]
[7:50][@deathmaggedon][Ahoy]
[8:35][Create test.c based on led_fade.c][:programming]
[11:03][@deathmaggedon][I just noticed your board on the upper camera]
[12:06][Trim down test.c to the essentials][:programming]
[12:36][@deathmaggedon][Plug your phone into the board]
[13:47][Remove the LED blinking and :"input handling" code][:peripheral]
[18:48][Set up the pulse-width modulator[ref
    site="SiFive Developers"
    page="Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/] and the interrupts[ref
    site="SiFive Developers"
    page="Freedom E310-G000 Manual"
    url=https://www.sifive.com/documentation/chips/freedom-e310-g000-manual/]][:peripheral :programming]
[25:07][Consult the other demos to see how they set up the interrupts][:research]
[29:40][#include plic_driver.h and call PLIC_init()][:programming]
[32:25][Register and set up our table of interrupts][:programming]
[36:31][Introduce pwm_0_handler() and enable the interrupts][:peripheral :programming]
[41:11][Call the wfi instruction in a busy-loop][:asm :programming]
[42:44][Fix compile errors][:programming]
[44:32][Upload test.c to our HiFive1, connect and try to reset the board][:run]
[47:18][Try to set PWM_CMP0 to 0xFF0][:programming]
[47:53][Make clean and try to upload test.c to our board, before checking the SiFive Forums to see how to correctly make clean[ref
    site="SiFive Forums"
    page="What are you building with yours?"
    url=https://forums.sifive.com/t/what-are-you-building-with-yours/209/5]]
[50:59][Run make tools[ref
    site="SiFive Developers"
    page="SiFive HiFive1 Getting Started Guide"
    url=https://static.dev.sifive.com/dev-kits/hifive1/hifive1-getting-started-v1.0.3.pdf] and close the stream with a shout-out to new pledger while this runs]
[/video]
