Skip to content

Instantly share code, notes, and snippets.

#define F_CPU 8000000UL // 内蔵クロック8MHz
#include <avr/io.h>
#include <util/delay.h>
// 設定
#define FREQ_HZ 60 // 周波数60Hz
#define CYCLE_US (1000000UL / ((FREQ_HZ -10) * 2)) // 周期のマイクロ秒。10Hz高く出るので引く
#define HALF_PERIOD_US (CYCLE_US / 2) // 半周期のマイクロ秒
#define DEADTIME_US 20 // デッドタイム20us
#define MAX_ON_TIME_US (HALF_PERIOD_US - DEADTIME_US) // 最大ON時間(半周期からデッドタイムを引いた値)
@akira345
akira345 / docker-compose.yml
Last active June 10, 2025 14:02
nodeJS+MySQLコードサンプル
# Mysqlコンテナを起動
services:
mysql:
image: mysql:8
container_name: mysql_container
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test
ports:
- "3306:3306"
@akira345
akira345 / buildmemo.txt
Created January 12, 2025 10:26
AT90S2313 avr-gcc code sample
AT90S2313ビルド方法
## -Wall : 詳細な警告を全て表示するようにする
## -Os : バイナリサイズが小さくなるよう最適化をする
## -mmcu=<Name> : プログラムを動かすマイコンを指定
# ビルド
avr-gcc -Os -Wall -mmcu=at90s2313 main.c -o test.elf
# elfからhexファイル作成
avr-objcopy -I elf32-avr -O ihex test.elf test.hex
# メモリ使用量を調べる
@akira345
akira345 / main.c
Created November 17, 2024 11:18
PIC16F627+ST7735制御テストプログラム。ソフトウエアSPIなので遅い
#include <xc.h>
// 構成ビット設定
#pragma config FOSC = INTOSCIO // 内部クロック使用、RA6, RA7はI/Oとして使用可能
#pragma config WDTE = OFF // ウォッチドッグタイマー無効
#pragma config PWRTE = ON // パワーオンタイマー無効
#pragma config MCLRE = OFF // MCLRピン無効
#pragma config BOREN = OFF // 電源電圧低下検出無効
#pragma config LVP = OFF // 低電圧プログラミング無効
#pragma config CP = OFF // コード保護無効
@akira345
akira345 / RTX1200.cfg
Created August 11, 2016 04:59
RTX1200でNAT2つ作る設定サンプルです。
# RTX1200 Rev.10.01.65 (Tue Oct 13 12:23:48 2015)
# Memory 128Mbytes, 3LAN, 1BRI
# main: RTX1200 ver=b0 serial=XXXXXXXX MAC-Address=XX:XX:XX:XX:XX:XX MAC-Address=XX:XX:XX:XX:XX:XX MAC-Address=XX:XX:XX:XX:XX:XX
# Reporting Date: Aug 7 17:18:23 2016
# セキュリティクラス 3(シリアルからのみログイン許可)
# Telnet SSHコマンド使用不可
security class 3 on off off
# タイムゾーンはJST
@akira345
akira345 / CloudFrontFunctions.js
Last active July 24, 2024 03:02
CloudFrontKeyValueStoreをつかったリダイレクト設定ラムダ
import cf from 'cloudfront';
const kvsId = '<CloudFrontKeyValueStoreのID>';
// This fails if the key value store is not associated with the function
const kvsHandle = cf.kvs(kvsId);
// async functionになるので注意!
async function handler(event) {
// CloudFrontから渡ってくるヘッダからホスト名取得
@akira345
akira345 / Dockerfile
Last active June 14, 2023 15:44
zabbix-serverを構築するdocker-compose.ymlサンプル。パスワードとかは適当に変えること。docker-proxyを使用しています。
FROM zabbix/zabbix-web-apache-pgsql:ubuntu-latest
USER root
RUN apt-get clean && apt-get update && \
apt-get -y install fonts-ipafont && \
rm -f /etc/alternatives/zabbix-frontend-font && \
rm -f /usr/share/zabbix/assets/fonts/DejaVuSans.ttf && \
update-alternatives --install /usr/share/zabbix/assets/fonts/DejaVuSans.ttf zabbix-frontend-font /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf 50 && \
update-alternatives --set zabbix-frontend-font /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf && \
chown -R www-data:www-data /usr/share/zabbix/assets/ && \
chmod -R 744 /usr/share/zabbix/assets && \
@akira345
akira345 / docker-compose_backup.sh
Last active June 14, 2023 15:18
Docker-Composeで作成したコンテナのボリューム、DBをバックアップするシェルスクリプト。DBのコンテナ名は命名規則を適用する前提
#/bin/bash
#
# Cronで動かすときはPATHを設定すること。
# 例:)PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
get_contenner_service_name(){
echo $1 | cut -d"_" -f2- | rev | cut -c 3- | rev
}
mysql_contenner_backup(){
target_contenner=$1
@akira345
akira345 / S3toCloudFront.rb
Created February 7, 2016 07:01
S3+CloudFrontでCache Distributionパターンを構築するスクリプト。S3バケットの作成からアクセスポリシーの設定、CloudFrontの設定まで一通りやります。
# -*- coding: utf-8 -*-
#
# S3+CloudFrontでCache Distributionパターンを構築するスクリプトです。
# 要 AWS SDK for Ruby V2
require 'aws-sdk-core'
require 'yaml'
require 'pp'
config = YAML.load(File.read("config.yml"))
@akira345
akira345 / mutex.js
Created November 11, 2020 15:12
mutexが必要??
'use strict';
const { Mutex } = require( 'await-semaphore' );
/**
* スリープ
*/
const _sleep = ( waitSec ) => {
return new Promise( function ( resolve ) {
setTimeout( function () { resolve(); }, waitSec );
} );