diff --git a/.obsidian/workspaces.json b/.obsidian/workspaces.json new file mode 100644 index 00000000..47f85370 --- /dev/null +++ b/.obsidian/workspaces.json @@ -0,0 +1,198 @@ +{ + "workspaces": { + "task_master": { + "main": { + "id": "9acdaefd89bfd05b", + "type": "split", + "children": [ + { + "id": "7860a3855250521b", + "type": "tabs", + "children": [ + { + "id": "f446cb1a27f0bd59", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "0 Managerial Pages/1 Task Dashboard.md", + "mode": "preview", + "source": false + }, + "icon": "lucide-file", + "title": "1 Task Dashboard" + } + } + ] + }, + { + "id": "1985378602a54327", + "type": "tabs", + "children": [ + { + "id": "72a82e0b37e63751", + "type": "leaf", + "state": { + "type": "full-calendar-view", + "state": {}, + "icon": "calendar-glyph", + "title": "Calendar" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "e5fa84f508f70d4a", + "type": "split", + "children": [ + { + "id": "7f6b5f16b83d9662", + "type": "tabs", + "children": [ + { + "id": "2ae31a6460a580c2", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "Files" + } + }, + { + "id": "5dcbb689e8ca2590", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Search" + } + }, + { + "id": "52955ed22e885f54", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Bookmarks" + } + } + ] + } + ], + "direction": "horizontal", + "width": 264.5 + }, + "right": { + "id": "6fb573180b35203e", + "type": "split", + "children": [ + { + "id": "d04fee9208814d29", + "type": "tabs", + "children": [ + { + "id": "9ac223f2f70c509e", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "file": "2 Cole Group Meeting Notes/Weekly Note 2025-03-18.md", + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Backlinks for Weekly Note 2025-03-18" + } + }, + { + "id": "eac2ce2689908506", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "2 Cole Group Meeting Notes/Weekly Note 2025-03-18.md", + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Outgoing links from Weekly Note 2025-03-18" + } + }, + { + "id": "2aaa48c81770326e", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "f2acfdc4f8875b73", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "2 Cole Group Meeting Notes/Weekly Note 2025-03-18.md", + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Outline of Weekly Note 2025-03-18" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false, + "workspaces:Manage workspace layouts": false, + "obsidian-full-calendar:Open Full Calendar": false, + "obsidian-git:Open Git source control": false, + "templater-obsidian:Templater": false + } + }, + "active": "2ae31a6460a580c2", + "mtime": "2025-03-27T14:09:34-04:00" + } + }, + "active": "task_master" +} \ No newline at end of file diff --git a/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua%2Fcustom.vim b/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua%2Fcustom.vim deleted file mode 100644 index ab57a1b1..00000000 --- a/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua%2Fcustom.vim +++ /dev/null @@ -1,43 +0,0 @@ -let SessionLoad = 1 -let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 -let v:this_session=expand(":p") -silent only -silent tabonly -cd ~/.config/nvim/lua/custom -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -let s:shortmess_save = &shortmess -if &shortmess =~ 'A' - set shortmess=aoOA -else - set shortmess=aoO -endif -argglobal -%argdel -argglobal -enew -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -tabnext 1 -if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 -let &shortmess = s:shortmess_save -let s:sx = expand(":p:r")."x.vim" -if filereadable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &g:so = s:so_save | let &g:siso = s:siso_save -set hlsearch -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua.vim b/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua.vim deleted file mode 100644 index e88d2281..00000000 --- a/.sessions/%2Fhome%2Fdanesabo%2F%2Econfig%2Fnvim%2Flua.vim +++ /dev/null @@ -1,43 +0,0 @@ -let SessionLoad = 1 -let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 -let v:this_session=expand(":p") -silent only -silent tabonly -cd ~/.config/nvim/lua -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -let s:shortmess_save = &shortmess -if &shortmess =~ 'A' - set shortmess=aoOA -else - set shortmess=aoO -endif -argglobal -%argdel -argglobal -enew -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -tabnext 1 -if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 -let &shortmess = s:shortmess_save -let s:sx = expand(":p:r")."x.vim" -if filereadable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &g:so = s:so_save | let &g:siso = s:siso_save -set hlsearch -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault%2F300s%20School%2FME%202150%20-%20High%20Assurance%20Cyber-Physical%20Systems.vim b/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault%2F300s%20School%2FME%202150%20-%20High%20Assurance%20Cyber-Physical%20Systems.vim deleted file mode 100644 index 140156c4..00000000 --- a/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault%2F300s%20School%2FME%202150%20-%20High%20Assurance%20Cyber-Physical%20Systems.vim +++ /dev/null @@ -1,53 +0,0 @@ -let SessionLoad = 1 -let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 -let v:this_session=expand(":p") -silent only -silent tabonly -cd ~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2150\ -\ High\ Assurance\ Cyber-Physical\ Systems -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -let s:shortmess_save = &shortmess -if &shortmess =~ 'A' - set shortmess=aoOA -else - set shortmess=aoO -endif -badd +15 2025-03-25\ Max\'s\ Lecture.md -argglobal -%argdel -edit 2025-03-25\ Max\'s\ Lecture.md -argglobal -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -silent! normal! zE -let &fdl = &fdl -let s:l = 15 - ((14 * winheight(0) + 30) / 60) -if s:l < 1 | let s:l = 1 | endif -keepjumps exe s:l -normal! zt -keepjumps 15 -normal! 049| -tabnext 1 -if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 -let &shortmess = s:shortmess_save -let s:sx = expand(":p:r")."x.vim" -if filereadable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &g:so = s:so_save | let &g:siso = s:siso_save -set hlsearch -nohlsearch -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault.vim b/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault.vim deleted file mode 100644 index 541ed4d9..00000000 --- a/.sessions/%2Fhome%2Fdanesabo%2FDocuments%2FDane%27s%20Vault.vim +++ /dev/null @@ -1,43 +0,0 @@ -let SessionLoad = 1 -let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 -let v:this_session=expand(":p") -silent only -silent tabonly -cd ~/Documents/Dane\'s\ Vault -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -let s:shortmess_save = &shortmess -if &shortmess =~ 'A' - set shortmess=aoOA -else - set shortmess=aoO -endif -argglobal -%argdel -argglobal -enew -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -tabnext 1 -if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 -let &shortmess = s:shortmess_save -let s:sx = expand(":p:r")."x.vim" -if filereadable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &g:so = s:so_save | let &g:siso = s:siso_save -set hlsearch -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/.sessions/Digital_Control_Theory.vim b/.sessions/Digital_Control_Theory.vim deleted file mode 100644 index f35a9731..00000000 --- a/.sessions/Digital_Control_Theory.vim +++ /dev/null @@ -1,96 +0,0 @@ -let SessionLoad = 1 -let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=-1 siso=-1 -let v:this_session=expand(":p") -silent only -silent tabonly -cd ~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2046\ -\ Digital\ Control\ Theory -if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' - let s:wipebuf = bufnr('%') -endif -let s:shortmess_save = &shortmess -if &shortmess =~ 'A' - set shortmess=aoOA -else - set shortmess=aoO -endif -badd +49 Project/Project_Proposal.md -argglobal -%argdel -edit Project/Project_Proposal.md -let s:save_splitbelow = &splitbelow -let s:save_splitright = &splitright -set splitbelow splitright -wincmd _ | wincmd | -vsplit -1wincmd h -wincmd w -let &splitbelow = s:save_splitbelow -let &splitright = s:save_splitright -wincmd t -let s:save_winminheight = &winminheight -let s:save_winminwidth = &winminwidth -set winminheight=0 -set winheight=1 -set winminwidth=0 -set winwidth=1 -exe 'vert 1resize ' . ((&columns * 112 + 112) / 224) -exe 'vert 2resize ' . ((&columns * 111 + 112) / 224) -argglobal -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -silent! normal! zE -let &fdl = &fdl -let s:l = 49 - ((45 * winheight(0) + 32) / 65) -if s:l < 1 | let s:l = 1 | endif -keepjumps exe s:l -normal! zt -keepjumps 49 -normal! 0345| -wincmd w -argglobal -if bufexists(fnamemodify("term://~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2046\ -\ Digital\ Control\ Theory//24828:/bin/bash", ":p")) | buffer term://~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2046\ -\ Digital\ Control\ Theory//24828:/bin/bash | else | edit term://~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2046\ -\ Digital\ Control\ Theory//24828:/bin/bash | endif -if &buftype ==# 'terminal' - silent file term://~/Documents/Dane\'s\ Vault/300s\ School/ME\ 2046\ -\ Digital\ Control\ Theory//24828:/bin/bash -endif -balt Project/Project_Proposal.md -setlocal fdm=manual -setlocal fde=0 -setlocal fmr={{{,}}} -setlocal fdi=# -setlocal fdl=0 -setlocal fml=1 -setlocal fdn=20 -setlocal fen -let s:l = 125 - ((64 * winheight(0) + 32) / 65) -if s:l < 1 | let s:l = 1 | endif -keepjumps exe s:l -normal! zt -keepjumps 125 -normal! 0 -wincmd w -exe 'vert 1resize ' . ((&columns * 112 + 112) / 224) -exe 'vert 2resize ' . ((&columns * 111 + 112) / 224) -tabnext 1 -if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' - silent exe 'bwipe ' . s:wipebuf -endif -unlet! s:wipebuf -set winheight=1 winwidth=20 -let &shortmess = s:shortmess_save -let &winminheight = s:save_winminheight -let &winminwidth = s:save_winminwidth -let s:sx = expand(":p:r")."x.vim" -if filereadable(s:sx) - exe "source " . fnameescape(s:sx) -endif -let &g:so = s:so_save | let &g:siso = s:siso_save -set hlsearch -doautoall SessionLoadPost -unlet SessionLoad -" vim: set ft=vim : diff --git a/.sessions/Sensor_Research.vim b/.sessions/Sensor_Research.vim index f59b5d74..b03008ed 100644 --- a/.sessions/Sensor_Research.vim +++ b/.sessions/Sensor_Research.vim @@ -13,13 +13,11 @@ if &shortmess =~ 'A' else set shortmess=aoO endif -badd +74 3-99\ Research/Sensors/Handbook\ of\ Modern\ Sensors/Chapter\ 4\ -\ Interface\ Electronic\ Circuits.md -badd +7 .sessions/nvim_config.vim +badd +19 3-99\ Research/Sensors/Handbook\ of\ Modern\ Sensors/Chapter\ 4\ -\ Interface\ Electronic\ Circuits.md argglobal %argdel -edit .sessions/nvim_config.vim +edit 3-99\ Research/Sensors/Handbook\ of\ Modern\ Sensors/Chapter\ 4\ -\ Interface\ Electronic\ Circuits.md argglobal -balt 3-99\ Research/Sensors/Handbook\ of\ Modern\ Sensors/Chapter\ 4\ -\ Interface\ Electronic\ Circuits.md setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} @@ -30,11 +28,11 @@ setlocal fdn=20 setlocal fen silent! normal! zE let &fdl = &fdl -let s:l = 7 - ((6 * winheight(0) + 30) / 60) +let s:l = 19 - ((0 * winheight(0) + 33) / 67) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt -keepjumps 7 +keepjumps 19 normal! 0 tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' diff --git a/.sessions/%2Fhome%2Fdanesabo%2FProjects%2FBeagleBone.vim b/.sessions/Thesis_Notes.vim similarity index 85% rename from .sessions/%2Fhome%2Fdanesabo%2FProjects%2FBeagleBone.vim rename to .sessions/Thesis_Notes.vim index 1548ab3b..3dda27e2 100644 --- a/.sessions/%2Fhome%2Fdanesabo%2FProjects%2FBeagleBone.vim +++ b/.sessions/Thesis_Notes.vim @@ -3,7 +3,7 @@ let s:so_save = &g:so | let s:siso_save = &g:siso | setg so=0 siso=0 | setl so=- let v:this_session=expand(":p") silent only silent tabonly -cd ~/Projects/BeagleBone +cd ~/Documents/Dane\'s\ Vault/5\ Thesis if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == '' let s:wipebuf = bufnr('%') endif @@ -13,11 +13,10 @@ if &shortmess =~ 'A' else set shortmess=aoO endif -badd +11 Murphy_Test_Code/helper.py -badd +1 health:// +badd +4 4\ Meetings/DGC_DAS_328.md argglobal %argdel -edit Murphy_Test_Code/helper.py +edit 4\ Meetings/DGC_DAS_328.md argglobal setlocal fdm=manual setlocal fde=0 @@ -29,12 +28,12 @@ setlocal fdn=20 setlocal fen silent! normal! zE let &fdl = &fdl -let s:l = 11 - ((10 * winheight(0) + 32) / 64) +let s:l = 4 - ((3 * winheight(0) + 5) / 11) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt -keepjumps 11 -normal! 0 +keepjumps 4 +normal! 03| tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf @@ -48,6 +47,7 @@ if filereadable(s:sx) endif let &g:so = s:so_save | let &g:siso = s:siso_save set hlsearch +nohlsearch doautoall SessionLoadPost unlet SessionLoad " vim: set ft=vim : diff --git a/.sessions/nvim_config.vim b/.sessions/nvim_config.vim index 083f46d1..ae0c6395 100644 --- a/.sessions/nvim_config.vim +++ b/.sessions/nvim_config.vim @@ -14,14 +14,15 @@ else set shortmess=aoO endif badd +17 ~/.config/nvim/lua/custom/plugins.lua -badd +9 ~/.config/nvim/lua/custom/configs/lspconfig.lua +badd +33 ~/.config/nvim/lua/custom/configs/lspconfig.lua badd +6 custom/configs/rust-tools.lua -badd +4 custom/init.lua +badd +5 custom/init.lua +badd +91 ~/.config/nvim/lua/custom/chadrc.lua argglobal %argdel edit custom/init.lua argglobal -balt ~/.config/nvim/lua/custom/configs/lspconfig.lua +balt ~/.config/nvim/lua/custom/chadrc.lua setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} @@ -32,12 +33,12 @@ setlocal fdn=20 setlocal fen silent! normal! zE let &fdl = &fdl -let s:l = 4 - ((3 * winheight(0) + 32) / 64) +let s:l = 11 - ((10 * winheight(0) + 27) / 55) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt -keepjumps 4 -normal! 028| +keepjumps 11 +normal! 0 tabnext 1 if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0 && getbufvar(s:wipebuf, '&buftype') isnot# 'terminal' silent exe 'bwipe ' . s:wipebuf diff --git a/1 Daily Notes/2025/2025-03-16.md b/1 Daily Notes/2025/2025-03-16.md index 961c2a39..fd84fd56 100644 --- a/1 Daily Notes/2025/2025-03-16.md +++ b/1 Daily Notes/2025/2025-03-16.md @@ -9,7 +9,7 @@ tags: [[ Weekly Note 2025-03-10]] # Summary ## What's the plan? -- [<] Make a travel itenerary for Amber's Feds #Personal ⏫ 📅 2025-03-21 +- [<] Make a travel itenerary for Amber's Feds #Personal ⏫ 📅 2025-04-10 ## What's the results! ```tasks diff --git a/201 Metadata/My Library.bib b/201 Metadata/My Library.bib index d90c9522..9321c3fb 100644 --- a/201 Metadata/My Library.bib +++ b/201 Metadata/My Library.bib @@ -7601,6 +7601,26 @@ for defect classification of TFT–LCD panels.pdf} file = {/home/danesabo/Zotero/storage/84GMPWDD/DBN for aircraft wing health monitoring DT.pdf} } +@article{linInnovativeSuccessiveApproximation2021, + title = {An {{Innovative Successive Approximation Register Analog-to-Digital Converter}} for a {{Nine-Axis Sensing System}}}, + author = {Lin, Chih-Hsuan and Wen, Kuei-Ann}, + date = {2021-03}, + journaltitle = {Journal of Low Power Electronics and Applications}, + volume = {11}, + number = {1}, + pages = {3}, + publisher = {Multidisciplinary Digital Publishing Institute}, + issn = {2079-9268}, + doi = {10.3390/jlpea11010003}, + url = {https://www.mdpi.com/2079-9268/11/1/3}, + urldate = {2025-03-28}, + abstract = {With nine-axis sensing systems in 5G smartphones, mobile power consumption has become increasingly important, and ultra-low-power (ULP) sensor circuits can decrease power consumption to tens of microwatts. This paper presents an innovative successive approximation register analog-to-digital converter, which comprises fine (three most significant bits (MSBs) plus course conversion (11 least significant bits (LSBs)) capacitive digital-to-analog converters (CDACs), ULP, four-mode reconfigurable resolution (9, 10, 11, or 12 bits), an internally generated clock, meta-detection, the switching base midpoint voltage (Vm) (SW-B-M), bit control logic, multi-phase control logic, fine (three MSBs) plus course conversion (11 LSBs) switch control logic, phase control logic, and an input signal plus negative voltage (VI + NEG) voltage generator. Then, the mechanism of the discrete Fourier transform (DFT)-based calibration is applied. The scalable voltage technique was used, and the analog/digital voltage was Vanalog (1.5 V) and Vdigital (0.9 V) to meet the specifications of the nine-axis ULP sensing system. The CDACs can reconfigure four-mode resolutions, 9–12 bits, for use in nine-axis sensor applications. The corresponding dynamic signal-to-noise and distortion ratio performance was 50.78, 58.53, 62.42, and 66.51 dB. In the 12-bit mode, the power consumption of the ADC was approximately 2.7 μW, and the corresponding figure of merit (FoM) was approximately 30.5 fJ for each conversion step.}, + issue = {1}, + langid = {english}, + keywords = {DFT-based,fine (3 MSBs) plus course conversion (11 LSBs) CDAC,reconfigurable,SAR-ADC}, + file = {/home/danesabo/Zotero/storage/DKEJCQ8S/Lin and Wen - 2021 - An Innovative Successive Approximation Register Analog-to-Digital Converter for a Nine-Axis Sensing.pdf} +} + @article{linUncertaintyQuantificationSoftware2021, title = {Uncertainty Quantification and Software Risk Analysis for Digital Twins in the Nearly Autonomous Management and Control Systems: {{A}} Review}, shorttitle = {Uncertainty Quantification and Software Risk Analysis for Digital Twins in the Nearly Autonomous Management and Control Systems}, diff --git a/300s School/ME 2046 - Digital Control Theory/2025-03-27 Iterative Learning Control.md b/300s School/ME 2046 - Digital Control Theory/2025-03-27 Iterative Learning Control.md new file mode 100644 index 00000000..392e2ec5 --- /dev/null +++ b/300s School/ME 2046 - Digital Control Theory/2025-03-27 Iterative Learning Control.md @@ -0,0 +1,14 @@ +The quick brown fox jumps over the lazy dog. The dog stays blissfully asleep. :) + +Iterative learning control is a control method that can only be implemented on +a computer, because the system itself can change over time. By nature of it +being iterative as well, it is most useful when it is a system that does a +repetitive task. + +> [!seealso] Lifting and the SAR ADC Interpolation +> Look deeper into lifting of digital control systems. May be relevant to the +> project and the partial time step thing. I think using a lifted output to the +> partial timesteps during an interpolation will reveal what it means for the +> system to be stable. + + diff --git a/300s School/ME 2046 - Digital Control Theory/ME 2046 - Digital Control Theory - README.md b/300s School/ME 2046 - Digital Control Theory/ME 2046 - Digital Control Theory - README.md index e479a914..7a25ec06 100644 --- a/300s School/ME 2046 - Digital Control Theory/ME 2046 - Digital Control Theory - README.md +++ b/300s School/ME 2046 - Digital Control Theory/ME 2046 - Digital Control Theory - README.md @@ -8,6 +8,7 @@ ## Files - [[2025-01-09 Sampling Theory.md]] - [[2025-01-16 The Z Transform.md]] +- [[2025-03-27 Iterative Learning Control.md]] - [[Homework 1.md]] - [[LQR Regulators.md]] - [[test.m]] diff --git a/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md b/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md index bce90b6b..bf19957f 100644 --- a/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md +++ b/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md @@ -12,26 +12,27 @@ expressed in memory. This creates an issue, where the continuous value of interest output by a sensor must be converted into a discrete equivalent that the controller can use. This step is processed by a special sensor interface circuit component called an analog to digital converter (ADC) -\cite{modern_sensor_handbook}. ADCs job are to interpret the continuous signal +\cite{modern_sensor_handbook}. ADCs jobs are to interpret the continuous signal of the sensor, and deliver the digital equivalent that can then be used for control. One type of ADC is especially common in microcontrollers today. The successive approximation (SAR) ADC converts analog signals to a digital equivalent by -comparing the input voltage to a series of reference voltages controlled by +first storing the signal at an instant (a Zero-Order-Hold like operation), and +then compares the input voltage to a series of reference voltages controlled by a logical circuit. This conversion compares the input first to the most significant bit of the digital representation, and evaluates whether the input voltage is above or below the reference value. If the input voltage is higher than this value, the corresponding digital value must have a `1` in that location, while if the input voltage is less than the reference, it -must have a `0` for that bit. The SAR ADC repeates this process for the number +must have a `0` for that bit. The SAR ADC repeats this process for the number of bits required to complete a sample (usually about 12 bits). This series of comparisons happens one bit at a time, and must happen in the order of most significant bit to least significant bit. SAR ARC components must balance three competing design requirements: power usage, sampling speed, and noise rejection \cite{paper_about_adc}. The internal -components of a SAR ADC are usually some configuration of capicitors that sample +components of a SAR ADC are usually some configuration of capacitors that sample voltage from a certain instant, hold that sample throughout comparison, and perform the comparisons themselves. All of these processes take a significant amount of time complete, and due to the requirements of SAR ADCs to reject @@ -46,4 +47,32 @@ This means for a ATMega328P microcontroller utilizing ADC conversion, the CPU may spend a significant amount of time between control computations just waiting for an updated sensor value. -There is potential that this waiting can be circumnavigated. *explain how SAR updates registers continuously for some devices. perhaps we can use first couple bits with a state estimator to make a guess what the final value will be and do control. then as we get mroe info, and with our model of the system, we can correct for how wrong we were* +There is potential that this waiting can be circumnavigated. If the memory +registers of the SAR ADC can be accessed while it is actively building a +sample, the first significant bits can be used in combination with a state +estimation to perform control while the rest of the sample is still being +generated. For this project, I will implement such a system. + +For this project, a simulated SAR ADC will be created. This simulated SAR ADC +will be created to mimic the register behavior of the SAR ADC found on the +ATMega328P, where the data registers are updated one by one on each clock cycle, +and a flag register is utilized to indicate a conversion has finished. This +simulated SAR ADC will be paired with a simulated controller fast enough to +make state estimates and issue control commands between batches of ADC +bits (3-4 bits per batch). This controller will estimate the state of the system +at this partial-sample, and combined with the current ADC readout, perform control. + +For a plant, I plan to use the case of a read head on a hard disk drive. Hard +disk drives require extreme precision to operate properly, and as such would +benefit from an extremely high speed control system. In my problem, I will model +this system as controlling the radial position of the read head, while modeling +the inertia of the read head apparatus and motor dynamics. In addition to these +effects, I will introduce a high frequency disturbance that represents turbulent +fluid interacting with the drive head, pushing it off of its ideal position. +The block diagram of this system is expressed in figure~\ref{fig}. + +If this project is successful, the higher inter-sample controller will have a +lower average error between the real head position and desired head position +when compared to the controller using only full ADC sampling. + + diff --git a/5 Thesis/4 Meetings/4 Meetings - README.md b/5 Thesis/4 Meetings/4 Meetings - README.md new file mode 100644 index 00000000..f3a5acc5 --- /dev/null +++ b/5 Thesis/4 Meetings/4 Meetings - README.md @@ -0,0 +1,8 @@ +# Table of Contents for 4 Meetings + +## Files +- [[DGC_DAS_328.md]] + +## Summary + +Generated by llama3.2:latest diff --git a/5 Thesis/4 Meetings/DGC_DAS_328.md b/5 Thesis/4 Meetings/DGC_DAS_328.md new file mode 100644 index 00000000..e9b00493 --- /dev/null +++ b/5 Thesis/4 Meetings/DGC_DAS_328.md @@ -0,0 +1,4 @@ +The quick brown fox jumps over the lazy dog. The dog stays blissfully asleep. :) + +# Things to discuss +1. diff --git a/5 Thesis/5 Thesis - README.md b/5 Thesis/5 Thesis - README.md index b43be595..33321e65 100644 --- a/5 Thesis/5 Thesis - README.md +++ b/5 Thesis/5 Thesis - README.md @@ -4,22 +4,12 @@ - [[1 Ideas/1 Ideas - README]] - [[2 Logs/2 Logs - README]] - [[3 Notes/3 Notes - README]] +- [[4 Meetings/4 Meetings - README]] ## Files - [[Thesis Thoughts.md]] - [[Things to Do.md]] ## Summary -# 5 Thesis Folder Contents - -The `5 Thesis` folder contains the following: - -* Three subdirectories for organizing notes: - + [[1 Ideas]] - + [[2 Logs]] - + [[3 Notes]] -* Two Markdown files: - + [[Thesis Thoughts.md]], a note on my initial thoughts and ideas for the thesis - + [[Things to Do.md]], a list of follow-up tasks and questions related to the thesis Generated by llama3.2:latest diff --git a/900s Calendars/Learning/2025-03-26 ME 2046 Project Proposal.md b/900s Calendars/Learning/2025-03-26 ME 2046 Project Proposal.md new file mode 100644 index 00000000..fc50c627 --- /dev/null +++ b/900s Calendars/Learning/2025-03-26 ME 2046 Project Proposal.md @@ -0,0 +1,8 @@ +--- +title: ME 2046 Project Proposal +allDay: false +startTime: 13:30 +endTime: 15:45 +date: 2025-03-26 +completed: null +--- diff --git a/900s Calendars/Learning/2025-03-27 ME2046 Project Proposal.md b/900s Calendars/Learning/2025-03-27 ME2046 Project Proposal.md new file mode 100644 index 00000000..61ab5648 --- /dev/null +++ b/900s Calendars/Learning/2025-03-27 ME2046 Project Proposal.md @@ -0,0 +1,8 @@ +--- +title: ME2046 Project Proposal +allDay: false +startTime: 10:14 +endTime: 11:15 +date: 2025-03-27 +completed: null +--- diff --git a/900s Calendars/Learning/2025-03-27 ME2046 Proposal.md b/900s Calendars/Learning/2025-03-27 ME2046 Proposal.md new file mode 100644 index 00000000..e88f4e99 --- /dev/null +++ b/900s Calendars/Learning/2025-03-27 ME2046 Proposal.md @@ -0,0 +1,8 @@ +--- +title: ME2046 Proposal +allDay: false +startTime: 14:15 +endTime: 16:00 +date: 2025-03-27 +completed: null +--- diff --git a/900s Calendars/Learning/Learning - README.md b/900s Calendars/Learning/Learning - README.md index 11705e71..2ee6dd38 100644 --- a/900s Calendars/Learning/Learning - README.md +++ b/900s Calendars/Learning/Learning - README.md @@ -35,6 +35,9 @@ - [[2025-03-21 Vim Shortcuts (Folding).md]] - [[2025-03-24 Read About ADC.md]] - [[2025-03-25 IDR.md]] +- [[2025-03-26 ME 2046 Project Proposal.md]] +- [[2025-03-27 ME2046 Project Proposal.md]] +- [[2025-03-27 ME2046 Proposal.md]] ## Summary diff --git a/900s Calendars/Personal/2025-03-28 Get engine stand from Gabe.md b/900s Calendars/Personal/2025-03-28 Get engine stand from Gabe.md new file mode 100644 index 00000000..b1b83de6 --- /dev/null +++ b/900s Calendars/Personal/2025-03-28 Get engine stand from Gabe.md @@ -0,0 +1,8 @@ +--- +title: Get engine stand from Gabe +allDay: false +startTime: 13:00 +endTime: 14:00 +date: 2025-03-28 +completed: null +--- diff --git a/900s Calendars/Personal/2025-03-28 Lewie Vet Appointment.md b/900s Calendars/Personal/2025-03-28 Lewie Vet Appointment.md new file mode 100644 index 00000000..8b441450 --- /dev/null +++ b/900s Calendars/Personal/2025-03-28 Lewie Vet Appointment.md @@ -0,0 +1,8 @@ +--- +title: Lewie Vet Appointment +allDay: false +startTime: 14:15 +endTime: 15:15 +date: 2025-03-28 +completed: null +--- diff --git a/900s Calendars/Personal/2025-03-28 Travel home.md b/900s Calendars/Personal/2025-03-28 Travel home.md new file mode 100644 index 00000000..88105401 --- /dev/null +++ b/900s Calendars/Personal/2025-03-28 Travel home.md @@ -0,0 +1,8 @@ +--- +title: Travel home +allDay: false +startTime: 11:00 +endTime: 11:30 +date: 2025-03-28 +completed: null +--- diff --git a/900s Calendars/Personal/Personal - README.md b/900s Calendars/Personal/Personal - README.md index 823a6c48..2bd08866 100644 --- a/900s Calendars/Personal/Personal - README.md +++ b/900s Calendars/Personal/Personal - README.md @@ -34,6 +34,9 @@ - [[2025-03-25 Walk tha DAWG.md]] - [[2025-03-26 Coffee Yak and Explore Med School.md]] - [[2025-03-26 Lunch.md]] +- [[2025-03-28 Get engine stand from Gabe.md]] +- [[2025-03-28 Lewie Vet Appointment.md]] +- [[2025-03-28 Travel home.md]] - [[2025-07-01 Arrive.md]] - [[2025-07-01 Churchill War Rooms.md]] - [[2025-07-01 London Eye.md]] diff --git a/900s Calendars/Research/2025-03-28 Manyu defense.md b/900s Calendars/Research/2025-03-28 Manyu defense.md new file mode 100644 index 00000000..c3ba9a56 --- /dev/null +++ b/900s Calendars/Research/2025-03-28 Manyu defense.md @@ -0,0 +1,8 @@ +--- +title: Manyu defense +allDay: false +startTime: 08:00 +endTime: 10:00 +date: 2025-03-28 +completed: null +--- diff --git a/900s Calendars/Research/Research - README.md b/900s Calendars/Research/Research - README.md index ccfe7347..c3990e23 100644 --- a/900s Calendars/Research/Research - README.md +++ b/900s Calendars/Research/Research - README.md @@ -24,6 +24,7 @@ - [[2025-03-24 Write about Chapter 4 from Modern Sensors Handbook.md]] - [[2025-03-25 Chat about secure platforms for seL4.md]] - [[2025-03-25 Fix Pyright for Neovim.md]] +- [[2025-03-28 Manyu defense.md]] ## Summary