[video member=miotatsu stream_platform=twitch project=riscy title="Learning about the UART" vod_platform=youtube id=75WuPTW4vjs annotator=Miblo]
[0:09][Recap and set the stage for the day]
[1:01][Note ~Miblo's suggestion to use ctags to find function definitions, and continue the hunt for __atomic_fetch_xor()][:research]
[4:57][A few words on software emulation of features commonly associated with :hardware]
[6:21][Continue the hunt for __atomic_fetch_xor() in the GCC source code[ref
    site=GitHub
    page=gcc
    url=https://github.com/gcc-mirror/gcc]][:research]
[12:18][A few words on compilers performing their built-in operations in some cases, and falling back to your code in others][:experience]
[15:22][Continue the search for __atomic_fetch_xor()[ref
    site=GitHub
    page=gcc
    url=https://github.com/gcc-mirror/gcc]][:research]
[22:44][TODO: Read disassembly of an __atomic_fetch_xor to see what it does][:blackboard]
[25:20][Return to demo_gpio.c, recap our high level understandings and determine to study the UART][:blackboard]
[30:24][Read about the Universal Asynchronous Receiver/Transmitter (UART)[ref
    site="SiFive Developers"
    page="Freedom E300 Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research]
[40:07][A few words on the terminology "watermark" as a threshold][:research]
[41:45][Continue reading about the UART[ref
    site="SiFive Developers"
    page="Freedom E300 Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research]
[47:41][UART][:blackboard :peripheral]
[51:58][Consult the code for usages of the UART][:peripheral]
[56:02][Study uart_init() in init.c][:peripheral :research]
[57:45][Solve for div in the baud rate formula][:blackboard :peripheral]
[59:52][Note why [@cmuratori Casey] writes higher precedence operators without a space around them][:experience :mathematics]
[1:00:24][Continue studying uart_init()][:peripheral :research]
[1:02:12][Find Megan's reply regarding the LED brightness[ref
    site="SiFive Forums"
    page="The Big RISCY BUSINESS Question Thread"
    url=https://forums.sifive.com/t/the-big-riscy-business-question-thread/531/4]][:peripheral :research]
[1:07:01][Consult Megan's reply regarding the UART line dropping low, and the reason for the busy loop in uart_init()[ref
    site="SiFive Forums"
    page="Does anyone else have problems with output?"
    url=https://forums.sifive.com/t/does-anyone-else-have-problems-with-output/446/4]][:peripheral :research]
[1:09:21][Consult table 12.2 on common baud rates[ref
    site="SiFive Developers"
    page="Freedom E300 Platform Reference Manual"
    url=https://www.sifive.com/documentation/freedom-soc/freedom-e300-platform-reference-manual/]][:peripheral :research]
[1:10:56][Wonder if the error in the baud rate would cause transmission to drift][:peripheral :research]
[1:11:54][We're out of time for today, with a note of the June 1 stream being moved to 23:00 CDT and hopes that ~insobot will be smart enough to pick up the rescheduling]
[/video]
