Skip to content

Instantly share code, notes, and snippets.

View rniwase's full-sized avatar

Ryohei Niwase rniwase

  • Tsukuba, Ibaraki Japan
View GitHub Profile
@rniwase
rniwase / apicula_tangprimer20k.md
Created January 30, 2024 17:07
Build for Tang Primer 20K with yosys + nextpnr-himbaechel + apicula + openFPGALoader

Install dependencies

sudo apt-get install build-essential clang bison flex cmake libreadline-dev gawk tcl-dev \
                     libffi-dev git graphviz xdot pkg-config python3 libboost-all-dev zlib1g-dev \
                     python3-dev python3-pip clang-format libeigen3-dev

Install toolchains

  • apycula
pip3 install apycula
@rniwase
rniwase / ws_server.py
Last active October 31, 2023 17:55
MicroPython example for Websocket echo server on WIZNET5K + RPi Pico(RP2040)
import usocket
from machine import Pin, SPI
import network
import time
import re
import hashlib
import ubinascii
led = Pin(25, Pin.OUT)
@rniwase
rniwase / extract_riff.py
Created August 8, 2023 14:59
バイナリファイル内に含まれるRIFFフォーマットを検索・抽出してWAVファイルとして出力する
with open("inputfile", "rb") as f:
s = f.read()
idx = -1
count = -1
while True:
idx = s.find(b"RIFF", idx + 1)
if idx == -1:
break
@rniwase
rniwase / sample_extractor.py
Created June 12, 2022 14:52
WAVファイルの無音部分を区切りとしてファイルを分割する
'''
usage: python3 ./sample_sxtractor *.wav
'''
import sys
import copy
import wave
import numpy as np
from scipy import signal
# import matplotlib.pyplot as plt
@rniwase
rniwase / holder_gc_gen.py
Last active May 24, 2021 05:01
自作ユーロラックのレールナットホルダー加工Gコード生成スクリプト
NUM_X = 24
NUM_Y = 4
SPAN_X = 8.0
SPAN_Y = 8.0
FILE_HOLE = "hole.ngc"
FILE_INNER = "inner.ngc"
FILE_OUTER = "outer.ngc"
HEADER_COM = """G21
@rniwase
rniwase / 51-lattice.rules
Created April 16, 2021 18:23
udev rules for Lattice Diamond programmer, available in Ubuntu 20.04
# Lattice
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="1134",ATTRS{idProduct}=="8001",MODE="0660",GROUP="plugdev",SYMLINK+="lattice-%n"
# FTDI
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",MODE="0660",GROUP="plugdev",SYMLINK+="ftdi-%n"
SUBSYSTEM=="usb",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",RUN+="/bin/sh -c 'basename %p > /sys/bus/usb/drivers/ftdi_sio/unbind'"
@rniwase
rniwase / KiCad.gitattributes
Last active June 4, 2021 11:17
.gitattributes to make github-linguist recognize the KiCad (version 5.x) files
*.kicad_pcb linguist-detectable=true
*.kicad_mod linguist-detectable=true
*.kicad_wks linguist-detectable=true
fp-lib-table linguist-detectable=true
*.sch linguist-detectable=true
@rniwase
rniwase / sirenmachine.c
Last active May 4, 2022 20:55
サイレンマシーンforGB proto
/* use gbdk-2020 4.0.6 */
/* <path-to-gbdk-env>/bin/lcc -Wa-l -Wl-m -Wl-j -o sirenmachine.gb sirenmachine.c */
#include <gb/gb.h>
#include <stdio.h>
#include <gbdk/console.h>
UBYTE previous_keys;
BYTE keys;
#define UPDATE_KEYS() previous_keys = keys; keys = joypad()
@rniwase
rniwase / ms_codec.py
Created June 1, 2020 07:09
CDイメージからPCMを抽出してMS分離の有無でADPCMを適用したときの歪みを比較する
import numpy as np
from scipy import signal
from scipy import fftpack
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import soundfile as sf
import audioop
samplerate = 44100
@rniwase
rniwase / ms_plot.py
Created June 1, 2020 06:58
CDイメージからPCMデータを抽出して離散図・MS波形・スペクトルを描画
import numpy as np
from scipy import signal
from scipy import fftpack
from scipy import stats
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
samplerate = 44100
fft_size = 8192