TinyG 韌體原始碼分析之二

2021-10-03 16:30:23 字數 574 閱讀 7203

2.2 主要後台子任務任務之間的關聯

_controller_hsm函式中包含多個後台子任務函式,其中_command_dispatch實現從串列埠接收各種文字格式指令,配置引數,解析g碼指令產生運動控制指令並寫入mb(mpbufferpool_t型別)的快取,mp_plan_hold_callback實現從mb快取中取出指令,輸出脈衝控制電機。

2.3 韌體的基本功能

韌體原始碼的四大基本功能:g**解析器,直線段dda插補器,json解析器,串列埠命令列終端。

(1)串列埠命令列終端。從串列埠或rs-485接收文字資料,解釋執行;

(2)json直譯器,負載解析終端收到的json格式配置資訊,儲存到eeprom中;

(3)g**解析器,處理g**字元流,控制電機運動;

(4)直線段dda插補器,執行g**中的直線和圓弧運動指令;

函式呼叫關係如下圖所示:

解析g**指令,按照t型速度曲線規劃或者按照傳說中 「s型速度曲線規劃" 的**就在mp_aline中。

Vue 原始碼分析之二 Vue Class

這段時間折騰了乙個vue的日期選擇的元件,為了達成我一貫的使用舒服優先原則,我決定使用directive來實現,但是通過這個實現有乙個難點就是我如何把時間選擇的元件插入到dom中,所以問題來了,我是不是又要看vue的原始碼?vue2.0即將到來,改了一大堆,fragment沒了,所以vue社群中為數...

STL原始碼分析之二 迭代器

stl原始碼分析之二 迭代器 1.traits程式設計技巧 traits程式設計技法大量運用在 stl實現品中,它利用 內嵌型別 的程式設計技巧與編譯器的 template 引數推導功能,增強 c 未能提供的關於型別認證方面的能力,彌補 c 不為強型別語言的遺憾,例 template struct ...

TinyXML原始碼剖析 之二

讀乙個xml檔案 前面簡要的分析了一下,如何用 tinyxml 完成乙個 dom樹的輸出,這兒將要給出乙個如何讀入 xml檔案,並提取其中資料的案例 前乙份文件寫了,用 tinyxml 輸出dom,與讀入xml 檔案為dom 的第一步驟就是例項化乙個 tinyxmldocument 的物件。incl...