flowchart LR
PC_Screen -- Take_a_picture --> OV5647 <-- libcamera --> Pi4 <-- SSH --> PC -- opencv --> PC_Screen
PCの画面に時計と撮影結果画像を表示します。 それをPi4のV1カメラで撮影し、 libcamera経由でPi4で処理し、
ID | Dsk | Pi4 | Pi3 |
---|---|---|---|
種類 | 廉価デスクトップ機(2〜3万で自作) | Raspberry Pi 4 model B (4GB) | Raspberry Pi 3 model B |
CPU | AMD Ryzen3 2200G 3.5GHz | ARM cortex-a72 2.0GHz | ARM cortex-a53 1.3GHz |
コア数 | 4コア | 4コア | 4コア |
Memory | DDR4-SDRAM 32GB | DDR4-SDRAM 4GB | DDR2-SDRAM 1GB |
電源 | 400W(たぶん賞味は150W程度) | 15W | 12.5W |
#include <acl.c> | |
void drawObj(); | |
void drawPoly(int j); | |
AInt32 sin_AInt32_12bit(const AInt32 x_12bit); | |
AInt32 cos_AInt32_12bit(const AInt32 x_12bit); | |
AInt32 vx[8], vy[8], vz[8], centerz4[6]; | |
AInt32 scx[8], scy[8]; | |
AInt8 squar[24] = { 0,4,6,2, 1,3,7,5, 0,2,3,1, 0,1,5,4, 4,5,7,6, 6,7,3,2 }; |
#! /bin/bash | |
xsetwacom set "Wacom Cintiq 13HD Pen stylus" rotate none | |
xsetwacom set "Wacom Cintiq 13HD Pen eraser" rotate none | |
xsetwacom set "Wacom Cintiq 13HD Pen stylus" maptooutput "1920x1080+0+0" | |
xsetwacom set "Wacom Cintiq 13HD Pen eraser" maptooutput "1920x1080+0+0" | |
xsetwacom set "Wacom Cintiq 13HD Pen stylus" area 580 440 59100 33300 # ペン側カーソル マッピング調整 (左上XY - 右下XY) | |
xsetwacom set "Wacom Cintiq 13HD Pen eraser" area 580 440 59100 33300 # 消しゴム側カーソル マッピング調整 (左上XY - 右下XY) |
difference() { | |
difference() { | |
union() { | |
translate([0,51.8-14.75,0]) translate([0,14.75/2,8.85/2]) cube([7.75,14.75,8.85],center=true); | |
translate([0,51.8/2,0]) difference() { | |
union() { | |
difference() { | |
translate([0,0,2]) cube([10.9,51.8,4],center=true); | |
union() { |
CC = gcc | |
RM = rm | |
DEFS = | |
CFLAGS = -Os -Wl,-s | |
LIBS = | |
TOL_PROG = osectols | |
TOL_DIR = tol | |
TOL_SRCS = $(TOL_DIR)/osectols.c | |
TOL_OBJS = $(TOL_SRCS:.c=.o) |
使い方: | |
ソースファイルパッケージのルートディレクトリ(app0100.ask などのソースファイルが置かれてる所)に、この Makefile を置いた状態で: | |
make osectols | |
これで osectols バイナリーをビルドできます。(ファイル名 osectols) | |
make osecpu | |
これで osecpu-vm バイナリーをビルドできます。(ファイル名 osecpu) | |
make osecpu-vm32 |
/* pc9801-on.c | |
* gcc -lasound -o pc9801-on{,.c} | |
*/ | |
#include <alsa/asoundlib.h> | |
main() | |
{ | |
snd_pcm_t *h; | |
snd_pcm_open(&h, "default", SND_PCM_STREAM_PLAYBACK, SND_PCM_ASYNC); | |
snd_pcm_set_params(h, SND_PCM_FORMAT_FLOAT, SND_PCM_ACCESS_RW_INTERLEAVED, 1, 44100, 1, 10000); |
GCC-4.7.x と GCC-4.8.x とでは、後置インクリメントの際のインクリメント実行タイミングが異なるので、 | |
この実行タイミングに暗黙に依存したコードでは動作に違いが生じてしまう場合があるようです。 | |
具体的には以下のようなコードの場合に違いが生じるようです: | |
int a[] = {10, 11, 12}; | |
int *p = a; | |
*p++ = p[1]; | |
GCC-4.7.x では結果は a[] = {11, 11, 12} となりました。 |
Version 2014-03-31 | |
osecpu-driver-linux-fbdev-x86-32bit.c は、osecpu の linux ドライバーです。 | |
これは X11 を用いずに(GUI環境を用いずに)、起動直後のターミナル環境(昔のDOSのような環境)のみで osecpu を動作させるためのドライバーとなります。 | |
(このドライバーを、実際に osecpu078d/osecpu.c へ組み込んだ、サンプルコードは osecpu078d-linux-fbdev.c です。 | |
また、Ubuntu13.10 など GCC4.8.x でビルドした場合に動作しなかったバグの修正も行ってあります。 | |
なお、現状のOsecpuが対応してるCPUは x86-32bit のみです。64bit環境では動作しないはずです。 | |
(32bit/64bit のマルチライブラリー環境の場合ならば GCC へのビルドオプションとして -m32 を追加することで |