<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Raven Attic Studio</title><link>https://ravenattic.netlify.app/</link><description>Recent content on Raven Attic Studio</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Sat, 23 Dec 2023 15:28:19 +0100</lastBuildDate><atom:link href="https://ravenattic.netlify.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Hard reset Garmin Foreunner 45S</title><link>https://ravenattic.netlify.app/posts/hardresetforerunner/</link><pubDate>Sat, 23 Dec 2023 15:28:19 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/hardresetforerunner/</guid><description>&lt;p&gt;From the Garmin website forum, with button names adjusted for Forunner 45S.&lt;/p&gt;
&lt;p&gt;Garmin Forerunner 45S watch stuck in loop with triangle showing on display. Holding LIGHT button for 15 seconds to power off, then pushing LIGHT button to power on doesn’t fix it. To do a hard reset, hold LIGHT button for 15 seconds until the watch powers off. Then hold both the START|STOP and BACK buttons. With these buttons still depressed, press and hold the LIGHT button. After the first beep. release START|STOP. After the second beep, release BACK.&lt;/p&gt;</description></item><item><title>Google maps to Garmin Edge Touring</title><link>https://ravenattic.netlify.app/posts/googlemapstogarmin/</link><pubDate>Sun, 18 Jul 2021 15:27:17 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/googlemapstogarmin/</guid><description>&lt;p&gt;Export Google map as a KML file.&lt;/p&gt;
&lt;p&gt;Convert KML to GPX here: &lt;a href="https://kml2gpx.com"&gt;https://kml2gpx.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On the Garmin Edge SD card there’s a folder called “NewFiles”. Copy the GPX file here.&lt;/p&gt;
&lt;p&gt;After power-cycling the Edge the map will be available.&lt;/p&gt;</description></item><item><title>Side tables</title><link>https://ravenattic.netlify.app/posts/sidetables/</link><pubDate>Fri, 15 Jan 2021 15:16:26 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/sidetables/</guid><description>&lt;h3 id="1-american-cherry-boards"&gt;1. American cherry boards&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table1.jpg" alt="table1"&gt;&lt;/p&gt;
&lt;h3 id="2-wood-cut-list"&gt;2. Wood cut list&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table2.jpg" alt="table2"&gt;&lt;/p&gt;
&lt;h3 id="3-thicknessing-the-boards"&gt;3. Thicknessing the boards&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table3.jpg" alt="table3"&gt;&lt;/p&gt;
&lt;h3 id="4-ripping-the-legs"&gt;4. Ripping the legs&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table4.jpg" alt="table4"&gt;&lt;/p&gt;
&lt;h3 id="5-using-a-jig-to-cut-the-legs-to-length"&gt;5. Using a jig to cut the legs to length&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table5.jpg" alt="table5"&gt;&lt;/p&gt;
&lt;h3 id="6-unshaped-legs-cut-to-length"&gt;6. Unshaped legs, cut to length&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table6.jpg" alt="table6"&gt;&lt;/p&gt;
&lt;h3 id="7-shaping-the-legs-with-a-round-over-cutter-on-the-router-table"&gt;7. Shaping the legs with a round-over cutter on the router table&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table7.jpg" alt="table7"&gt;&lt;/p&gt;
&lt;h3 id="8-shapely-legs"&gt;8. Shapely legs&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table8.jpg" alt="table8"&gt;&lt;/p&gt;
&lt;h3 id="9-routing-the-leg-mortises"&gt;9. Routing the leg mortises&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table9.jpg" alt="table9"&gt;&lt;/p&gt;
&lt;h3 id="10-tidying-the-mortises"&gt;10. Tidying the mortises&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table10.jpg" alt="table10"&gt;&lt;/p&gt;
&lt;h3 id="11-cutting-the-side-tenons"&gt;11. Cutting the side tenons&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/table11.jpg" alt="table11"&gt;&lt;/p&gt;</description></item><item><title>Midi with Ardour on Linux</title><link>https://ravenattic.netlify.app/posts/midiardour/</link><pubDate>Mon, 21 Sep 2020 15:29:28 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/midiardour/</guid><description>&lt;p&gt;Here’s how to get Ardour set up so that the DAW can control a MIDI synthesizer. I’m using Ubuntu Studio, Ubuntu 20.04.1 LTS, Ardour 5.12.0.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Start Jack (I use QjackCtl).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In a terminal, type&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; a2jmidid -j default
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;a2jmidid is a bridge between the ALSA MIDI system and JACK.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Start Qsynth (a front-end to the fluidsynth MIDI synthesizer) and make sure a soundfont is loaded.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the QjackCtl MIDI connections tab, connect the Output Port ‘midi_out’ of the MIDI track in Ardour to the Input Port a2j ‘FLUID Synth’.&lt;/p&gt;</description></item><item><title>Frequency response of Cry Baby wah-wah pedal</title><link>https://ravenattic.netlify.app/posts/freqresponseofwahwah/</link><pubDate>Sat, 20 Jun 2020 15:05:16 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/freqresponseofwahwah/</guid><description>&lt;p&gt;The &lt;a href="https://ravenattic.netlify.app/posts/audiofreqresponse/"&gt;frequency response tester&lt;/a&gt; is used to measure the response of a Dunlop Cry Baby wah-wah pedal, model GCB 95. The response was measured in three positions, heel-down, toe-down and approximately in the middle. The data from the three results files was combined and plotted in LibreOffice Calc.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://ravenattic.netlify.app/images/crybaby_frequency_response-1.png" alt="Cry Baby frequency response plot"&gt;&lt;/p&gt;</description></item><item><title>A DIY reflow oven</title><link>https://ravenattic.netlify.app/posts/diyreflowoven/</link><pubDate>Sun, 14 Jun 2020 14:46:23 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/diyreflowoven/</guid><description>&lt;p&gt;A Raspberry Pi with an Adafruit MAX31855 thermocouple interface board and a solid-state relay is used to control the temperature profile in an oven for reflow surface-mount soldering. The software running on the Raspberry Pi is here: &lt;a href="https://github.com/apollo-ng/picoReflow"&gt;https://github.com/apollo-ng/picoReflow&lt;/a&gt;. The instructions in the README.md file in the picoReflow project are good, with one modification needed: to auto-start on power-up, the reflow script in lib/init needs “#! /bin/sh” on the first line of the file, not line 12 as given.&lt;/p&gt;</description></item><item><title>Installing Scilab on Ubuntu 20.04 LTS</title><link>https://ravenattic.netlify.app/posts/installingscilab/</link><pubDate>Sun, 31 May 2020 15:25:19 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/installingscilab/</guid><description>&lt;p&gt;The default install of Scilab doesn’t work on Ubuntu 20.04. I downloaded Scilab 6.1.0 from the Scilcab website. When executing the scilab executable, the following error occurs:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Turns out I have libtinfo.so.6 installed, so the fix is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>An audio frequency response tester</title><link>https://ravenattic.netlify.app/posts/audiofreqresponse/</link><pubDate>Sun, 31 May 2020 14:46:23 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/audiofreqresponse/</guid><description>&lt;h3 id="using-the-digilent-analog-discovery-2-to-automatically-test-audio-frequency-response"&gt;Using the Digilent Analog Discovery 2 to automatically test audio frequency response&lt;/h3&gt;
&lt;p&gt;An Analog Discovery 2 (AD2) signal generator is configured to generate a sine wave through a range of frequencies. The sine wave is fed into the Unit Under Test (UUT) and an AD2 oscilloscope channel is used to sample the UUT’s output. A Python script automates the whole thing and produces a .csv file and graphical plot of the results. Python script details are &lt;a href="https://ravenattic.netlify.app/posts/scriptinganalogdiscoverywithpython1/"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Scripting the Analog Discovery 2 with Python in Linux Part 2</title><link>https://ravenattic.netlify.app/posts/scriptinganalogdiscoverywithpython2/</link><pubDate>Mon, 25 May 2020 14:43:49 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/scriptinganalogdiscoverywithpython2/</guid><description>&lt;p&gt;Now that Python and the Digilent DWF Python wrapper are installed (link), we can start using the Analog Discovery 2 to do something useful. The Waveforms SDK provides access to an API that allows the creation of custom applications using the Digilent Analog Design hardware (e.g. the Analog Discovery 2). The reference manual is here.&lt;/p&gt;
&lt;p&gt;Working code examples are installed in /usr/share/digilent/waveforms/samples/&lt;/p&gt;
&lt;p&gt;I used AnalogIn_Record_Wave_Mono.py as a basis, and along with it copied dwfconstants.py to the project folder.&lt;/p&gt;</description></item><item><title>Scripting the Analog Discovery 2 with Python in Linux Part 1</title><link>https://ravenattic.netlify.app/posts/scriptinganalogdiscoverywithpython1/</link><pubDate>Mon, 25 May 2020 14:34:00 +0100</pubDate><guid>https://ravenattic.netlify.app/posts/scriptinganalogdiscoverywithpython1/</guid><description>&lt;h3 id="first-install-python-etc"&gt;First, install Python, etc&lt;/h3&gt;
&lt;p&gt;First, check we have python installed:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;python3 --version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The result is “Python 3.8.2” on my system. Now check we have setuptools and pip installed. These are third-party Python packages that we (may) need later.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;command -v pip
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The result is nothing, so we need to install as follows:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This installs to /home/USER/.local/bin which is not on PATH. To add to the path:&lt;/p&gt;</description></item></channel></rss>