From e53f832183a21b28f08819cba3bde1edb287e410 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:07:01 -0400 Subject: [PATCH 01/16] vault backup: 2025-03-27 13:07:01 --- .sessions/Digital_Control_Theory.vim | 14 ++++++++++++- .sessions/nvim_config.vim | 13 ++++++------ .../Project/Project_Proposal.md | 21 +++++++++++++++---- .../2025-03-26 ME 2046 Project Proposal.md | 8 +++++++ 4 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 900s Calendars/Learning/2025-03-26 ME 2046 Project Proposal.md diff --git a/.sessions/Digital_Control_Theory.vim b/.sessions/Digital_Control_Theory.vim index ff5c6297..03ac23fe 100644 --- a/.sessions/Digital_Control_Theory.vim +++ b/.sessions/Digital_Control_Theory.vim @@ -13,10 +13,11 @@ if &shortmess =~ 'A' else set shortmess=aoO endif +badd +32 Project/Project_Proposal.md argglobal %argdel +edit Project/Project_Proposal.md argglobal -enew setlocal fdm=manual setlocal fde=0 setlocal fmr={{{,}}} @@ -25,6 +26,17 @@ setlocal fdl=0 setlocal fml=1 setlocal fdn=20 setlocal fen +silent! normal! zE +32,47fold +let &fdl = &fdl +32 +normal! zo +let s:l = 32 - ((17 * winheight(0) + 27) / 55) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +keepjumps 32 +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/.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/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..21b6f916 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,7 +12,7 @@ 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. @@ -24,14 +24,14 @@ 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 +46,17 @@ 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 operating + +*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* + 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 +--- From e78ea7f96df058a3d2c884e2439ed6376b3a714f Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:09:04 -0400 Subject: [PATCH 02/16] vault backup: 2025-03-27 13:09:03 --- 900s Calendars/Learning/Learning - README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/900s Calendars/Learning/Learning - README.md b/900s Calendars/Learning/Learning - README.md index 11705e71..a26b0006 100644 --- a/900s Calendars/Learning/Learning - README.md +++ b/900s Calendars/Learning/Learning - README.md @@ -35,6 +35,7 @@ - [[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]] ## Summary From b320449c9d183e6efc5d7d8e7650198faf989a2e Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:25:38 -0400 Subject: [PATCH 03/16] vault backup: 2025-03-27 13:25:38 --- .../Learning/2025-03-27 ME2046 Project Proposal.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 900s Calendars/Learning/2025-03-27 ME2046 Project Proposal.md 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 +--- From 3d5b8a5f242258b972d36a21dcbb797cd15aa863 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:27:41 -0400 Subject: [PATCH 04/16] vault backup: 2025-03-27 13:27:41 --- 900s Calendars/Learning/Learning - README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/900s Calendars/Learning/Learning - README.md b/900s Calendars/Learning/Learning - README.md index a26b0006..9261739e 100644 --- a/900s Calendars/Learning/Learning - README.md +++ b/900s Calendars/Learning/Learning - README.md @@ -36,6 +36,7 @@ - [[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]] ## Summary From dc9a61ef380e19814beb8df22f161c0a69be5052 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:39:02 -0400 Subject: [PATCH 05/16] vault backup: 2025-03-27 13:39:01 --- 900s Calendars/Learning/2025-03-27 ME2046 Proposal.md | 8 ++++++++ .../Personal/2025-03-28 Get engine stand from Gabe.md | 8 ++++++++ .../Personal/2025-03-28 Lewie Vet Appointment.md | 8 ++++++++ 900s Calendars/Personal/2025-03-28 Travel home.md | 8 ++++++++ 900s Calendars/Research/2025-03-28 Manyu defense.md | 8 ++++++++ 5 files changed, 40 insertions(+) create mode 100644 900s Calendars/Learning/2025-03-27 ME2046 Proposal.md create mode 100644 900s Calendars/Personal/2025-03-28 Get engine stand from Gabe.md create mode 100644 900s Calendars/Personal/2025-03-28 Lewie Vet Appointment.md create mode 100644 900s Calendars/Personal/2025-03-28 Travel home.md create mode 100644 900s Calendars/Research/2025-03-28 Manyu defense.md 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/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/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 +--- From 3525672553e5992fe626d0832a6bd33b8ba37f52 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 13:42:55 -0400 Subject: [PATCH 06/16] vault backup: 2025-03-27 13:42:55 --- 1 Daily Notes/2025/2025-03-16.md | 2 +- 900s Calendars/Learning/Learning - README.md | 1 + 900s Calendars/Personal/Personal - README.md | 3 +++ 900s Calendars/Research/Research - README.md | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) 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/900s Calendars/Learning/Learning - README.md b/900s Calendars/Learning/Learning - README.md index 9261739e..2ee6dd38 100644 --- a/900s Calendars/Learning/Learning - README.md +++ b/900s Calendars/Learning/Learning - README.md @@ -37,6 +37,7 @@ - [[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/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/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 From b6a5b8708111813137436b30f2eba217971c0314 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 15:22:46 -0400 Subject: [PATCH 07/16] vault backup: 2025-03-27 15:22:46 --- .obsidian/workspaces.json | 198 ++++++++++++++++++ .sessions/Digital_Control_Theory.vim | 8 +- .sessions/Sensor_Research.vim | 10 +- .../Project/Project_Proposal.md | 7 +- 4 files changed, 212 insertions(+), 11 deletions(-) create mode 100644 .obsidian/workspaces.json 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/Digital_Control_Theory.vim b/.sessions/Digital_Control_Theory.vim index 03ac23fe..870b0dc0 100644 --- a/.sessions/Digital_Control_Theory.vim +++ b/.sessions/Digital_Control_Theory.vim @@ -13,7 +13,7 @@ if &shortmess =~ 'A' else set shortmess=aoO endif -badd +32 Project/Project_Proposal.md +badd +65 Project/Project_Proposal.md argglobal %argdel edit Project/Project_Proposal.md @@ -31,12 +31,12 @@ silent! normal! zE let &fdl = &fdl 32 normal! zo -let s:l = 32 - ((17 * winheight(0) + 27) / 55) +let s:l = 65 - ((54 * winheight(0) + 33) / 67) if s:l < 1 | let s:l = 1 | endif keepjumps exe s:l normal! zt -keepjumps 32 -normal! 0 +keepjumps 65 +normal! 057| 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/.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/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md b/300s School/ME 2046 - Digital Control Theory/Project/Project_Proposal.md index 21b6f916..d7995967 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 @@ -56,7 +56,12 @@ 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 operating +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 *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* From 4c9ca672ab386aaf2f40711ed79a8ed2b610bb70 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 15:28:02 -0400 Subject: [PATCH 08/16] vault backup: 2025-03-27 15:28:02 --- .../Project/Project_Proposal.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 d7995967..62aebc7a 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 @@ -62,6 +62,16 @@ 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 -*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* +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. + From 8ae18d865c07ab32d7b4e260fe5e150e7d5f174c Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 16:13:18 -0400 Subject: [PATCH 09/16] vault backup: 2025-03-27 16:13:18 --- .../2025-03-27 Iterative Learning Control.md | 0 .../Project/Project_Proposal.md | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 300s School/ME 2046 - Digital Control Theory/2025-03-27 Iterative Learning Control.md 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..e69de29b 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 62aebc7a..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 @@ -18,7 +18,8 @@ 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 From ab12a1d6ea48a23be8bade0f53003cfd346a29c8 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 16:15:21 -0400 Subject: [PATCH 10/16] vault backup: 2025-03-27 16:15:21 --- .../ME 2046 - Digital Control Theory - README.md | 1 + 1 file changed, 1 insertion(+) 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]] From cbf33c3f5ed0bbab74aaf47bcc06b56a4874542b Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 16:21:43 -0400 Subject: [PATCH 11/16] vault backup: 2025-03-27 16:21:43 --- .../2025-03-27 Iterative Learning Control.md | 6 ++++++ 1 file changed, 6 insertions(+) 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 index e69de29b..a5efd04e 100644 --- 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 @@ -0,0 +1,6 @@ +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. From 0a4f5480cf974952162aea257cd99e3c36d36abc Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 16:55:49 -0400 Subject: [PATCH 12/16] vault backup: 2025-03-27 16:55:49 --- .../2025-03-27 Iterative Learning Control.md | 3 +++ 1 file changed, 3 insertions(+) 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 index a5efd04e..8d87014a 100644 --- 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 @@ -4,3 +4,6 @@ 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. + +Look deeper into lifting of digital control systems. May be relevant to the +project and the partial time step thing. From 994ad8f8b00402c9c7e1e1e43866e4d8d31ac1a9 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Thu, 27 Mar 2025 17:02:06 -0400 Subject: [PATCH 13/16] vault backup: 2025-03-27 17:02:06 --- .../2025-03-27 Iterative Learning Control.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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 index 8d87014a..392e2ec5 100644 --- 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 @@ -5,5 +5,10 @@ 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. -Look deeper into lifting of digital control systems. May be relevant to the -project and the partial time step thing. +> [!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. + + From b4962f1fc6e0b852f769fab979caf1b3e3a23c91 Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Fri, 28 Mar 2025 09:45:21 -0400 Subject: [PATCH 14/16] vault backup: 2025-03-28 09:45:21 --- 201 Metadata/My Library.bib | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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}, From 12cb03b7a0971c17fb1d47973beb0527b10ab81d Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Fri, 28 Mar 2025 10:05:06 -0400 Subject: [PATCH 15/16] vault backup: 2025-03-28 10:05:06 --- .sessions/Thesis_Notes.vim | 53 ++++++++++++++++++++++++++++++ 5 Thesis/4 Meetings/DGC_DAS_328.md | 4 +++ 2 files changed, 57 insertions(+) create mode 100644 .sessions/Thesis_Notes.vim create mode 100644 5 Thesis/4 Meetings/DGC_DAS_328.md diff --git a/.sessions/Thesis_Notes.vim b/.sessions/Thesis_Notes.vim new file mode 100644 index 00000000..3dda27e2 --- /dev/null +++ b/.sessions/Thesis_Notes.vim @@ -0,0 +1,53 @@ +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/5\ Thesis +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 +4 4\ Meetings/DGC_DAS_328.md +argglobal +%argdel +edit 4\ Meetings/DGC_DAS_328.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 = 4 - ((3 * winheight(0) + 5) / 11) +if s:l < 1 | let s:l = 1 | endif +keepjumps exe s:l +normal! zt +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 +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/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. From 02c36f37221511051b30cf8fdbb37204f4673ddb Mon Sep 17 00:00:00 2001 From: Dane Sabo Date: Fri, 28 Mar 2025 10:07:08 -0400 Subject: [PATCH 16/16] vault backup: 2025-03-28 10:07:08 --- 5 Thesis/4 Meetings/4 Meetings - README.md | 8 ++++++++ 5 Thesis/5 Thesis - README.md | 12 +----------- 2 files changed, 9 insertions(+), 11 deletions(-) create mode 100644 5 Thesis/4 Meetings/4 Meetings - README.md 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/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