2016-04-27から1日間の記事一覧

Repetier firmware解読

パルス生成部

1.最初4msでタイマーが割り込みをかける 2.その後、PrintLineクラスのhasLines()がtrueであればbresenhamSteps()を実行する 3.bresenhamSteps()の返り値が次のステップパルスまでのインターバルになっているので、その時間経過した後に割り込みがかか…

デルタの計算部

uint8_t PrintLine::queueNonlinearMove(uint8_t check_endstops,uint8_t pathOptimize, uint8_t softEndstop) { EVENT_CONTRAIN_DESTINATION_COORDINATES int32_t difference[E_AXIS_ARRAY]; float axisDistanceMM[VIRTUAL_AXIS_ARRAY]; // Real cartesian …