めのん@ひとりプログラミング同好会

このブログはすべてフィクションであり、実在の人物、団体とは一切関係ありません

新ブログに移行します。

こんにちは、めのんです。 ずいぶんご無沙汰してしまっています。 このたび新ブログに移行することにしました。 今後は新ブログをよろしくお願いします。 https://www.menonfled.com/

Zig版ASP3カーネルのtmevtb_enqueue_reltim

こんにちは、めのんです! 前回から1週間あまり間があいてしまいました。 みなさん、いかがお過ごしでしたでしょうか? 今回見ていくのはdly_tskからよばれていたtmevtb_enqueue_reltim関数です。 サービスコールではなくて、カーネル内部で呼び出している関…

Zig版ASP3カーネルのdly_tsk

こんばんは、めのんです! しばらく間が開いてしまいましたが、Zig版ASP3カーネルの続きを読んでいきたいと思います。 今回はタスク付属同期機能のサービスコールのひとつdly_tskを見ていくことにします。 一応このサービスコールの説明を簡単にしておきます…

Zig版ASP3カーネルのwup_tsk

こんばんは、めのんです! 今日のお昼はタスク付属同期機能のサービスコールslp_tskを見ていきました。 menonfled.hateblo.jp slp_tskはタスクを起床待ち、もっと簡単な言葉を使えば寝かしつけるためのサービスコールでした。 タスクを寝かしつけたままにす…

Zig版ASP3カーネルのslp_tsk

こんにちは、めのんです! 平日になりましたので、今回はいつものようにZig版TOPPERS/ASP3カーネルの話題です。 念のため前回のリンクも貼っておきますね。 menonfled.hateblo.jp 今回見ていくのはタスク付属同期機能の代表的なサービスコールのひとつslp_ts…

OpenSiv3Dでボタンを離したことを検知する

こんにちは、めのんです! 前回はOpenSiv3DのSimpleGUI::Buttonについて調べてみました。 名前の通り本当にシンプルでいいんですけど、ボタンを押したときしかイベントを取れないことがわかりました。 私がやりたいのは、ボタンを押したときにLED器具を点灯…

OpenSiv3DのSimpleGUI::Button

こんにちは、めのんです! いつも土日はOpenSiv3Dの話題だったんですけど、いろいろ事情があって土曜日は別の話題になってしまいました。 でも今日はOpenSiv3Dの話題ですよ。 先週、OpenSiv3DとBoost.Asioを使ってsACNでLED器具(に見立てたエミュレーション…

CSVを変換するだけの仕事

こんばんは、めのんです! 今日の日中にはCSVを読み込むプログラムをC++の練習がてら作ってみました。 これまでCSVのパースは.NETのTextFieldParserクラスを使ってC#で実装していました。 でも、できることならC#で実装したいと思って今回挑戦してみました。…

C++の練習を兼ねてCSVパーサーを書いてみました!

こんにちは、めのんです! 平日はZigの話題が中心で、週末は主にOpenSiv3Dの話題だったんですけど、今回はちょっと違うことに挑戦してみました。 Twitterでほえほえ@LWPさんが「(CSVを)ベタなコードで解析してほしい」とおっしゃっていましたので、さっそ…

Zig版ASP3カーネルのcan_actとter_tsk

こんばんは、めのんです! 今夜は違う話題にしようかとも考えたんですけど、これといったネタがなかったのでいつものようにZig版ASP3カーネルです。 前回はact_tskを見ましたので、今回はある意味それと対になるcan_actを見ていくことにします。 定義はact_t…

Zig版ASP3カーネルのact_tsk

こんにちは、めのんです! 昨夜は久々に違う話題にしましたけど、ここのところずっとZig版TOPPERS/ASP3カーネルの話題を取り上げています。 今回はact_tskというサービスコールを見ていきたいと思います。 念のためact_tskについて少しだけ解説しておきます…

ハローワークも悪くないと思いますよ!

こんばんは、めのんです! ここのところずっとZig版ASP3カーネルの話題ばっかりでしたので、たまには違い話もしてみようかなと思って今回は投稿しています。 昨年の終わりぐらいからだんだん景気が悪くなってきていて、年が明けると新型コロナウイルス感染症…

Zig版ASP3カーネルのPrioBitmap

こんにちは、めのんです! 前回はタスクに関する本当にこまごました内容をざっと見ていきました。 今回はその中で登場したレディキューサーチのためのビットマップに使用していたPrioBitmap関数を見ていくことにします。 まずは前回のおさらいで、レディキュ…

Zig版ASP3カーネルのタスクに関するこまごま

こんばんは、めのんです! 前回予告したとおり、今回はタスクに関するこまごました内容を見ていくことにします。 最初は前回も登場したレディキューから見ていくことにしましょう。 /// /// レディキュー /// /// レディキューは,実行できる状態のタスクを…

Zig版ASP3カーネルのTINIBとTCB

おはようございます、めのんです! 前回までで静的APIのCRE_TSKについては一通り目を通しました。 他の静的APIについてもほぼ同じようなことの繰り返しですので、静的APIについてはいったんこれで終わりにします。 今回はCRE_TSKで生成していたタスク初期化…

Zig版ASP3カーネルのtask.cre_task関数

こんばんは、めのんです! 前回は静的APIのCRE_TASKの中をのぞいてみました。 だんだんZigらしいコードが出てきていよいよ面白くなってきましたね。 今回はそのCRE_TSKから呼ばれているtask.cre_task関数を見ていくことにします。 CRE_TSKも本当ならCfgData.…

Zig版ASP3カーネルのCRE_TSKの中

こんにちは、めのんです! 前回予告したとおり、今回は静的APIのひとつCRE_TSKの中を覗いていくことにします。 まずはkernel/static_api.zigにあるCRE_TSKの定義をおさらいしましょう。 // タスクの生成 pub fn CRE_TSK(comptime p_self: *CfgData, comptime…

Zig版ASP3カーネルのT_CTSK

こんばんは、めのんです! お昼の投稿ではCRE_TSKの各引数について見ていきました。 その中の最後の引数ctskの型T_CTSKは結構複雑だったので後回しにしました。 今回はT_CTSKの各フィールドについて、さらに深堀していくことにします。 まずはT_CTSK型の定義…

Zig版ASP3カーネルのCRE_TSK

こんにちは、めのんです! Zig版ASP3カーネルについては木曜日以来ですね。 ずっとこのブログを読んでくださっている方でも、数日間を空けると忘却の彼方かもしれませんのでリンクを貼っておきますね。 menonfled.hateblo.jp 前回は静的APIについてZeig版ASP…

OpenSiv3Dで作ったLED器具とsACNの送受信を結合

こんにちは、めのんです! 前回はOpenSiv3Dで作ったLED器具のエミュレーション部分のお話でした。 今回は前々回までに作ったsACNのパケットを実際にUDPで送受信する部分と結合しました。 まずは受信側です。 #include <Siv3D.hpp> // OpenSiv3D v0.4.3 #include <boost/asio.hpp> #inclu</boost/asio.hpp></siv3d.hpp>…

OpenSiv3DでLチカをエミュレーション

こんにちは、めのんです! 金曜日の夜からLチカに挑戦しています。 LチカというのはLEDをチカチカ点滅させることなんですが、普通に簡単な回路を作ってのLチカでは当たり前すぎて面白くありません。 そこでsACNという業務用の照明制御のためのネットワークプ…

sACNのData Packet

こんばんは、めのんです! お昼の投稿ではsACNについてざっと調べた内容を書きました。 今夜の投稿(この投稿です)では、sACNのData Packetを組み立てて送受信が行えるところまでもっていきたかったんですが、なかなか時間が取れなかったのでとりあえずData…

sACNについて調べてみよう!

こんにちは、めのんです! 前回、この週末はOpenSiv3DでLチカをやるということを書きました。 で、せっかくなのでsACNを使おうということになったのですが、本物のLED器具を用意すると結構なお金がかかりますし、場所も取るので大変です。 そこで、OpenSiv3D…

週末はOpenSiv3DでLチカに挑戦!

こんばんは、めのんです! 先日TwitterでArduinoを使ったLチカの動画をアップされていた方がいらっしゃいました。 私もそういうのは好きなので、久々にやってみたくなりました。 ご存じない方のために補足しておくと、「Lチカ」というのはLED(発光ダイオー…

ひとりプログラミング同好会

こんにちは、めのんです! 今週はほとんどZig版ASP3カーネルの話題ばっかりだったんですけど、今回は雑談というかお知らせになります。 すでにお気づきの方もいらっしゃるかもしれませんが、ブログのタイトルを変更しました。 変更前: めのん@PHP猛勉強中…

Zig版ASP3カーネルの静的API

こんばんは、めのんです! 今週に入ってからずっとZig版のTOPPERS/ASP3カーネルを読んでいますが、今回は静的APIを見ていきたいと思います。 静的APIというのはコンパイル時に解決されるAPIで、C版ではコンフィギュレータで前処理を行ってCのコードを生成し…

Zig版ASP3カーネルのsns_ker

こんにちは、めのんです! 本当は前回書いてしまおうと思っていたんですけど、長くなったので先送りにしたサービスコールsns_kerを今回は見ていきたいと思います。 大したことはないと思うので今回はすぐ終わると思います(たぶん)。 sns_kerの定義はkernel…

Zig版ASP3カーネルのext_ker

こんにちは、めのんです! 今朝予告したとおり、今回はZig版TOPPERS/ASP3カーネルのサービスコールであるext_kerを見ていくことにします。 前回見ていったsta_kerはカーネルを開始するサービスコールでしたので、それと対になるext_kerはカーネルを終了させ…

Zig版ASP3カーネルのsta_ker

おはようございます、めのんです! 平日はPHPの話題にしようと思っていたのですが、昨日に引き続き今日もZigの話題です。 前回予告した通り今回はsta_kerを見ていくのですが、その前に例外ベクタテーブルを見ておくことにします。 例外ベクタテーブルはスタ…

Zig版ASP3カーネルのスタートアップ

こんにちは、めのんです! 今朝に続いてZig版TOPPERS/ASP3カーネルの話題です。 前回は大まかなディレクトリ構成を見ただけでしたので、今回から本格的にコードを見ていきたいと思います。 何でもそうですが、プログラムのソースコードを読むのは起動直後の…