c2a-core
c2a-core copied to clipboard
名前変更したいもの一覧!
概要
名前変更したいもの一覧!
詳細
ひとまず集めよう
リストアップ後やるべきこと
- 変更
- ドキュメント整備
If Wrapper -> Driver
じゃあ今の Driver は?
単体の Driver
という語を無くし, IfWrapper
を Device Driver
, Driver
を Component Driver
とするなどの案
文脈
- if wrapper はたしかにデバイスドライバだけど,Driverもドライバなだよなぁという
- Driver,プロトコル・スタックと,コンポーネントの抽象化,の2つの役割がありそう.
既存のOS
- https://docs.zephyrproject.org/latest/kernel/drivers/index.html
- https://docs.zephyrproject.org/3.0.0/guides/networking/net-stack-architecture.html
- IF Wrapper -> Device Driver: DD
- Driver -> Component Driver: CD
- Driver Super -> Component Driver Super: CDS
- Driver Inctance -> Component Inctance: CI
- IF List: Device List: DL
device は, SW 的な device の原義に寄せていき,いわゆるコンポは componet として区別していこう(お気持ち表明)
- 現状のC2A語の
IF
とDriver
は単純に曖昧だし過剰 - IfWrapperがデバドラなのはかなり明らかなのでdriverと名付けたいが,現状のC2A語のDriverがconflictする
- 一旦現状に即した名前としてはやっぱり
IfWrapper
->Device Driver
,Driver
->Component Driver
がよさそう-
Component Driver
についてはもうちょっと責任を見つめて整理したい気はするけど,それは後からでもいい - 実際C2A userの
src_user/Drivers/
見たらコンポの名前のディレクトリが並んでいるので気持ちからしてそうでしょう
-
src_user/Drivers/
,今雑に srx.c とかあるけど,本当は型番とかつけないとだめそうだね. component driver なら(また別で話が進んでる,driver 分離の文脈でも)
slack からの引用
KOBA789
「コンポドライバは新規で書かないとですね」「でもこのコンポも物理層は UART ですよね」「じゃあデバドラは使いまわせますね」という会話ができる。素晴らしい
現C2A語のIFってIfWrapperにあるやつ全部の抽象化インターフェースではないですよね(たぶん)?Device Listだけは不適当だと思う
ですね.正確には Drivrer Super に載せる通信インターフェースです.
フレーム解析やってほしいやつ.
UART, CCSDS, SPI, I2C とか.
GPIO とか memory (バス直結の.SPI とかで繋がってるのではなく)とかは含んでない
Device Listだけは不適当
たしかにな.
Communication Interface List とかになってしまうが,,,
どちらかというと,フレーム解析やってほしい,という特徴の方に即して命名すべきかも
てか,これ別に if wrapper にいる必要はなくて, driver super の設定パラメタにしてしまったほうがきれいだな.
フレーム解析やってほしいタイプのデバイス,とそれを共通化して扱わなければならないためのインターフェース(Cなので関数ポインタテーブル),そういうインターフェースを使って他のコンポとお話するComponent Driver,という整理にすべきかな
Drivre inctance,真の driver instance を配列で持ってる時点で instance ではない.
component serviceでは?
マイクロカーネルの用語をこっからツモってきた方がいい説
https://seiya.me/microkernel-book.pdf
Device DriverとComponentの違いって何よ,という話があり,「テレコマとして抽象できるもの」をComponentと呼ぶことにして,テレコマ(の型)を引き出す部分をComponent Driverとするのがよさそう,ということに.
あと,Driver Instance
もかなりC2A語で,これは↑のテレコマの型に実際のコンフィグを注入する太郎であり,かつ真のdriver instanceを配列で持ってたりする(同じものが複数載ってる場合など)ので,Component Serviceとでも呼ぶのがよさそう.
if_list したい device を StreamDevice とか FrameDevice みたいに名付けて,DriverSuper はそう呼ぶとよさそうと思うなどした
今の IfWrapper って device driver というよりは HAL なんだよな