作成開始 2015/04/29
既に、より上のバージョンの物が流通しているが、一応当方が所有している装置のファームウエアのバージョンがV1.0.0なので、とりあえずこのレベルで解析を試みている。まあ、大まかな動作は把握できるのではないかと考えている。
特に、所有装置にまつわる所を解析しているので、装置に取り付けられていないものやコンフィグでセレクトしていない機能は基本無視しているので、ご了承願いたい。
ソース 概要 コメント Marlin_main.cpp メイン処理関連 MarlinSerial.cpp シリアル通信処理関連 cardreader.cpp カードリーダ処理関連 ConfigurationStore.cpp 動作初期値導入やEEPROM処理関連 LiquidCrystalRus.cpp LCD操作関連 motion_control.cpp 円弧補間処理関連 planner.cpp 動作処理関連 Sd2Card.cpp SDカード関連 SdBaseFile.cpp SDカード関連 SdFatUtil.cpp SDカード関連 SdFile.cpp SDカード関連 SdVolume.cpp SDカード関連 Servo.cpp サーボやタイマー、割り込み処理関連 stepper.cpp ステッパー制御関連 temperature.cpp 温度管理関連 ultralcd.cpp LCD表示関連 watchdog.cpp ウオッチドッグ関連
ヘッダー 概要 コメント Configuration.h 装置の大まかな定義操作用 Configuration_adv.h 装置の細かな定義操作用 ConfigurationStore.h 動作初期値導入やEEPROM処理関連用 cardreader.h カードリーダ処理用 dogm_font_data_marlin.h グラフィックフォントデータ用 dogm_lcd_implementation.h グラフィック液晶定義用 DOGMbitmaps.h グラフィックビットマップ定義用 fastio.h IOマッピング定義用 language.h 言語定義用 LiquidCrystalRus.h LCD操作関連用 Marlin.h メイン処理用 MarlinSerial.h シリアル通信処理用 motion_control.h 円弧補間処理用 pins.h ピン配置定義用 planner.h 動作処理関連用 Sd2Card.h SDカード関連用 Sd2PinMap.h SDカード関連用 SdBaseFile.h SDカード関連用 SdFatConfig.h SDカード関連用 SdFatStructs.h SDカード関連用 SdFatUtil.h SDカード関連用 SdFile.h SDカード関連用 SdInfo.h SDカード関連用 SdVolume.h SDカード関連用 Servo.h サーボやタイマー、割り込み処理関連用 speed_lookuptable.h スピードテーブル定義用 stepper.h ステッパー制御関連用 temperature.h 温度管理関連用 thermistortables.h サーミスターテーブル定義用 ultralcd.h LCD表示関連用 ultralcd_implementation_hitachi_HD44780.h LCD表示関連用 watchdog.h ウオッチドッグ関連用
簡単な動作の概要として、
Marlin_main.cpp内に定義されているシリアル通信に従ってコード別に振り分けて、指示する。
指示の内容で、動作に関する部分はplanner.cppの定義で動きの計画を行い、その計画を登録する。
以上を繰り返す。
実際の装置の動作としては、
動作では、割り込みの定義としてServo.cppに指示がされている。
動作の計画が登録されている場合は、割り込みでstepper.cppに定義がされている処理を行う。
このように、割り込みを利用して装置の動作を実現している。