Skip to content

Instantly share code, notes, and snippets.

View ekawahyu's full-sized avatar

Eka Susilo ekawahyu

View GitHub Profile

Issue Description

Rosetta, the x86_64 emulation layer on Apple Silcon doesn't seem to support an instruction the latest gcc-arm-embedded (11.x) needs. As the workaround, we install the previous known good version (10.3).

Workaround

On terminal, execute the following to install the last known good version (10.3):

$ brew tap --force homebrew/cask

@ekawahyu
ekawahyu / msp430-gcc-4.7.0-build.sh
Last active July 18, 2023 14:45
Script to build msp430-gcc-4.7.0
#!/bin/bash
set -e
# Prerequisite for Linux (Ubuntu-based):
# sudo apt-get install libncurses-dev flex libgmp3-dev libmpfr-dev bison libmpc-dev zlib1g-dev automake build-essential libtool patch tar wget
# If you have newer texinfo in the system, please uninstall or temporarily disable it during building this script:
# sudo apt-get purge texinfo
# Prerequisite for macOS (Homebrew):
@ekawahyu
ekawahyu / STLink Upgrade on Apple M1.md
Last active June 18, 2024 23:58
STLink Upgrade on Apple M1
@ekawahyu
ekawahyu / usbdev.sh
Created June 12, 2023 17:07
Simple bash script to list of multiple USB serial devices by their name
#!/bin/bash
for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
(
syspath="${sysdevpath%/dev}"
devname="$(udevadm info -q name -p $syspath)"
[[ "$devname" == "bus/"* ]] && exit
eval "$(udevadm info -q property --export -p $syspath)"
[[ -z "$ID_SERIAL" ]] && exit
echo "/dev/$devname - $ID_SERIAL"
@ekawahyu
ekawahyu / atcommand.py
Last active October 1, 2024 21:14
Resilient USB Serial AT Command - Waiting for AT Port, reconnecting feature, and exception handling
import glob
import time
import serial
import serial.threaded
import threading
import queue
# find alternative to define queue in user space, not here please
ATResponse = queue.Queue()
@ekawahyu
ekawahyu / subprocess_stdout_instantly.py
Last active October 7, 2024 04:52 — forked from thenger/subprocess_stdout_instantly.py
Python display subprocess stdout in real time
import os
import shlex
import subprocess
# Redirect stderr and stdout of a subprocess to the python ones
def exec_cmd_with_output(cmd):
stdoutlines = []
a_process = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in a_process.stdout:
@ekawahyu
ekawahyu / wifi-spectrum-analyzer.py
Created October 28, 2024 23:29
Wi-Fi Spectrum Analyzer written in Python
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import subprocess
import re
all_colors = ['tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan']
plt.style.use('dark_background')
while True: