ToDo:
Class生成子のdelegator
(c1_ = Class[parents_,classv_,instv_, CompoundExpression[me__]])^:=( c1 = Class[parents,classv,instv,{me}]);
の定義時に、シンボルCompoundExpressionが CompoundExpressionオペレータに還元されていないために、 Class[{...}, {...}, {...}, foo[...]:=bar; zoo[...]:=...]とのマッチングに 失敗し、別のdelegator経由で Class[{...}, {...}, {...}, {foo[...]:=bar; zoo[...]:=...}]が評価される (c1_ = Class[parents_,classv_,instv_, me___]の meに CompoundExpression[]全体がマッチするため)
シンボルCompoundExpressionをWithで評価しておけば、 Class[]の第4引数がCompoundExpressionオペレータ式の delegatorを定義できる。
連続稼働していると、NTPサーバーが応答しなくなるので調査してみる
状況から、ボード上のマイコンかLANまわりの熱暴走? (キットの解説にもLANまわりが熱をもつとの記述有り)
熱だまり対策に、40mmファンを組み込んでみたので、暫く様子見
秋月のGPSモジュールとUSBシリアルI/FでPPS付きGPS受信機を組み立てたので、GPSソースなNTPサーバーを組んで遊んでみたのだが...
leapsecondsと相性悪すぎ
結果として、NTPDで同期が成立するとlocaltimeが 27秒ずれる (外部のNTPクライアントから見えるNTPタイムは正しい)
get_systimeの類に、閏秒入りのrealtime clockをUTCタイムコードに変換する細工をしてみたのだが、細工したものだとntpdateは動くがntpdだとPLLがロックしない (ntpdateで正しくstep動作させるには、system clock設定系もNTPタイムからsystem clockへ正しく変換させる必要あり)
PLLカーネル内に生のrealtime clockを見ているコードが有るっぽい
コード眺めているとtime(3)とかlocaltime(3)の類もゴソゴソ呼び出しているので、色々修正が要りそう
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記