newsletters:2024-04
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| newsletters:2024-04 [2024/05/01 22:51] – [Live USB] osnr | newsletters:2024-04 [2024/05/02 02:07] (current) – Add NYU specifics admin | ||
|---|---|---|---|
| Line 30: | Line 30: | ||
| (You can think of this as a replacement for most of the traditional [[https:// | (You can think of this as a replacement for most of the traditional [[https:// | ||
| - | It's in pretty good shape now -- you can flash the image to a USB stick, configure/ | + | It's in pretty good shape now: you download |
| + | |||
| + | {{: | ||
| + | |||
| + | Then you plug the USB stick into the PC that you want to run Folk, and the PC should boot right to a working network-connected Folk as long as you configured Wi-Fi and have /dev/video0 and display 0. | ||
| Some problems I encountered while building the live USB: | Some problems I encountered while building the live USB: | ||
| Line 39: | Line 43: | ||
| * although the writable partition has ended up being pretty cool and useful and inspiring | * although the writable partition has ended up being pretty cool and useful and inspiring | ||
| * way easier to update the live USB / live image and iterate on it since the OS doesn' | * way easier to update the live USB / live image and iterate on it since the OS doesn' | ||
| - | * makes Folk feel much more stable and appliance-like; | + | * makes Folk feel much more stable and appliance-like; |
| * feels kind of like microPython or something in how you can program it like a USB drive | * feels kind of like microPython or something in how you can program it like a USB drive | ||
| * Memory leak freezes/ | * Memory leak freezes/ | ||
| Line 47: | Line 51: | ||
| * Support configuring which display & camera to use at minimum, ideally support multiple (this is important for getting laptops to be useful Folk systems, since they already have a built-in webcam and display that you wouldn' | * Support configuring which display & camera to use at minimum, ideally support multiple (this is important for getting laptops to be useful Folk systems, since they already have a built-in webcam and display that you wouldn' | ||
| - | * Build out the setup process (calibration, | + | * Build out the setup process (calibration, |
| * Build/test the process of permanent installation to hard drive -- we've just been using it in live mode so far | * Build/test the process of permanent installation to hard drive -- we've just been using it in live mode so far | ||
| * Debug memory leak | * Debug memory leak | ||
| Line 55: | Line 59: | ||
| ==== folk-cnc ==== | ==== folk-cnc ==== | ||
| - | Omar: I've been porting [[https:// | + | Omar: I've been porting [[https:// |
| - | Then (at least for now) you use a Web UI (much like the one in Owen's system) to calibrate the preview to your projector & camera & CNC machine and the material that you want to cut, and you upload a gcode file to preview. Here's the Web UI: | + | Then, at least for now, you use a Web frontend |
| {{: | {{: | ||
| Line 137: | Line 141: | ||
| I wanted to count inter-frame delays on various subprocesses: | I wanted to count inter-frame delays on various subprocesses: | ||
| - | perf should provide a whole suite to count and plot and correlate | + | perf should provide a whole suite to count and plot and correlate |
| Here's how you provide an event to perf in your Folk code: | Here's how you provide an event to perf in your Folk code: | ||
| Line 153: | Line 157: | ||
| (although it took a bit [[https:// | (although it took a bit [[https:// | ||
| - | Counting perf events immediately paid off, because I figured out that (part of) the reason that folk2 is slow is probably that it does AprilTag detection in an infinite '' | + | Counting perf events immediately paid off, because I figured out from the above that (part of) the reason that folk2 is slow is probably that it does AprilTag detection in an infinite '' |
| and the reason I made the detection process an infinite loop was because the AprilTag detector, like all C objects, was only callable from the thread it was created on. So I decided it was time to do a C refactor I'd been meaning to do for a while, to make the detector callable from any thread, so we can call it from a normal When body that responds to the camera frame (which can get scheduled onto any thread). | and the reason I made the detection process an infinite loop was because the AprilTag detector, like all C objects, was only callable from the thread it was created on. So I decided it was time to do a C refactor I'd been meaning to do for a while, to make the detector callable from any thread, so we can call it from a normal When body that responds to the camera frame (which can get scheduled onto any thread). | ||
| Line 211: | Line 215: | ||
| It feels uglier now that 1. the C library object needs to get stored in the Tcl object so that Tcl methods can call into the C library and 2. we need to hook the '' | It feels uglier now that 1. the C library object needs to get stored in the Tcl object so that Tcl methods can call into the C library and 2. we need to hook the '' | ||
| - | At the very least, it would be good to make a construct on top of '' | + | At the very least, it would be good to make a construct on top of '' |
| ==== Friends and outreach ==== | ==== Friends and outreach ==== | ||
| Line 226: | Line 231: | ||
| * Continue to improve new parallel evaluator, especially performance, | * Continue to improve new parallel evaluator, especially performance, | ||
| * Maybe revisit RFID | * Maybe revisit RFID | ||
| - | * FIXME Andrés ITP show? | + | * Andrés |
| ===== Links we've enjoyed ===== | ===== Links we've enjoyed ===== | ||
newsletters/2024-04.1714603906.txt.gz · Last modified: by osnr
