ブックマーク / lowreal.net (4)

  • Machinekit (Linux CNC) のアーキテクチャと、BeagleBone Black での動作 | tech - 氾濫原

    背景 現在は CNC のコントローラとして Grbl + 自作のインターフェイスを使っています。Grbl の G-code インタプリタは必要な機能はほとんどどありますが、凝ったことをしようと思うと少し困ることがでてきます。 ということで、Beagle Bone Black と Machinekit (Linux CNC) での環境構築をぼちぼちはじめています (まだある程度設定しただけで動かせてませんが)。その過程で結局コードを読むハメになってるので覚書を残しておきます。 Machinekit とは何か MachinekitLinux CNC (EMC2) からの fork プロジェクトです。Linux CNC は x86 しかサポートしていませんが、Machinekit は ARM もサポートしています。細かい違いがいろいろあるみたいですが、実のところよくわかってません。 OSS

    eggman
    eggman 2017/01/10
  • 中華製 HDMI -> USB 3.0 UVC キャプチャデバイス | tech - 氾濫原

    ちょっと思うところあって、HDMI を USB Video Class (UVC) に変換するキャプチャデバイスを買ってみました。簡単にいうと HDMI 出力をウェブカメラとして扱うことができるというものです。 この手のものは基的に結構高価なのですが、この製品は AliExpress で $108 とかなり安い (というか 1080p USB 3.0 対応だと市場最安ぐらい?) です。 軽く使ってみる PS3 とりあえず PS3 の HDMI 出力をこのデバイス経由で MacBook に入力して QuickTime Player で見てみました。 QuickTimer Player 側で画質を「最高」に設定すると 1080p で綺麗な画像が出てきます。また、音声もちゃんとキャプチャできていました。 この状態でゲームを起動したりしてみましたが、繋いだ状態でプレイできる感じではありません。後

    中華製 HDMI -> USB 3.0 UVC キャプチャデバイス | tech - 氾濫原
    eggman
    eggman 2016/11/02
  • ErgoDox ではないナニか。オープンソースかつ Bluetooth 接続のキーボード | tech - 氾濫原

    ここ数ヶ月ぐらいキーボードを作っていた。そのためにいろいろ yak-shaving としかいいようがないことも多々していた。 いろいろ書くことが多いので、細かい設計などについては別途エントリを分ける。 コンセンプトとキーレイアウトおよび技術仕様の決定 回路設計とアートワーク・実際の製作 ファームウェアの実装 あたりをそれぞれ別途詳細なエントリを書く。だいたいの人は細かいことはどうでもいいと思うので、概要のみこのエントリにまとめる。 コンセプトや特長 UNIX ベースのキーレイアウト (というかHHKBをベース) とし、違和感なしに分割キーボードとする。 キー配列 UNIX キーボードを2分割した形を基にする。つまり HHKB とほぼ同じで、Ctrl キーはAの左、ESC は 1 の左など。 矢印キーはどうしても欲しい (HHKB への大きな不満のひとつ) F1〜F12キーもできれば欲しい

    ErgoDox ではないナニか。オープンソースかつ Bluetooth 接続のキーボード | tech - 氾濫原
    eggman
    eggman 2016/08/31
  • GreaseMonkey Driven Development / Shibuya.js Technical Talk #2

    てんぷれ例 // ==UserScript== // @name Test // @description Test // @namespace http://lowreal.net/ // @include * // ==/UserScript== (function () { /* GM_xmlhttpRequest({ method : "GET", url : url, headers : { "User-Agent":"monkeyagent", "Accept":"text/monkey,text/xml", }, onload : function (req) { var doc = new XML(req.responseText.replace(/^<\?xml.+?\?>/, '')); }, onerror : function (req) { alert(req.r

  • 1