commit 6c332e722ac1f2a3d67b8909290f517c67c4dae4 Author: Nam Tran Date: Mon Oct 12 15:38:02 2020 -0500 init this repo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22fe0d3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +attic/ +cache/ +index/ +locks/ +meta/ +media_attic/ +media_meta/ +tmp/ + +*.php +.htaccess.dist + +COPYING +README +VERSION + +.htaccess +_dummy +deleted.files +security.png +security.xcf diff --git a/media/computing/arduino.png b/media/computing/arduino.png new file mode 100644 index 0000000..aac706b Binary files /dev/null and b/media/computing/arduino.png differ diff --git a/media/computing/esp32-1.jpg b/media/computing/esp32-1.jpg new file mode 100644 index 0000000..34a71c2 Binary files /dev/null and b/media/computing/esp32-1.jpg differ diff --git a/media/computing/mh-et_devkit.jpg b/media/computing/mh-et_devkit.jpg new file mode 100644 index 0000000..6e2f73f Binary files /dev/null and b/media/computing/mh-et_devkit.jpg differ diff --git a/media/computing/pasted/pc-logo.png b/media/computing/pasted/pc-logo.png new file mode 100644 index 0000000..3ec078e Binary files /dev/null and b/media/computing/pasted/pc-logo.png differ diff --git a/media/computing/personal_computer_pentium_i_586.jpg b/media/computing/personal_computer_pentium_i_586.jpg new file mode 100644 index 0000000..655dea5 Binary files /dev/null and b/media/computing/personal_computer_pentium_i_586.jpg differ diff --git a/media/computing/rpi.png b/media/computing/rpi.png new file mode 100644 index 0000000..c400151 Binary files /dev/null and b/media/computing/rpi.png differ diff --git a/media/electronics/625px-esp32_espressif_esp-wroom-32_dev_board.jpg b/media/electronics/625px-esp32_espressif_esp-wroom-32_dev_board.jpg new file mode 100644 index 0000000..9ec5651 Binary files /dev/null and b/media/electronics/625px-esp32_espressif_esp-wroom-32_dev_board.jpg differ diff --git a/media/favicon-114.png b/media/favicon-114.png new file mode 100644 index 0000000..51ac217 Binary files /dev/null and b/media/favicon-114.png differ diff --git a/media/favicon-120.png b/media/favicon-120.png new file mode 100644 index 0000000..d28ac52 Binary files /dev/null and b/media/favicon-120.png differ diff --git a/media/favicon-144.png b/media/favicon-144.png new file mode 100644 index 0000000..e56696e Binary files /dev/null and b/media/favicon-144.png differ diff --git a/media/favicon-150.png b/media/favicon-150.png new file mode 100644 index 0000000..a9210f8 Binary files /dev/null and b/media/favicon-150.png differ diff --git a/media/favicon-152.png b/media/favicon-152.png new file mode 100644 index 0000000..3c7e60e Binary files /dev/null and b/media/favicon-152.png differ diff --git a/media/favicon-16.png b/media/favicon-16.png new file mode 100644 index 0000000..5bc1f7d Binary files /dev/null and b/media/favicon-16.png differ diff --git a/media/favicon-160.png b/media/favicon-160.png new file mode 100644 index 0000000..76b7352 Binary files /dev/null and b/media/favicon-160.png differ diff --git a/media/favicon-180.png b/media/favicon-180.png new file mode 100644 index 0000000..c329864 Binary files /dev/null and b/media/favicon-180.png differ diff --git a/media/favicon-192.png b/media/favicon-192.png new file mode 100644 index 0000000..9e1e1ad Binary files /dev/null and b/media/favicon-192.png differ diff --git a/media/favicon-310.png b/media/favicon-310.png new file mode 100644 index 0000000..dedcabf Binary files /dev/null and b/media/favicon-310.png differ diff --git a/media/favicon-32.png b/media/favicon-32.png new file mode 100644 index 0000000..fc4ae8b Binary files /dev/null and b/media/favicon-32.png differ diff --git a/media/favicon-57.png b/media/favicon-57.png new file mode 100644 index 0000000..17e22a1 Binary files /dev/null and b/media/favicon-57.png differ diff --git a/media/favicon-60.png b/media/favicon-60.png new file mode 100644 index 0000000..3781baa Binary files /dev/null and b/media/favicon-60.png differ diff --git a/media/favicon-64.png b/media/favicon-64.png new file mode 100644 index 0000000..8b02bc2 Binary files /dev/null and b/media/favicon-64.png differ diff --git a/media/favicon-70.png b/media/favicon-70.png new file mode 100644 index 0000000..f4b9a5b Binary files /dev/null and b/media/favicon-70.png differ diff --git a/media/favicon-72.png b/media/favicon-72.png new file mode 100644 index 0000000..596afd0 Binary files /dev/null and b/media/favicon-72.png differ diff --git a/media/favicon-76.png b/media/favicon-76.png new file mode 100644 index 0000000..f556a39 Binary files /dev/null and b/media/favicon-76.png differ diff --git a/media/favicon-96.png b/media/favicon-96.png new file mode 100644 index 0000000..7251a81 Binary files /dev/null and b/media/favicon-96.png differ diff --git a/media/favicon.ico b/media/favicon.ico new file mode 100644 index 0000000..4f8b60e Binary files /dev/null and b/media/favicon.ico differ diff --git a/media/logo.png b/media/logo.png new file mode 100644 index 0000000..b2959ab Binary files /dev/null and b/media/logo.png differ diff --git a/media/work/alcap-logo.png b/media/work/alcap-logo.png new file mode 100644 index 0000000..f402802 Binary files /dev/null and b/media/work/alcap-logo.png differ diff --git a/media/work/gm2/esq/bu_controller/bu_controller_block_diagram.png b/media/work/gm2/esq/bu_controller/bu_controller_block_diagram.png new file mode 100644 index 0000000..517ef3b Binary files /dev/null and b/media/work/gm2/esq/bu_controller/bu_controller_block_diagram.png differ diff --git a/media/work/gm2/esq/bu_controller/bu_controller_front_panel.png b/media/work/gm2/esq/bu_controller/bu_controller_front_panel.png new file mode 100644 index 0000000..d5622ca Binary files /dev/null and b/media/work/gm2/esq/bu_controller/bu_controller_front_panel.png differ diff --git a/media/work/gm2/esq/bu_controller/io_numbering.png b/media/work/gm2/esq/bu_controller/io_numbering.png new file mode 100644 index 0000000..5cc82cb Binary files /dev/null and b/media/work/gm2/esq/bu_controller/io_numbering.png differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201007_202452451.jpg b/media/work/gm2/esq/bu_controller/pxl_20201007_202452451.jpg new file mode 100644 index 0000000..28bcb6c Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201007_202452451.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201007_210215108.jpg b/media/work/gm2/esq/bu_controller/pxl_20201007_210215108.jpg new file mode 100644 index 0000000..78d5dcb Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201007_210215108.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_190526636.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_190526636.jpg new file mode 100644 index 0000000..ac31f0f Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_190526636.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_190541385.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_190541385.jpg new file mode 100644 index 0000000..21fce0d Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_190541385.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191532389.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191532389.jpg new file mode 100644 index 0000000..fad47b3 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191532389.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191547871.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191547871.jpg new file mode 100644 index 0000000..34c30ed Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191547871.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191643263.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191643263.jpg new file mode 100644 index 0000000..5fe2935 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191643263.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191710289.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191710289.jpg new file mode 100644 index 0000000..40295c6 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191710289.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191730525.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191730525.jpg new file mode 100644 index 0000000..ccdc5ee Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191730525.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191757168.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191757168.jpg new file mode 100644 index 0000000..17ca579 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191757168.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191758570.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191758570.jpg new file mode 100644 index 0000000..ce29cde Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191758570.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191806670.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191806670.jpg new file mode 100644 index 0000000..cf0b94d Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191806670.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191818632.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191818632.jpg new file mode 100644 index 0000000..c603594 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191818632.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_191821833.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_191821833.jpg new file mode 100644 index 0000000..265a204 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_191821833.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_194714818.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_194714818.jpg new file mode 100644 index 0000000..79b3470 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_194714818.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_195009724.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_195009724.jpg new file mode 100644 index 0000000..a9c32bd Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_195009724.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_195535792.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_195535792.jpg new file mode 100644 index 0000000..0e9de03 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_195535792.jpg differ diff --git a/media/work/gm2/esq/bu_controller/pxl_20201008_195613934.jpg b/media/work/gm2/esq/bu_controller/pxl_20201008_195613934.jpg new file mode 100644 index 0000000..dc78369 Binary files /dev/null and b/media/work/gm2/esq/bu_controller/pxl_20201008_195613934.jpg differ diff --git a/media/work/gm2logo.png b/media/work/gm2logo.png new file mode 100644 index 0000000..d0b1f59 Binary files /dev/null and b/media/work/gm2logo.png differ diff --git a/media/work/mu2e_logo_400x248.jpeg b/media/work/mu2e_logo_400x248.jpeg new file mode 100644 index 0000000..7bb5d76 Binary files /dev/null and b/media/work/mu2e_logo_400x248.jpeg differ diff --git a/media/work/nu-logo.png b/media/work/nu-logo.png new file mode 100644 index 0000000..49145ee Binary files /dev/null and b/media/work/nu-logo.png differ diff --git a/media/work/pasted/comet-logo.png b/media/work/pasted/comet-logo.png new file mode 100644 index 0000000..bd8c0a3 Binary files /dev/null and b/media/work/pasted/comet-logo.png differ diff --git a/pages/computing.txt b/pages/computing.txt new file mode 100644 index 0000000..518b326 --- /dev/null +++ b/pages/computing.txt @@ -0,0 +1,2 @@ +{{tag>[computing]}} +{{ computing:personal_computer_pentium_i_586.jpg?400 |}} \ No newline at end of file diff --git a/pages/computing/electronics.txt b/pages/computing/electronics.txt new file mode 100644 index 0000000..30f95bf --- /dev/null +++ b/pages/computing/electronics.txt @@ -0,0 +1,2 @@ +[[computing:electronics:arduino|{{computing:arduino.png?0x100}}]] [[computing:electronics:esp32|{{computing:esp32-1.jpg?0x100}}]] +[[computing:electronics:rpi|{{computing:rpi.png?0x100}}]] diff --git a/pages/computing/mac/brew-install-custom-version-of-a-package.txt b/pages/computing/mac/brew-install-custom-version-of-a-package.txt new file mode 100644 index 0000000..7048987 --- /dev/null +++ b/pages/computing/mac/brew-install-custom-version-of-a-package.txt @@ -0,0 +1,17 @@ +The verilator 4.100 breaks with some error about C++11 flag. + +Wanted to go back to version 4.036 + * Remove the current version: ''brew remove verilator'' + * Go to Homebrew repo dir: ''cd "$(brew --repo homebrew/core)"'' + * Find correct commit: ''git log master -- Formula/verilator.rb'' + +commit 86447d2239a9ebc4d98607fd4ae5b034d3349c02 +Author: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com> +Date: Tue Jun 9 20:06:50 2020 +0000 + + verilator: update 4.036 bottle. + + * Go back to that certain commit: ''git co 86447d2239a9ebc4d98607fd4ae5b034d3349c02'' + * Then install: ''HOMEBREW_NO_AUTO_UPDATE=1 brew install verilator'' + * And pin this version: ''brew pin verilator'' + * Finally go back to the master branch: ''git co master'' \ No newline at end of file diff --git a/pages/computing/self-host.txt b/pages/computing/self-host.txt new file mode 100644 index 0000000..d5425db --- /dev/null +++ b/pages/computing/self-host.txt @@ -0,0 +1,3 @@ +Self-hosted services: + * [[computing:self-host:ssl-cert|SSL certificates]] + * [[computing:self-host:cloud|Nextcloud]] \ No newline at end of file diff --git a/pages/electronics/esp32.txt b/pages/electronics/esp32.txt new file mode 100644 index 0000000..a832404 --- /dev/null +++ b/pages/electronics/esp32.txt @@ -0,0 +1,4 @@ +====== ESP32 ====== +ESP32 is a small processor designed for IoT applications. + +{{electronics:625px-esp32_espressif_esp-wroom-32_dev_board.jpg}} \ No newline at end of file diff --git a/pages/home.txt b/pages/home.txt new file mode 100644 index 0000000..d3a2e8b --- /dev/null +++ b/pages/home.txt @@ -0,0 +1,10 @@ +Available topics + * [[computing|Computing]] + * [[computing:self-host|Self-hosted]] + * [[computing:electronics|Electronics]] + * [[work|Work related]] + * [[work:mu2e|Mu2e]] + * [[work:gm2|GM2]] + * [[work:alcap|AlCap]] + * [[work:comet|COMET]] + * [[work:nugroup|NuGroup]] diff --git a/pages/sidebar.txt b/pages/sidebar.txt new file mode 100644 index 0000000..4f3389a --- /dev/null +++ b/pages/sidebar.txt @@ -0,0 +1 @@ +{{indexmenu>..|navbar context}} \ No newline at end of file diff --git a/pages/wiki/dokuwiki.txt b/pages/wiki/dokuwiki.txt new file mode 100644 index 0000000..1e5a198 --- /dev/null +++ b/pages/wiki/dokuwiki.txt @@ -0,0 +1,62 @@ +====== DokuWiki ====== + +[[doku>wiki:dokuwiki|{{wiki:dokuwiki-128.png }}]] DokuWiki is a simple to use and highly versatile Open Source [[wp>wiki]] software that doesn't require a database. It is loved by users for its clean and readable [[wiki:syntax]]. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in [[doku>acl|access controls]] and [[doku>auth|authentication connectors]] make DokuWiki especially useful in the enterprise context and the large number of [[doku>plugins]] contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki. + +Read the [[doku>manual|DokuWiki Manual]] to unleash the full power of DokuWiki. + +===== Download ===== + +DokuWiki is available at https://download.dokuwiki.org/ + + +===== Read More ===== + +All documentation and additional information besides the [[syntax|syntax description]] is maintained in the DokuWiki at [[doku>|www.dokuwiki.org]]. + +**About DokuWiki** + + * [[doku>features|A feature list]] :!: + * [[doku>users|Happy Users]] + * [[doku>press|Who wrote about it]] + * [[doku>blogroll|What Bloggers think]] + * [[https://www.wikimatrix.org/show/DokuWiki|Compare it with other wiki software]] + +**Installing DokuWiki** + + * [[doku>requirements|System Requirements]] + * [[https://download.dokuwiki.org/|Download DokuWiki]] :!: + * [[doku>changes|Change Log]] + * [[doku>Install|How to install or upgrade]] :!: + * [[doku>config|Configuration]] + +**Using DokuWiki** + + * [[doku>syntax|Wiki Syntax]] + * [[doku>manual|The manual]] :!: + * [[doku>FAQ|Frequently Asked Questions (FAQ)]] + * [[doku>glossary|Glossary]] + +**Customizing DokuWiki** + + * [[doku>tips|Tips and Tricks]] + * [[doku>Template|How to create and use templates]] + * [[doku>plugins|Installing plugins]] + * [[doku>development|Development Resources]] + +**DokuWiki Feedback and Community** + + * [[doku>newsletter|Subscribe to the newsletter]] :!: + * [[doku>mailinglist|Join the mailing list]] + * [[https://forum.dokuwiki.org|Check out the user forum]] + * [[doku>irc|Talk to other users in the IRC channel]] + * [[https://github.com/splitbrain/dokuwiki/issues|Submit bugs and feature wishes]] + * [[doku>thanks|Some humble thanks]] + + +===== Copyright ===== + +2004-2020 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[https://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community + +The DokuWiki engine is licensed under [[https://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). + +Not sure what this means? See the [[doku>faq:license|FAQ on the Licenses]]. diff --git a/pages/wiki/syntax.txt b/pages/wiki/syntax.txt new file mode 100644 index 0000000..bf36c08 --- /dev/null +++ b/pages/wiki/syntax.txt @@ -0,0 +1,525 @@ +====== Formatting Syntax ====== + +[[doku>DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing "Edit this page". If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>toolbar|quickbuttons]], too. + +===== Basic Text Formatting ===== + +DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts. Of course you can **__//''combine''//__** all these. + + DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts. + Of course you can **__//''combine''//__** all these. + +You can use subscript and superscript, too. + + You can use subscript and superscript, too. + +You can mark something as deleted as well. + + You can mark something as deleted as well. + +**Paragraphs** are created from blank lines. If you want to **force a newline** without a paragraph, you can use two backslashes followed by a whitespace or the end of line. + +This is some text with some linebreaks\\ Note that the +two backslashes are only recognized at the end of a line\\ +or followed by\\ a whitespace \\this happens without it. + + This is some text with some linebreaks\\ Note that the + two backslashes are only recognized at the end of a line\\ + or followed by\\ a whitespace \\this happens without it. + +You should use forced newlines only if really needed. + +===== Links ===== + +DokuWiki supports multiple ways of creating links. + +==== External ==== + +External links are recognized automagically: http://www.google.com or simply www.google.com - You can set the link text as well: [[http://www.google.com|This Link points to google]]. Email addresses like this one: are recognized, too. + + DokuWiki supports multiple ways of creating links. External links are recognized + automagically: http://www.google.com or simply www.google.com - You can set + link text as well: [[http://www.google.com|This Link points to google]]. Email + addresses like this one: are recognized, too. + +==== Internal ==== + +Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]]. + + Internal links are created by using square brackets. You can either just give + a [[pagename]] or use an additional [[pagename|link text]]. + +[[doku>pagename|Wiki pagenames]] are converted to lowercase automatically, special characters are not allowed. + +You can use [[some:namespaces]] by using a colon in the pagename. + + You can use [[some:namespaces]] by using a colon in the pagename. + +For details about namespaces see [[doku>namespaces]]. + +Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to [[syntax#internal|this Section]]. + + This links to [[syntax#internal|this Section]]. + +Notes: + + * Links to [[syntax|existing pages]] are shown in a different style from [[nonexisting]] ones. + * DokuWiki does not use [[wp>CamelCase]] to automatically create links by default, but this behavior can be enabled in the [[doku>config]] file. Hint: If DokuWiki is a link, then it's enabled. + * When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much. + +==== Interwiki ==== + +DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. + + DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. + For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. + +==== Windows Shares ==== + +Windows shares like [[\\server\share|this]] are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate [[wp>Intranet]]. + + Windows Shares like [[\\server\share|this]] are recognized, too. + +Notes: + + * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). + * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/lang/en/lang.php'' (more details at [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|localization]]): + + +==== Image Links ==== + +You can also use an image to link to another internal or external page by combining the syntax for links and [[#images_and_other_files|images]] (see below) like this: + + [[http://php.net|{{wiki:dokuwiki-128.png}}]] + +[[http://php.net|{{wiki:dokuwiki-128.png}}]] + +Please note: The image formatting is the only formatting syntax accepted in link names. + +The whole [[#images_and_other_files|image]] and [[#links|link]] syntax is supported (including image resizing, internal and external images and URLs and interwiki links). + +===== Footnotes ===== + +You can add footnotes ((This is a footnote)) by using double parentheses. + + You can add footnotes ((This is a footnote)) by using double parentheses. + +===== Sectioning ===== + +You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically -- this can be disabled by including the string ''~~NOTOC~~'' in the document. + +==== Headline Level 3 ==== +=== Headline Level 4 === +== Headline Level 5 == + + ==== Headline Level 3 ==== + === Headline Level 4 === + == Headline Level 5 == + +By using four or more dashes, you can make a horizontal line: + +---- + +===== Media Files ===== + +You can include external and internal [[doku>images|images, videos and audio files]] with curly brackets. Optionally you can specify the size of them. + +Real size: {{wiki:dokuwiki-128.png}} + +Resize to given width: {{wiki:dokuwiki-128.png?50}} + +Resize to given width and height((when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing)): {{wiki:dokuwiki-128.png?200x50}} + +Resized external image:           {{https://secure.php.net/images/php.gif?200x50}} + + Real size: {{wiki:dokuwiki-128.png}} + Resize to given width: {{wiki:dokuwiki-128.png?50}} + Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}} + Resized external image:           {{https://secure.php.net/images/php.gif?200x50}} + + +By using left or right whitespaces you can choose the alignment. + +{{ wiki:dokuwiki-128.png}} + +{{wiki:dokuwiki-128.png }} + +{{ wiki:dokuwiki-128.png }} + + {{ wiki:dokuwiki-128.png}} + {{wiki:dokuwiki-128.png }} + {{ wiki:dokuwiki-128.png }} + +Of course, you can add a title (displayed as a tooltip by most browsers), too. + +{{ wiki:dokuwiki-128.png |This is the caption}} + + {{ wiki:dokuwiki-128.png |This is the caption}} + +For linking an image to another page see [[#Image Links]] above. + +==== Supported Media Formats ==== + +DokuWiki can embed the following media formats directly. + +| Image | ''gif'', ''jpg'', ''png'' | +| Video | ''webm'', ''ogv'', ''mp4'' | +| Audio | ''ogg'', ''mp3'', ''wav'' | +| Flash | ''swf'' | + +If you specify a filename that is not a supported media format, then it will be displayed as a link instead. + +By adding ''?linkonly'' you provide a link to the media without displaying it inline + + {{wiki:dokuwiki-128.png?linkonly}} + +{{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image. + +==== Fallback Formats ==== + +Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility. + +For example consider this embedded mp4 video: + + {{video.mp4|A funny video}} + +When you upload a ''video.webm'' and ''video.ogv'' next to the referenced ''video.mp4'', DokuWiki will automatically add them as alternatives so that one of the three files is understood by your browser. + +Additionally DokuWiki supports a "poster" image which will be shown before the video has started. That image needs to have the same filename as the video and be either a jpg or png file. In the example above a ''video.jpg'' file would work. + +===== Lists ===== + +Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a ''*'' for unordered lists or a ''-'' for ordered ones. + + * This is a list + * The second item + * You may have different levels + * Another item + + - The same list but ordered + - Another item + - Just use indention for deeper levels + - That's it + + + * This is a list + * The second item + * You may have different levels + * Another item + + - The same list but ordered + - Another item + - Just use indention for deeper levels + - That's it + + +Also take a look at the [[doku>faq:lists|FAQ on list items]]. + +===== Text Conversions ===== + +DokuWiki can convert certain pre-defined characters or strings into images or other text or HTML. + +The text to image conversion is mainly done for smileys. And the text to HTML conversion is used for typography replacements, but can be configured to use other HTML as well. + +==== Text to Image Conversions ==== + +DokuWiki converts commonly used [[wp>emoticon]]s to their graphical equivalents. Those [[doku>Smileys]] and other images can be configured and extended. Here is an overview of Smileys included in DokuWiki: + + * 8-) %% 8-) %% + * 8-O %% 8-O %% + * :-( %% :-( %% + * :-) %% :-) %% + * =) %% =) %% + * :-/ %% :-/ %% + * :-\ %% :-\ %% + * :-? %% :-? %% + * :-D %% :-D %% + * :-P %% :-P %% + * :-O %% :-O %% + * :-X %% :-X %% + * :-| %% :-| %% + * ;-) %% ;-) %% + * ^_^ %% ^_^ %% + * :?: %% :?: %% + * :!: %% :!: %% + * LOL %% LOL %% + * FIXME %% FIXME %% + * DELETEME %% DELETEME %% + +==== Text to HTML Conversions ==== + +Typography: [[DokuWiki]] can convert simple text characters to their typographically correct entities. Here is an example of recognized characters. + +-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) +"He thought 'It's a man's world'..." + + +-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r) +"He thought 'It's a man's world'..." + + +The same can be done to produce any kind of HTML, it just needs to be added to the [[doku>entities|pattern file]]. + +There are three exceptions which do not come from that pattern file: multiplication entity (640x480), 'single' and "double quotes". They can be turned off through a [[doku>config:typography|config option]]. + +===== Quoting ===== + +Some times you want to mark some text to show it's a reply or comment. You can use the following syntax: + + +I think we should do it + +> No we shouldn't + +>> Well, I say we should + +> Really? + +>> Yes! + +>>> Then lets do it! + + +I think we should do it + +> No we shouldn't + +>> Well, I say we should + +> Really? + +>> Yes! + +>>> Then lets do it! + +===== Tables ===== + +DokuWiki supports a simple syntax to create tables. + +^ Heading 1 ^ Heading 2 ^ Heading 3 ^ +| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | +| Row 2 Col 1 | some colspan (note the double pipe) || +| Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | + +Table rows have to start and end with a ''|'' for normal rows or a ''^'' for headers. + + ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ + | Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 | + | Row 2 Col 1 | some colspan (note the double pipe) || + | Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 | + +To connect cells horizontally, just make the next cell completely empty as shown above. Be sure to have always the same amount of cell separators! + +Vertical tableheaders are possible, too. + +| ^ Heading 1 ^ Heading 2 ^ +^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 | +^ Heading 4 | no colspan this time | | +^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | + +As you can see, it's the cell separator before a cell which decides about the formatting: + + | ^ Heading 1 ^ Heading 2 ^ + ^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 | + ^ Heading 4 | no colspan this time | | + ^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 | + +You can have rowspans (vertically connected cells) by adding ''%%:::%%'' into the cells below the one to which they should connect. + +^ Heading 1 ^ Heading 2 ^ Heading 3 ^ +| Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | +| Row 2 Col 1 | ::: | Row 2 Col 3 | +| Row 3 Col 1 | ::: | Row 2 Col 3 | + +Apart from the rowspan syntax those cells should not contain anything else. + + ^ Heading 1 ^ Heading 2 ^ Heading 3 ^ + | Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 | + | Row 2 Col 1 | ::: | Row 2 Col 3 | + | Row 3 Col 1 | ::: | Row 2 Col 3 | + +You can align the table contents, too. Just add at least two whitespaces at the opposite end of your text: Add two spaces on the left to align right, two spaces on the right to align left and two spaces at least at both ends for centered text. + +^ Table with alignment ^^^ +| right| center |left | +|left | right| center | +| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx | + +This is how it looks in the source: + + ^ Table with alignment ^^^ + | right| center |left | + |left | right| center | + | xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx | + +Note: Vertical alignment is not supported. + +===== No Formatting ===== + +If you need to display text exactly like it is typed (without any formatting), enclose the area either with ''%%%%'' tags or even simpler, with double percent signs ''%%''. + + +This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. + +The same is true for %%//__this__ text// with a smiley ;-)%%. + + + This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it. + + The same is true for %%//__this__ text// with a smiley ;-)%%. + +===== Code Blocks ===== + +You can include code blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags ''%%%%'' or ''%%%%''. + + This is text is indented by two spaces. + + +This is preformatted code all spaces are preserved: like <-this + + + +This is pretty much the same, but you could use it to show that you quoted a file. + + +Those blocks were created by this source: + + This is text is indented by two spaces. + + + This is preformatted code all spaces are preserved: like <-this + + + + This is pretty much the same, but you could use it to show that you quoted a file. + + +==== Syntax Highlighting ==== + +[[wiki:DokuWiki]] can highlight sourcecode, which makes it easier to read. It uses the [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter -- so any language supported by GeSHi is supported. The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. '''' or ''''. + + +/** + * The HelloWorldApp class implements an application that + * simply displays "Hello World!" to the standard output. + */ +class HelloWorldApp { + public static void main(String[] args) { + System.out.println("Hello World!"); //Display the string. + } +} + + +The following language strings are currently recognized: //4cs 6502acme 6502kickass 6502tasm 68000devpac abap actionscript3 actionscript ada aimms algol68 apache applescript apt_sources arm asm asp asymptote autoconf autohotkey autoit avisynth awk bascomavr bash basic4gl batch bf biblatex bibtex blitzbasic bnf boo caddcl cadlisp ceylon cfdg cfm chaiscript chapel cil c_loadrunner clojure c_mac cmake cobol coffeescript c cpp cpp-qt cpp-winapi csharp css cuesheet c_winapi dart dcl dcpu16 dcs delphi diff div dos dot d ecmascript eiffel email epc e erlang euphoria ezt f1 falcon fo fortran freebasic freeswitch fsharp gambas gdb genero genie gettext glsl gml gnuplot go groovy gwbasic haskell haxe hicest hq9plus html html4strict html5 icon idl ini inno intercal io ispfpanel java5 java javascript jcl j jquery julia kixtart klonec klonecpp kotlin latex lb ldif lisp llvm locobasic logtalk lolcode lotusformulas lotusscript lscript lsl2 lua m68k magiksf make mapbasic mathematica matlab mercury metapost mirc mk-61 mmix modula2 modula3 mpasm mxml mysql nagios netrexx newlisp nginx nimrod nsis oberon2 objc objeck ocaml-brief ocaml octave oobas oorexx oracle11 oracle8 oxygene oz parasail parigp pascal pcre perl6 perl per pf phix php-brief php pic16 pike pixelbender pli plsql postgresql postscript povray powerbuilder powershell proftpd progress prolog properties providex purebasic pycon pys60 python qbasic qml q racket rails rbs rebol reg rexx robots roff rpmspec rsplus ruby rust sas sass scala scheme scilab scl sdlbasic smalltalk smarty spark sparql sql sshconfig standardml stonescript swift systemverilog tclegg tcl teraterm texgraph text thinbasic tsql twig typoscript unicon upc urbi uscript vala vbnet vb vbscript vedit verilog vhdl vim visualfoxpro visualprolog whitespace whois winbatch wolfram xbasic xml xojo xorg_conf xpp yaml z80 zxbasic// + +There are additional [[doku>syntax_highlighting|advanced options]] available for syntax highlighting, such as highlighting lines or adding line numbers. + +==== Downloadable Code Blocks ==== + +When you use the ''%%%%'' or ''%%%%'' syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this: + + + + + + + + + + + +If you don't want any highlighting but want a downloadable file, specify a dash (''-'') as the language code: ''%%%%''. + + +===== Embedding HTML and PHP ===== + +You can embed raw HTML or PHP code into your documents by using the ''%%%%'' or ''%%%%'' tags. (Use uppercase tags if you need to enclose block level elements.) + +HTML example: + + + +This is some inline HTML + + +

And this is some block HTML

+ +
+ + +This is some inline HTML + + +

And this is some block HTML

+ + +PHP example: + + + +echo 'The PHP version: '; +echo phpversion(); +echo ' (generated inline HTML)'; + + +echo ''; +echo ''; +echo '
The same, but inside a block level element:'.phpversion().'
'; +
+
+ + +echo 'The PHP version: '; +echo phpversion(); +echo ' (inline HTML)'; + + +echo ''; +echo ''; +echo '
The same, but inside a block level element:'.phpversion().'
'; +
+ +**Please Note**: HTML and PHP embedding is disabled by default in the configuration. If disabled, the code is displayed instead of executed. + +===== RSS/ATOM Feed Aggregation ===== +[[DokuWiki]] can integrate data from external XML feeds. For parsing the XML feeds, [[http://simplepie.org/|SimplePie]] is used. All formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters: + +^ Parameter ^ Description ^ +| any number | will be used as maximum number items to show, defaults to 8 | +| reverse | display the last items in the feed first | +| author | show item authors names | +| date | show item dates | +| description| show the item description. If [[doku>config:htmlok|HTML]] is disabled all tags will be stripped | +| nosort | do not sort the items in the feed | +| //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours). | + +The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered. + +By default the feed will be sorted by date, newest items first. You can sort it by oldest first using the ''reverse'' parameter, or display the feed as is with ''nosort''. + +**Example:** + + {{rss>http://slashdot.org/index.rss 5 author date 1h }} + +{{rss>http://slashdot.org/index.rss 5 author date 1h }} + + +===== Control Macros ===== + +Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble: + +^ Macro ^ Description | +| %%~~NOTOC~~%% | If this macro is found on the page, no table of contents will be created | +| %%~~NOCACHE~~%% | DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the %%%% syntax above is used), adding this macro will force DokuWiki to rerender a page on every call | + +===== Syntax Plugins ===== + +DokuWiki's syntax can be extended by [[doku>plugins|Plugins]]. How the installed plugins are used is described on their appropriate description pages. The following syntax plugins are available in this particular DokuWiki installation: + +~~INFO:syntaxplugins~~ diff --git a/pages/wiki/welcome.txt b/pages/wiki/welcome.txt new file mode 100644 index 0000000..10caa7c --- /dev/null +++ b/pages/wiki/welcome.txt @@ -0,0 +1,30 @@ +====== Welcome to your new DokuWiki ====== + +Congratulations, your wiki is now up and running. Here are a few more tips to get you started. + +Enjoy your work with DokuWiki,\\ +-- the developers + +===== Create your first pages ===== + +Your wiki needs to have a start page. As long as it doesn't exist, this link will be red: [[:start]]. + +Go on, follow that link and create the page. If you need help with using the syntax you can always refer to the [[wiki:syntax|syntax page]]. + +You might also want to use a sidebar. To create it, just edit the [[:sidebar]] page. Everything in that page will be shown in a margin column on the side. Read our [[doku>faq:sidebar|FAQ on sidebars]] to learn more. + +Please be aware that not all templates support sidebars. + +===== Customize your Wiki ===== + +Once you're comfortable with creating and editing pages you might want to have a look at the [[this>doku.php?do=admin&page=config|configuration settings]] (be sure to login as superuser first). + +You may also want to see what [[doku>plugins|plugins]] and [[doku>templates|templates]] are available at DokuWiki.org to extend the functionality and looks of your DokuWiki installation. + +===== Join the Community ===== + +DokuWiki is an Open Source project that thrives through user contributions. A good way to stay informed on what's going on and to get useful tips in using DokuWiki is subscribing to the [[doku>newsletter]]. + +The [[https://forum.dokuwiki.org|DokuWiki User Forum]] is an excellent way to get in contact with other DokuWiki users and is just one of the many ways to get [[doku>faq:support|support]]. + +Of course we'd be more than happy to have you [[doku>teams:getting_involved|getting involved]] with DokuWiki. diff --git a/pages/work.txt b/pages/work.txt new file mode 100644 index 0000000..248d802 --- /dev/null +++ b/pages/work.txt @@ -0,0 +1,4 @@ +Work related notes + +[[work:mu2e|{{work:mu2e_logo_400x248.jpeg?0x100}}]] [[work:gm2|{{work:gm2logo.png?0x100}}]] [[work:alcap|{{work:alcap-logo.png?0x100}}]] [[work:comet|{{work:pasted:comet-logo.png?0x100}}]] [[work:nugroup|{{work:nu-logo.png?0x100}}]] + \ No newline at end of file diff --git a/pages/work/alcap.txt b/pages/work/alcap.txt new file mode 100644 index 0000000..5d4be6e --- /dev/null +++ b/pages/work/alcap.txt @@ -0,0 +1 @@ +AlCap experiment notes \ No newline at end of file diff --git a/pages/work/alcap/r15a-xray-on-mu2e.bu.edu.txt b/pages/work/alcap/r15a-xray-on-mu2e.bu.edu.txt new file mode 100644 index 0000000..15be40a --- /dev/null +++ b/pages/work/alcap/r15a-xray-on-mu2e.bu.edu.txt @@ -0,0 +1,141 @@ +This note describe how I set up the Cocalc server on ''mu2e.bu.edu'' machine +====== Docker services ====== +===== Linuxserver swag ===== +This service takes care of Let's Encrypt certificate issuance and renewal. Be careful though, do not delete/recreate this service too often because there is a rate limit of 5 certs per week. + * ports ''80'', ''443'', and ''8443'' are exposed. The first two are needed for the certificates, the ''8443'' is for the Cocalc service + * nice thing about ''linuxserver'' dockers are graceful handling of ''uid'' and ''gid'' + * asking for certificate for ''mu2e.bu.edu'' only. Cocalc doesn't appear to work nicely with a subfolder path. And subdomain doesn't appear to work on this box (maybe net admin at BU must add/allow subdomain?). + + swag: + image: linuxserver/swag + container_name: swag + cap_add: + - NET_ADMIN + environment: + - PUID=1004 + - PGID=1004 + - TZ=America/New_York + - URL=mu2e.bu.edu + - VALIDATION=http + - ONLY_SUBDOMAINS=false #optional + - STAGING=false + volumes: + - ./swag-config:/config + ports: + - 443:443 + - 80:80 #optional + - 0.0.0.0:8443:8443 + restart: unless-stopped + networks: + - cocalc + + +===== Cocalc service ===== +Copied from Cocalc documentation, nothing much to say here. + + cocalc: + image: sagemathinc/cocalc + container_name: cocalc + volumes: + - ./cocalc-data:/projects + # ports: + # - 0.0.0.0:8752:443 + restart: unless-stopped + networks: + - cocalc + + +====== Further configuration ====== +===== Reverse proxy for Cocalc ===== +The proxy is configured in ''swag'' by adding a server on port ''8443'' which is forwarded to ''cocalc:443''. + +(base) @mu2e:cocalc-docker nam $ cat swag-config/nginx/proxy-confs/cocalc.subdomain.conf +server { + listen 8443 ssl; + listen [::]:8443 ssl; + + index index.html index.htm index.php; + + server_name mu2e.bu.edu; + + # all ssl related config moved to ssl.conf + include /config/nginx/ssl.conf; + client_max_body_size 50; + server_tokens off; + + location / { + proxy_pass https://cocalc:443; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 3m; + proxy_send_timeout 3m; + } +} + +===== Spin it up! ===== +Run ''docker-compose up -d'' + +===== Configure user on Cocalc ===== + * self-register on first launch + * launch an interactive shell within running ''cocalc'' container, + * generate SSH pubkey and add to Github + * create ''.gitconfig'' + + ~$ cat .gitconfig + [user] + name = Nam Tran + email = thnam.me@gmail.com + [core] + editor = vim + quotepath = false + autocrlf = input + excludesfile = /projects/0223d4fc-683f-424a-8bdf-8d867a4ac9c9/.gitexcludes + [merge] + tool = opendiff + conflictstyle = diff3 + + [alias] + ci = commit + co = checkout + st = status + br = branch + hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short + type = cat-file -t + dump = cat-file -p + ignored = !git ls-files -v | grep ^[[:lower:]] + + [color] + ui = true + [push] + default = tracking + [branch] + autosetupmerge = true + +===== Prepare Latex code ===== + * Pull the source ''~$ git clone git@github.com:bostonu-cas/r15a_xray.git'' + * Install Revtex v4.2 + ~$ mkdir texmf + ~$ cd texmf/ + ~$ wget https://journals.aps.org/revtex/revtex4-2-tds.zip + ~$ unzip revtex4-2-tds.zip + + * Go to the source directory, Cocalc automatically runs ''latexmk'' to compile +===== Syncing ===== + * Automatic pull + ~$ mkdir utils && cd utils && git clone https://github.com/kolbasa/git-repo-watcher + # Add PATH, then run in a latex terminal + ~/r15a_xray$ git-repo-watcher -d . -i 60 > /dev/null 2>&1 & + + * Auto commit and push + * prepare script and add to ''PATH'' + ~$ cat utils/git-auto-commit + #!/usr/bin/env bash + script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + + git pull && git ci -am "auto-commit from mu2e.bu.edu:8443" && git push + + * edit compile command to: ''latexmk -pdf ... xray.tex && ~/utils/git-auto-commit'' diff --git a/pages/work/gm2.txt b/pages/work/gm2.txt new file mode 100644 index 0000000..93075f9 --- /dev/null +++ b/pages/work/gm2.txt @@ -0,0 +1,2 @@ +G-2 related notes + * [[work:gm2:esq|ESQ]] \ No newline at end of file diff --git a/pages/work/gm2/esq.txt b/pages/work/gm2/esq.txt new file mode 100644 index 0000000..fd826e1 --- /dev/null +++ b/pages/work/gm2/esq.txt @@ -0,0 +1,3 @@ +Electrostatic quadrupole + * [[work:gm2:esq:bu_controller|BU controller]] + * [[work:gm2:esq:bu_controller:compiling_on_opt|Test compiling on opt]] \ No newline at end of file diff --git a/pages/work/gm2/esq/bu_controller.txt b/pages/work/gm2/esq/bu_controller.txt new file mode 100644 index 0000000..00059cd --- /dev/null +++ b/pages/work/gm2/esq/bu_controller.txt @@ -0,0 +1 @@ +{{indexmenu>work:gm2:esq:bu_controller}} \ No newline at end of file diff --git a/pages/work/gm2/esq/bu_controller/bu_controller_manual.txt b/pages/work/gm2/esq/bu_controller/bu_controller_manual.txt new file mode 100644 index 0000000..77ec9a2 --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/bu_controller_manual.txt @@ -0,0 +1,51 @@ +====== Hardware ====== +===== Overview ===== +The box's job is to emit TTL pulses to control 4 HV pulsers, and stop doing so when a trouble is detected. +===== Block diagram and photo ===== +{{work:gm2:esq:bu_controller:bu_controller_block_diagram.png?800x0}} +===== Carrier board ===== +The carrier board has a PicoZed System-On-Module (SOM), which contains: + * a XC7Z020 System-on-Chip (one dual core ARM processor, and one Artix-7 FPGA) + * 1 GB of DDR3 SDRAM + * 16 GB eMMC memory + * Ethernet interface + * UART interface + +This board serves as a bridge between user and programmable logic parts (ADC boards) of the controller. +There is a Linux system (Xilin Petalinux 2015.4) installed: + * user: ''root'' + * password: ''root'' + * static IP address: ''192.168.30.89'' +===== ADC boards ===== +There are 4 identical ADC boards in the box, each has one pulser and one 8-channel waveform digitizer. +{{work:gm2:esq:bu_controller:bu_controller_front_panel.png?800x0}} +==== Pulser ==== +{{work:gm2:esq:bu_controller:io_numbering.png?600x0}} + +Each pulser has 8 SMA outputs, numbered from 1 to 8 from left to right: + * outputs 1-4: RF control outputs + * output 5: discharge signal + * output 6: charge signal, first step + * output 7: charge signal, second step for two-step HV cabinets. Not used in case of 1-step pulser. + * outputs 8: spare I/O + +Pulse modes are: + - External trigger: produces a set of pulse after receiving a LVTTL (3.3 V) logic pulse at the external trigger input. The trigger pulse width should not exceed 50 ns. + - Internal trigger: produces sets of pulses periodically, up to 100 Hz + +==== WFD ==== +These are 12-bit WFDs, run at 100 MSPS. Clock source can be either an external 40 MHz clock, or internal clock generated by the carrier board. + +The WFD inputs are numbered from 1 to 8 from left to right, similar to the pulser numbering above. These inputs have protection against surges might happen during a spark. + +The WFDs provide several pieces of information: + * waveforms: all channels are in zero-suppressed mode, which will only export samples above programmed individual threshold. The maximum sampling length is 100 us (the current firmware can only give 20 us) + * spark threshold (not the waveform threshold above) crossings: there are upper and lower thersholds for each channel, the threshold crossing counting is active for the whole g-2 muon fill (~700 us) + * waveform integrals at charge and discharge times: the integration starts at charge and discharge steps, maximum integration length is 256 samples (~2.5 us) + +Each WFD will produce one block of data for one trigger, the data format is described here: https://docs.google.com/spreadsheets/d/19r_blWufX368hKRkoa1FGhIzBLOzIvKfg5ZKRVmEVkI/edit?usp=sharing. The data is written to RAM on the carrier board, and can be accessed via a DMA controller. + +====== Firmware ====== +====== Software ====== + + diff --git a/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-05_issues.txt b/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-05_issues.txt new file mode 100644 index 0000000..bd72b0d --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-05_issues.txt @@ -0,0 +1,6 @@ + * Board 3 could not be initialized + * Skipping every other pulse (yellow) in the 8 pulses train (teal) + {{work:gm2:esq:bu_controller:pxl_20201007_202452451.jpg?400x0}} + + * Switching back to ''2019-12-13'' version fixed both of them + {{work:gm2:esq:bu_controller:pxl_20201007_210215108.jpg?400x0}} \ No newline at end of file diff --git a/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-08_test.txt b/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-08_test.txt new file mode 100644 index 0000000..0f96c74 --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/carrier_firmware_2020-10-08_test.txt @@ -0,0 +1,48 @@ +====== First test ====== + * It seems the issue of board initialization is still there, but moves to board 4 ... + * Still shows only 4 out of 8 pulses in a train + * will try with different triggers + +daq@gm2-01:scripts $ BUTool -q 192.168.30.89 +Registered device: G2QUAD +>write TRIGGER.STATUS.ENABLE_PULSERS 1 +Write to register TRIGGER.STATUS.ENABLE_PULSERS +>write TRIGGER.FREE_RUN.EN_FR_TRIG 0 +Write to register TRIGGER.FREE_RUN.EN_FR_TRIG +>write TRIGGER.FREE_RUN.EN_EXT_TRIG 1 +Write to register TRIGGER.FREE_RUN.EN_EXT_TRIG +>read SYSTEM.SYNTH_DATE + SYSTEM.SYNTH_DATE: 0x20201008 +>read ADCBOARD.1.*SYNTH_DATE + ADCBOARD.1.SYSTEM.SYNTH_DATE: 0x20201005 +>read ADCBOARD.2.*SYNTH_DATE + ADCBOARD.2.SYSTEM.SYNTH_DATE: 0x20201005 +>read ADCBOARD.3.*SYNTH_DATE + ADCBOARD.3.SYSTEM.SYNTH_DATE: 0x20201005 + +====== Trigger from a waveform generator ====== + * The function generator is programmed to output a burst of 8 pulses: 3 Vpp, 1.5 V offset, 10 ms separation every 1.4 s. Pulse width is adjustable. This WG has minimum 6 ns rise time and fall time. + {{work:gm2:esq:bu_controller:pxl_20201008_190541385.jpg?600x0}} + * Output 1 & 2 are in-sync + {{work:gm2:esq:bu_controller:pxl_20201008_190526636.jpg?600x0}} + * Output 1 is kept on channel 1 of the scope, output 2 goes to the ext. trigger input of the BU controller +====== Tweaking trigger pulse length ====== +Channel 1 on scope is the synced signal of ext trigger, channel 2 is discharge pulse from ADC board 1. + + * < 50 ns, still shows only 4 pulses. All pulses from 12 ns to 50 ns worked. +{{work:gm2:esq:bu_controller:pxl_20201008_191532389.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191547871.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191643263.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191710289.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191730525.jpg}} + * 54 ns, picking up random pulses among 8, but never 2 consecutive ones +{{work:gm2:esq:bu_controller:pxl_20201008_191758570.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191806670.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191757168.jpg}} + * 56 ns, still can pick up pulses +{{work:gm2:esq:bu_controller:pxl_20201008_191818632.jpg}} +{{work:gm2:esq:bu_controller:pxl_20201008_191821833.jpg}} + * 60 ns, no trigger picked up at all +===== Different pulse separation ===== +Still only 4 pulses, there seems to be some change in phase. +{{work:gm2:esq:bu_controller:pxl_20201008_195535792.jpg}}{{work:gm2:esq:bu_controller:pxl_20201008_195613934.jpg}}{{work:gm2:esq:bu_controller:pxl_20201008_195009724.jpg}}{{work:gm2:esq:bu_controller:pxl_20201008_194714818.jpg}} diff --git a/pages/work/gm2/esq/bu_controller/compiling_on_gm2-01.txt b/pages/work/gm2/esq/bu_controller/compiling_on_gm2-01.txt new file mode 100644 index 0000000..8f16f57 --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/compiling_on_gm2-01.txt @@ -0,0 +1,40 @@ +====== Prepare code ====== +===== Zynq software ===== + +daq@gm2-01:ESQ $ svn co http://gauss.bu.edu/svn/g2-quad-pulser.firmware/carrier zynq-carrier.trunk.svn +... +Checked out revision 548. +daq@gm2-01:zynq-carrier.trunk.svn $ svn log | head +------------------------------------------------------------------------ +r548 | dgastler | 2020-10-05 15:11:09 -0500 (Mon, 05 Oct 2020) | 1 line + +New version for Nam +------------------------------------------------------------------------ +r546 | dgastler | 2020-10-05 07:52:45 -0500 (Mon, 05 Oct 2020) | 1 line + +updated address tables +------------------------------------------------------------------------ +r545 | dgastler | 2020-10-05 07:17:03 -0500 (Mon, 05 Oct 2020) | 1 line + + +===== Copy old BUTool over ===== + +daq@gm2-01:zynq-carrier.trunk.svn $ cp -r ~/ESQ/zynq-carrier.trunk/os/software/BUTool ./os/software/ + + +====== Build ====== +===== BUTool ===== +Clean up old code, regenerate ''env.sh'', then ''make'' again + +daq@gm2-01:BUTool $ export PLATFORM=petalinux +daq@gm2-01:BUTool $ ./setup.sh +env.sh +Source env.sh and run 'make' to build BUTool +daq@gm2-01:BUTool $ make clean +daq@gm2-01:BUTool $ make -j4 && make install + +===== Zynq software ===== +Edit the ''buildArm.sh'' a little bit (skip building BUTool since it is done in previous step) + +daq@gm2-01:software $ ./buildArm.sh + diff --git a/pages/work/gm2/esq/bu_controller/compiling_on_opt.txt b/pages/work/gm2/esq/bu_controller/compiling_on_opt.txt new file mode 100644 index 0000000..be31639 --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/compiling_on_opt.txt @@ -0,0 +1,137 @@ +====== Check out codes ====== +===== Zynq software ===== + +nam@opt:ESQ $ svn co http://gauss.bu.edu/svn/g2-quad-pulser.firmware +nam@opt:ESQ $ mv g2-quad-pulser.firmware g2-quad-pulser.firmware.svn +nam@opt:g2-quad-pulser.firmware.svn $ cd carrier/trunk/os/software/ + +Make sure this is the latest version (as of 2020/10/05): + +nam@opt:software $ svn info +Path: . +Working Copy Root Path: /home/nam/work/gm2/ESQ/g2-quad-pulser.firmware.svn +URL: http://gauss.bu.edu/svn/g2-quad-pulser.firmware/carrier/trunk/os/software +Relative URL: ^/carrier/trunk/os/software +Repository Root: http://gauss.bu.edu/svn/g2-quad-pulser.firmware +Repository UUID: 7ce3f3ac-83d5-4068-a32b-ab773f4188fc +Revision: 548 +Node Kind: directory +Schedule: normal +Last Changed Author: dgastler +Last Changed Rev: 546 +Last Changed Date: 2020-10-05 07:52:45 -0500 (Mon, 05 Oct 2020) + +===== BUTool ===== + + +nam@opt:software $ svn co http://gauss.bu.edu/svn/butool/trunk BUTool +nam@opt:BUTool $ svn info +... +Last Changed Rev: 70 +Last Changed Date: 2019-09-17 10:35:07 -0500 (Tue, 17 Sep 2019) + +Need to revert to ''r42'' which is compatible with Petalinux 2015.4 + +nam@opt:BUTool $ svn up -r42 +nam@opt:BUTool $ svn info +Path: . +Working Copy Root Path: /home/nam/work/gm2/ESQ/g2-quad-pulser.firmware.svn/carrier/trunk/os/software/BUTool +URL: http://gauss.bu.edu/svn/butool/trunk +... +Last Changed Rev: 42 +Last Changed Date: 2018-07-12 15:56:11 -0500 (Thu, 12 Jul 2018) + + +====== Build ====== +===== BUTool ===== +Run ''setup.sh'' to generate ''env.sh'' where all environment variables would be set. Also change the path to Petalinux to match the local installation. + +nam@opt:BUTool $ PLATFORM=petalinux ./setup.sh +env.sh +Source env.sh and run 'make' to build BUTool +nam@opt:BUTool $ cat env.sh +if [[ $_ == $0 ]]; then + echo "$0 is meant to be sourced:" + echo " source $0" + exit 0 +fi + +export PLATFORM="petalinux" +export PREFIX="/work/butool" +export MAKEFLAGS="-I /home/nam/work/gm2/ESQ/g2-quad-pulser.firmware.svn/carrier/trunk/os/software/BUTool/mk" +export PROJECT_ROOT="/home/nam/work/gm2/ESQ/g2-quad-pulser.firmware.svn/carrier/trunk/os/software/BUTool" +export PATH="$PATH:/work/butool/bin" + +export VIVADO_VERSION=2015.4 +export VIVADO_SDK=/home/nam/Downloads/petalinux-v2015.4-final/settings.sh + +source $VIVADO_SDK + +export CXX=arm-xilinx-linux-gnueabi-g++ +export CC=arm-xilinx-linux-gnueabi-gcc + +export CROSS_HOST=arm-xilinx-linux-gnueabi + +export MAKEOBJDIRPREFIX="$PROJECT_ROOT/obj" +export DESTDIR="$PROJECT_ROOT/install" + +export BUTOOL_COMPILETIME_PATH="$DESTDIR/$PREFIX" +export BUTOOL_RUNTIME_PATH="$PREFIX" + +Source ''env.sh'' and ''make'': + +nam@opt:BUTool $ . env.sh +nam@opt:BUTool $ make +... + CXX (link) -o obj/lib/libBUTool.so + CXX src/tool/BUTool.cxx + CXX (link) -o obj/bin/BUTool + +===== Zynq software ===== + +nam@opt:BUTool $ cd ../ +nam@opt:software $ ./buildArm.sh + +Need to change a few things + +nam@opt:software $ svn diff +Index: buildArm.sh +=================================================================== +--- buildArm.sh (revision 548) ++++ buildArm.sh (working copy) +@@ -15,7 +15,7 @@ + export PLATFORM=petalinux + + cd BUTool +-./setup.sh ++#./setup.sh + source env.sh + make clean + make +Index: zynq_daq/Makefile +=================================================================== +--- zynq_daq/Makefile (revision 548) ++++ zynq_daq/Makefile (working copy) +@@ -1,6 +1,9 @@ ++SHELL := /bin/bash + VIVADO_VERSION=2015.4 + #VIVADO_VERSION=2017.2 + VIVADO_SDK="/opt/Xilinx/SDK/"${VIVADO_VERSION}"/settings64.sh" ++VIVADO_SDK=/home/nam/Downloads/petalinux-v2015.4-final/settings.sh ++ + + CXX=source ${VIVADO_SDK} && arm-xilinx-linux-gnueabi-g++ + #CXXFLAGS+=-c -g -O2 -Wall -Wextra -Werror -Wno-pointer-arith -I ./ -I ${G2FRAME_PREFIX}/include +Index: zynq_pl_bridge/Makefile +=================================================================== +--- zynq_pl_bridge/Makefile (revision 548) ++++ zynq_pl_bridge/Makefile (working copy) +@@ -1,6 +1,7 @@ + + VIVADO_VERSION=2015.4 + VIVADO_SDK="/opt/Xilinx/SDK/"$(VIVADO_VERSION)"/settings64.sh" ++VIVADO_SDK=/home/nam/Downloads/petalinux-v2015.4-final/settings.sh + + CXX=source $(VIVADO_SDK) && arm-xilinx-linux-gnueabi-g++ + CXXFLAGS+=-c -O2 -static -Wall -Wextra -Werror -Wno-pointer-arith + \ No newline at end of file diff --git a/pages/work/gm2/esq/bu_controller/test_with_single_burst_of_8_pulses.txt b/pages/work/gm2/esq/bu_controller/test_with_single_burst_of_8_pulses.txt new file mode 100644 index 0000000..882cf48 --- /dev/null +++ b/pages/work/gm2/esq/bu_controller/test_with_single_burst_of_8_pulses.txt @@ -0,0 +1,3 @@ +- log-01: before +- log-02: after +- log-03: another pulse \ No newline at end of file