Select: Workloads → Desktop development with C++, then for Individual Components, select only:
Windows SDK
C++ x64/x86 build tools
The build tools allow using MSVC “cl.exe” C / C++ compiler from the command line.
Visual Studio
changed
the
Build Tools
from being C++ specific in late 2017.
Thus newer Visual Studio versions work in place of older versions.
Windows Python needs Visual C++ libraries installed via the SDK to build code, such as via setuptools.extension.Extension or numpy.distutils.core.Extension.
For example, building
f2py
modules in Windows with Python requires Visual C++ SDK as installed above.
On Unix-like operating systems, the C++ libraries are installed with the compiler.
A downside of this prototyping method is reliance on an opaque proprietary toolchain.
If the prototype has a corner case Mathworks didn’t anticipate the project may have to be recoded in another language such as Python that runs directly on the embedded computer.
Another alternative is running the Matlab script directly on the embedded system using GNU Octave.
We have achieved 30+ fps batch processing on video motion streams on the Raspberry Pi Zero with GNU Octave.
Popular Raspberry Pi operating systems can easily install a recent GNU Octave.
apt install --no-install-recommends octave
First try Octave on a laptop to verify the particular Matlab script works with Octave.
If the script doesn’t work with Octave and it seems too difficult to do so, consider transitioning to Python.
Most programming languages have a built-in random number generator.
Using an a priori random seed can be useful in testing simulations using randomness.
In simulations with non-linear growth, small differences at the beginning of the simulations can result in significantly different time evolution of the outputs.
To help test such simulations as compared against known-good reference data, it can be useful to set a known random seed to see that expected outputs result.
The Anker Soundcore Life P2 has excellent sound quality.
For use with more than one device, consider instead earbuds that have
multipoint Bluetooth
(the Soundcore Life P2 earbuds do not have multipoint).
The FCC ID is “2AOKB-A3919RT”.
In general for Bluetooth earbuds of any brand, it’s best to carry the charging container with you to protect and charge the earbuds when not in use.
You may need to manually select “headset” or “stereo” mode in your operating system.
Windows for example allows per-app defaults, or switch by clicking on Windows toolbar speaker icon.
The “pros” or upsides of these earbuds:
Excellent stereo sound quality including aptX
Works well with single earbud (left or right) and auto-enables stereo if 2nd earbud turned on (or mono if 2nd earbud turned off).
four microphones (two per ear) give excellent quality on two-way audio e.g. videoconferencing
holds in ear well with several earmold sizes–comfortable used several hours per day
USB-C charging jack on container, which fits well in pocket
The “cons” or downsides of these earbuds include negative characteristics that are serious enough to consider buying a different model earbud.
no multipoint Bluetooth–switching devices effectively requires repairing each time.
flashing status light annoyingly bright, particularly at night. They are like a “mug me” beacon if walking outside at night.
Sometimes the earbuds lose sync with each other, so that they only function individually not as a stereo pair.
The procedure for resetting / recovering stereo sync is from Soundcore support:
“Forget” the pairing with both Soundcore earbuds on your device
Place the earbuds into the charging case and ensure they are being charged (white light steady)
Press and hold the button on both earbuds for 3 seconds. The LED indicators will flash red 3 times and then turn white briefly. Release the buttons when the light turns white.
Now wait for about a minute.
Take both earbuds out of the charging case, and lay them where you can see each earbuds’ light.
after a few seconds, the white light on one (usually right) earbud will flash quickly, which means it enters pairing mode.
On the phone, add device named “Soundcore” or “Soundcore-L” on the Bluetooth list. The white light will flash slowly, which means it paired successfully.
A few seconds later, there will pop out a screen with “Bluetooth Pairing Request”, just click “Pair” (this step is very important)
In the bluetooth pairing list the Soundcore is displayed as “connected”, and the Soundcore-L is displayed as “not connected”.
In fact, the earbuds are normally TWS paired to work
- name:Put MSYS2_MinGW64 on PATH# there is not yet an environment variable for this path from msys2/setup-msys2run:echo "${{ runner.temp }}/msys64/ucrt64/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
On Windows the most commonly used MPI libraries are MS-MPI and
Intel MPI.
MSYS2 is a popular choice to use GCC, Clang and many other developer tools from the Windows Command Prompt, PowerShell or the MSYS Terminal itself.
Continuous Integration for Windows MPI applications on GitHub Actions is accomplished using a workflow as below.
This would be in a
.github/workflows/ci_cmake.yml
file.
Set inter-step environment variables using GitHub Actions
environment files.
The Eton Elite Executive is the latest iteration of a fine entry-level SSB-enabled shortwave receiver.
Others have noted its positive aspects that I generally agree with.
Here are a few downsides and limitations.
No computer connection. 700 memories, but they are manually entered.
Airband (118-136 MHz) suffers from overloading from FM broadcast (100 MHz). Manifests as broadband white noise and scratchy distorted voice-like sounds up to full-scale strength covering nearly all airband transmission. This happens when within a couple miles of an FM broadcast station.
The synchronous AM has a too-short time constant on tracking the carrier frequency. Music or tones like WWV break the frequency sync and sound wobbly.
backlight stays on in battery mode. This consumes a lot of battery if you forget to shut it off overnight. If you plug the radio in but have a master bench power shutoff, either remove the batteries or turn off the backlight.
several second delay when switching from AM to SSB or sync AM.
Some benefits:
The SSB receive has good audio quality for voice communications.
The selectable bandwidth generally works well. 3 kHz, 4kHz and 6 kHz are commonly used on AM, with narrower bandwidths available.
MW (530-1700 kHz) sensitivity is good, along with FM (100 MHz).
longwave NDB beacon sensitivity also seems good. Longwave uses the internal coil bar antenna like MW.
An external wire antenna (even if just clipped to the extendable antenna) makes a great improvement in many cases for shortwave.
The power adapter usually doesn’t cause interference. If you get a hum try running on battery instead to see if conducted or ground loop interference.
In general as with any shortwave radio, if there is too much noise, try turning off as many lights and unplugging as many items from wall mains power as possible. Then plug in / turn on one by one. When the noise is heard, take the radio around and see if the noise increases when near an offending object.
Unix-like OS users are often familiar with using shell
command substition.
PowerShell
command substitution
works similarly.
On any of these systems, command substitution works by enclosing the first command in “$()” like:
echo$(whoami)
To use additional strings adjacent to the command output, like when wanting to change directory relative to command output, enclose in quotes like:
The Unix
time
command measures the elapsed time between the start and end of a command.
For Windows PowerShell, command execution time is measured by
Measure-Command.
Measure-Command { ls }
Measure-Command { ping localhost }
Windows Subsystem for Linux can mount SD card, USB thumb flash drives, CD / DVD drives (CDFS), network drives, and UNC paths via
“wsl –mount”.
WSL can mount disk formats FAT, ExFAT or NTFS and VHD images.
For Windows 10 or those not desiring to use “wsl –mount” to mount external drives, the following can be used instead.
If Windows changes the external drive letter on a subsequent session, you need to repeat this process.
These commands are typed into the Windows Subsystem for Linux Terminal.
Create a mount location in WSL and mount the drive (assume the drive shows in Windows as “F:”):
mkdir /mnt/f
mount -t drvfs f: /mnt/f
One can then create and manipulate files from both Windows and WSL on the same external drive.
For network storage, assume networked storage is already showing in Windows under \\server\share and we want to access this network storage from WSL as /mnt/share.
Create a mount location in WSL and mount the network share:
mkdir /mnt/share
mount -t drvfs '\\server\share' /mnt/share