Skip to content

Instantly share code, notes, and snippets.

Avatar

mipsparc mipsparc

View GitHub Profile
@mipsparc
mipsparc / fat_ls.py
Last active Apr 20, 2016
Show LFN and SFN like ls on FAT12/16 (Support UTF-8/UTF-16 file name)
View fat_ls.py
#!/usr/bin/env python3
import struct
from sys import argv
UTF8_prior = False
#FILENAME = input('img name?: ')
FILENAME = argv[1]
def getLFN(ldir_wholename):
ldir_wholename = ldir_wholename.replace(b'\xff\xff',b'') #remove padding
@mipsparc
mipsparc / ix_tools.py
Last active Apr 23, 2016
NEC IXシリーズのルータから諸情報を取得するやつ。実行にはPython3が必要。IX2015以外かホスト名を変更している場合は、prompt1,2を変更すること。ex)$ ./ix_uptime.py 192.168.0.1 username password
View ix_tools.py
#!/usr/bin/env python3
from telnetlib import Telnet
from sys import argv
from time import sleep
prompt1 = b"IX2015# "
prompt2 = b"IX2015(config)# "
command1 = b"show uptime\r"
command2 = b"show arp entry\r"
@mipsparc
mipsparc / dequoter.py
Last active May 30, 2016
ALINCO Clone UtilityのCSVインポート機能は「"」が一番右の行についているとその列を無視してしまうので、すべてのセルから「"」を削除する。あと改行コードもWindowsに合わせる
View dequoter.py
import os.path
filename = input('CSV filename: ')
data = open(filename).readlines()
name, ext = os.path.splitext(filename)
out = open(name+'_ok'+ext, 'w')
outdata = ''
for row in data:
outrow = row.replace('\n','').replace('\r','').replace('\'','').replace('"','')
@mipsparc
mipsparc / totts.py
Last active Aug 23, 2016
MPEG2-TSの中のTDTパケットを取り出して、中に入ってる時刻情報を表示するやつ
View totts.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 / totts_stream.py
Last active Aug 23, 2016
totts.py(MPEG2-TSの中のTDTパケットを取り出して、中に入ってる時刻情報を表示するやつ)のリアルタイムストリーム入力可能にしたバージョン。
View totts_stream.py
#! /usr/bin/env python3
#coding:utf-8
#require bitstring
import bitstring
from sys import argv
import math
import sys
import io
import time
@mipsparc
mipsparc / isdbt_clock.py
Last active Aug 23, 2016
チューナーから標準入力されたストリームを読み込んで時刻情報パケット(TDT)から時刻を取得し、GUIの時計を表示します
View isdbt_clock.py
#!/usr/bin/env python3
#coding:utf-8
import json
import random
import time
try:
from gi import pygtkcompat
except ImportError:
pygtkcompat = None
@mipsparc
mipsparc / exif_year.py
Created Aug 5, 2017
標準入力で与えられたファイル名のJPEGファイルのEXIF情報を読み込み、撮影された年を標準出力で返す
View exif_year.py
#/usr/bin/env python3
from PIL import Image
from datetime import datetime
imgname = input();
img = Image.open(imgname)
#DateTimeOriginal のExif tag ID
taken_datetime_exif = img._getexif()[0x9003]
@mipsparc
mipsparc / renamedirs.sh
Created Aug 5, 2017
renamedirs.txtにあるディレクトリのそれぞれ1番最初にあるJPEGファイルの撮影年をディレクトリ名に付加する
View renamedirs.sh
#!/bin/bash
cat renamedirs.txt | while read DIRN
do
FILENAME=`ls -1 $DIRN | sed -n '1p'`
YEAR=`echo ${DIRN}/${FILENAME} | python3 photodir_year.py`
echo "renaming ${DIRN}"
mv $DIRN ${DIRN}_${YEAR}
done
@mipsparc
mipsparc / door_led_indicator.c
Last active Apr 10, 2018
E233系ドア上ランプをイメージして、接点状態が変化すると0.3秒点滅を5回繰り返すPIC16F677向けCプログラム
View door_led_indicator.c
// CONFIG
#pragma config FOSC = INTRCCLK // Oscillator Selection bits (INTOSC oscillator: CLKOUT function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config IESO = OFF // Internal External Switchover bit (Internal External Switchover mode is disabled)
#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled)
@mipsparc
mipsparc / serialtx.c
Created Apr 11, 2018
USARTで送信するテスト PIC16F1579向け
View serialtx.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)
You can’t perform that action at this time.