Skip to content

Instantly share code, notes, and snippets.

Avatar

mipsparc mipsparc

View GitHub Profile
@mipsparc
mipsparc / pidcount.py
Last active Oct 8, 2021
MPEG2-TSファイルを解析して、含まれているPIDと数を列挙する
View pidcount.py
#! /usr/bin/env python3
#coding:utf-8
#require bitstring
import bitstring
import math
import sys
filename = sys.argv[1]
packet_length = 188
@mipsparc
mipsparc / OHC-PC01A.py
Last active Mar 17, 2021
三鶯重工(サンイン重工)のワンハンドルマスコンをPythonで扱うためのサンプルコード・プロトタイプです。一応動きます
View OHC-PC01A.py
#coding: utf-8
# サンイン重工 OHC-PC01AコントローラからPythonへ繋ぎこむライブラリ
import pygame
import time
class OHC_PC01A:
def __init__(self):
pygame.init()
@mipsparc
mipsparc / dsair2_analog_test.py
Last active May 10, 2020
DSair2 鉄道模型コントローラでアナログ鉄道模型をPythonから制御する、あくまでサンプルコード
View dsair2_analog_test.py
#coding:utf-8
import serial
import time
def send(s, value):
s.write(value.encode('ascii') + b'\n')
s.flush()
def init_dsair2(s):
@mipsparc
mipsparc / retribe_xmls.js
Last active Oct 12, 2019
2日以内のDMARC XMLを取得するサンプルコード
View retribe_xmls.js
function retribeXMLs()
{
var xmls = [];
var messages;
var zipblob;
var fileblob;
// 2日以内のすべてのスレッドを取得
var threads = GmailApp.search('newer_than:2d');
@mipsparc
mipsparc / dmarc.xml
Last active Sep 25, 2019
DMARCのXMLで特に見るべきポイント
View dmarc.xml
<feedback>
<report_metadata>
<org_name>受信者名</org_name>
<date_range>
<begin>開始UNIX TIME</begin>
<end>終了UNIX TIME</end>
</date_range>
</report_metadata>
<record>
<!-- recordは1つのXMLに複数含まれうる -->
@mipsparc
mipsparc / sekkin.py
Created Aug 3, 2019
接近メロディーながすやつ
View sekkin.py
#coding:utf-8
import serial
import time
import pygame
# シリアルポートのデバイスファイル名に差し替える
port = '/dev/sekkin'
pygame.mixer.init(44100, -16, 1, 256)
@mipsparc
mipsparc / dep_bell.py
Created Jun 3, 2019
発車メロディ(発車ベル)ながすやつ for Linux/Mac/Windows
View dep_bell.py
#coding:utf-8
# Requirements: Python3, PySerial, Pygame
# 同じディレクトリに bell.wav と announce.wav を用意する
# 「どこでも発車ベル」と同じボタンをつなぐ
# シリアルポートを設定する
import serial
import time
import pygame
@mipsparc
mipsparc / FREQROL.py
Created Dec 4, 2018
三菱電機のインバータ FREQROLをPythonとRS485で動かすやつ。MITライセンス。安全にはまったく配慮していないので、十分気をつけてください。
View FREQROL.py
#! /usr/bin/env python3
#coding:utf-8
import serial
import time
class FREQROL:
def __init__(self):
self.ser = serial.Serial(
port='/dev/ttyUSB0', # ここをRS485デバイスに書き換える。COM0など
@mipsparc
mipsparc / mascon_read.c
Last active Dec 2, 2018
DE10/DE15に使用されるMC45A主幹制御器などからノッチを読み取るやつ(PIC16F1579向け)
View mascon_read.c
// PIC16F1579 Configuration Bit Settings
// CONFIG1
#pragma config FOSC = INTOSC // Oscillator Selection Bits (INTOSC oscillator; I/O function on CLKIN pin)
#pragma config WDTE = OFF // Watchdog Timer Enable (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable (PWRT enabled)
#pragma config MCLRE = OFF // MCLR Pin Function Select (MCLR/VPP pin function is digital input)
#pragma config CP = OFF // Flash Program Memory Code Protection (Program memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Enable (Brown-out Reset enabled)
#pragma config CLKOUTEN = OFF // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin)
@mipsparc
mipsparc / break_reader.c
Created Dec 2, 2018
ブレーキ統合ユニットからボタンやブレーキハンドル角度を読み出すやつ
View break_reader.c
#include "mcc_generated_files/mcc.h"
void main(void)
{
// initialize the device
SYSTEM_Initialize();
// Enable the Global Interrupts
INTERRUPT_GlobalInterruptEnable();