| | 87 | |
| | 88 | |
| | 89 | safecall void MotorCmdEx(byte port, int pwr, long tacholimit, int turnratio, bool speedreg, bool sync, byte runstate) { |
| | 90 | // The actual Motor-Command we use, based on IOOutputMap settings. A bit similar to the |
| | 91 | // SetOutputState direct command... |
| | 92 | |
| | 93 | byte flags = UF_UPDATE_MODE + UF_UPDATE_SPEED + UF_UPDATE_TACHO_LIMIT; // + UF_UPDATE_RESET_COUNT; |
| | 94 | |
| | 95 | byte mode = OUT_MODE_BRAKE + OUT_MODE_MOTORON; |
| | 96 | byte reg = OUT_REGMODE_IDLE; |
| | 97 | byte state = runstate; |
| | 98 | |
| | 99 | if (speedreg) { |
| | 100 | mode = mode + OUT_MODE_REGULATED; |
| | 101 | reg = OUT_REGMODE_SPEED; |
| | 102 | }//end if |
| | 103 | |
| | 104 | if (sync) { |
| | 105 | mode = mode + OUT_MODE_REGULATED; |
| | 106 | reg = OUT_REGMODE_SYNC; |
| | 107 | }//end if |
| | 108 | |
| | 109 | SetOutput(port, Power, pwr, TachoLimit, tacholimit, TurnRatio, turnratio, OutputMode, mode, RegMode, reg, RunState, state, UpdateFlags, flags); |
| | 110 | }//end MotorCmd |
| | 111 | |
| | 112 | |
| | 113 | |
| | 114 | |
| | 115 | |