The bad news:
- Finals are coming up. I’m seeing much cramming and hastily written code in my future.
The good news:
- I finished my LoxVM (see here for the repository). I ended up giving up on writing a garbage collector for the VM, since it turns out to be kind of hard to do graph problems in Rust. Not impossible, but more work that I expected. Schoolwork also started piling up, so I really wanted to finish this project so that I could focus on that stuff. In any case, I implemented classes and inheritance (which turned out to be pretty easy. Who knew?), which means I’m officially done with the compiler!
- I got a NEXYS A7 FPGA Training Board and am currently trying to follow the contents of the MIT Digital Electronics Lab course to better drill the fundamentals of FPGAs. I managed to write a little SPI controller and UART protocol (along with unit tests!), but I’m currently waiting on some auxiliary hardware to arrive to test on the real board.
- The theremin project stalled a bit, since I got stuck on designing the mixer topology to downshift the RF and LO signals to an audible range. I was referred to this site to study. I’ll try simulating some of these designs in LTSpice.
- I managed to pin down the software side of things for the POV fan (figured out how to do interrupts on the ESP32, and how to change the length of timer interrupts). I also managed to integrate the hall effect sensor with the rest of the system (needed to use the 5V rail on the SEEED Studio board to get the voltage level out of no-man’s land). The last step is nailing down the enclosure design (the motor housing is very janky), and then going through integration hell to get everything working.
Other news:
- I spend Thanksgiving with some friends. In the past, I’ve only celebrated Thanksgiving with my immediate family (since the rest of them are in India), and it was a small affair (We cook kori rotti together, watch some trashy Bollywood movies, and that’s about it). This time, there was a lot more food and a lot more people, which was a nice change of pace.
- Research is going well. A bit slow, but well in that I’m making progress.
- In the past couple of months, I refamiliarized myself with ROOT via reproducing a previous analysis cutflow for MilliQan slab detector using the updated geometry. I also set up a data generation system to reproduce some table top experiments to help calibrate the PMTs in the simulation. Next steps are figuring out how to modify the simulation parameters to match the photoelectron numbers recorded in the bench tests to align the simulation PMTs with the physical PMTs. This is needed so that we can get accurate background numbers for the production run.
- I’m working on automating transceiver tests for some Stratix H-Tile boards we have in the lab. The state of documentation for FPGAs, it turns out, is kind of funky. There are several 500+ page manuals which go into excruciatingly painful detail on how to run every possible tool in suite. Simultaneously, there are vast sections in said manuals which are either sparse on details, or which dump a bunch of techno-babble on you all at once, or somehow do both at the same time. The Altera forums aren’t very helpful either. Needless to say, it’s slow going to figure out what exactly needs to be done. I’ll figure it out eventually though.
That’s all. See you next time!