Skip to content

Instantly share code, notes, and snippets.

View cfriedt's full-sized avatar

Chris Friedt cfriedt

View GitHub Profile
@cfriedt
cfriedt / zephyrrc.sh
Last active May 1, 2024 14:54
My Zephyr RC file
# The contents of this file should go into ~/.zephyrrc
# It is sourced with
# source zephyr-env.sh
# Download the Zephyr SDK from
# https://github.com/zephyrproject-rtos/sdk-ng/releases
ZEPHYR_SDK_VERSION=0.16.5-1
PREFIX=/opt/zephyr
VENV=$PREFIX/.venv
@cfriedt
cfriedt / gist:817d88b96256020649a33f32487e114c
Created November 17, 2023 15:10
zephyr-release-stats.sh
#!/bin/bash
set -e
# usage:
# ./zephyr-release-stats.sh | tee zephyr-release-stats.csv
cd $HOME/zephyrproject/zephyr
RELEASES=( v2.0.0 v2.1.0 v2.2.0 v2.3.0 v2.4.0 v2.5.0 v2.6.0 v2.7.0 v3.0.0 v3.1.0 v3.2.0 v3.3.0 v3.4.0 v3.5.0 )
N=${#RELEASES[@]}
@cfriedt
cfriedt / using-linux-zephyr-and-greybus-to-blink-an-led-via-ieee-802154.md
Last active October 17, 2023 07:46
Blink an LED using Linux, Zephyr & Greybus via IEEE 802.15.4
@cfriedt
cfriedt / things-to-fix-in-and-around-chrome-os.md
Last active March 11, 2021 13:46
Things to Fix In and Around Chrome OS

Things to Fix In and Around Chrome OS

Expose All USB Devices to Crostini

Crostini is the codename for the Linux virtual machine in Chrome OS. It has a number of particular functions, such as running Docker containers. Recently, it also became possible to connect USB devices to the Linux VM.

Currently, only Android devices are usable within Crostini, as indicated by this phrase within the settings screen.

Only Android devices are currently supported

But to be specific, each Chrome Device should..

@cfriedt
cfriedt / using-linux-zephyr-and-greybus-for-iot-with-the-cc1352r-sensortag.md
Last active October 10, 2020 00:18
using-linux-zephyr-and-greybus-for-iot-with-the-cc1352r-sensortag.md
@cfriedt
cfriedt / using-linux-zephyr-and-greybus-to-blink-an-led-via-bluetooth.md
Last active July 22, 2020 12:06
Blink an LED using Linux, Zephyr & Greybus via Bluetooth
@cfriedt
cfriedt / linux-to-zephyr-tcp-comm-802154-6lowpan.md
Last active June 14, 2020 12:50
Linux to Zephyr TCP Communication over IEEE 802.15.4 and 6LowPAN

Linux to Zephyr TCP Communication over IEEE 802.15.4 and 6LowPAN

This document describes, in some detail, the steps required to establish a reliable TCP commmunication channel between a Linux workstation and Zephyr device over IEEE 802.15.4 and IPv6 (via 6LowPAN).

Hardware Requirements

  • a Linux workstation running Ubuntu Bionic
    • Only x86_64 is supported at this time
  • a board that is supported by Zephyr with support for IEEE 802.15.4
  • In this example, we use the cc1352r1_launchxl
@cfriedt
cfriedt / wwtdow.md
Last active May 30, 2020 16:19
What Would Travis Do (On Windows)

What Would Travis Do (on Windows)

A Travis-CI Compatible Environment for Windows on Google Cloud

This gist should help users set a Google Cloud Virtual Machine (VM) environment similar environment to that provided by the Travis CI for Windows.

Initially, the regular traditional Windows Command Prompt is used for executing commands, and then git-bash is used for subsequent commands, much like the Travis environment.

Create a new VM Instance

@cfriedt
cfriedt / gcloud-windows-cmake-cplusplus.md
Last active May 30, 2020 14:09
Minimal C/C++ Build Environment for Windows Server 2016 on Google Cloud

Minimal C/C++ Build Environment for Windows Server 2016 on Google Cloud

These instrctions are an abridged version of the instructions to build WireShark for Windows found here.

In this case, the regular traditional Windows Command Prompt is used for executing commands, not the Windows PowerShell.

Rather than using a mingw environment (for gcc) or using LLVM/clang, we opt to simply use Microsoft Visual Studio. However, the Chocolatey package manager provides builds for a number of additional tools that might make Windows development seem a bit more familiar for non-Windows developers.

Create a new VM Instance

First, we have to set up a [virtual machine](https://en.wikipedia