Miabot Pro Parameter Summary
From Merlin Systems Wiki
Miabot Pro full parameter set for version 3.5
Note: not explained in any detail!
'basic' controls are mostly described in the [Manual]
controls associated with specific commands are indicated in the list
e.g. "[P]: {servo pulsewidth outputs}"
- some are described in more detail with the command descriptions
code ident .name default description
---------- ----- ------- -----------
{speed ramp controls}
V_RampTicks .rT 10 //ramp update-rate (ticks)
V_RampIncrement .rI 10 //ramp speed increment
{pid calc controls - see also PID Controls}
V_PidTickrate .pT 5 //pid update-rate (ticks)
V_PidSpeedgain .pVg 4 //speed-gain = ticks-to-speed scaling (-> about 1000 max)
V_PidOpOffs .poK 0 //open-loop speed minimum non-zero output
V_PidOpGain .poG 3 //open-loop speed gain
V_PidDownshift .p>> 7 //pid-calc scaling (shift)
V_PidP .pP 50 //P-term gain
V_PidI .pI 10 //I-term gain
V_PidD .pD 0 //D-term gain
V_PidMaxIerr .pMI 512L*8/2 //anti-windup I max (half a wheel turn)
{position / deceleration controls}
V_PosSpeedScale .xS 2 //dist_error-to-speed scaling (*PidDownShift)
V_PosTolerance .xT 3 //min dist to switch-off
V_PosMaxdist .xM 50000 //max dist for slowup-calc (avoids overflow errors!)
{speed commands timeout}
V_SpeedTimeout .vTO 0 //off by default (else mSecs)
{squeal reduction}
V_StopMinDist .qX 2 //movement threshold level for power-off
V_StopTimeout .qT 10 //no-movement timeout period
{miabot-like scaled (byte data) commands}
V_ByteScaleSpeed .bV 0x0800 //256*8 = 1024 max speed
V_ByteScaleDistMove .b^ 5100
V_ByteScaleDistTurn .b< 4300
V_ByteScaleSteps .bQ 0 //off for ^v<> moves by default
[i]: {i2c retry controls}
V_i2cRetries .iN 0 //times to retry failed access (=none)
V_i2cRetryTime .iT 0 //mSecs between retries
{echo control}
V_bEcho .eE 0 //enable echo for all commands
{serrmt transmit controls (tx = to i2c bus)}
V_i2s_nOwnAddress .sAD 0xA2 //own bus address (receive control, really)
V_i2s_nContactAddress .sAT 0xA0 //output target address (=MSCcam standard)
V_i2s_nTxBuffTrig .sNB 4 //buffer threshold transmit trigger
V_i2s_nTxTimeTrig .sNT 2 //timeout transmit trigger
V_i2s_bTxCharEna .sCE 0 //enable break-char trigger
V_i2s_cTxCharTrig .sCC '\r' //break-char
{serrmt <R..> receive controls (rx = from i2c bus)}
V_i2s_nRxBuffTrig .sN 4 //buffer threshold output trigger
V_i2s_nRxTimeTrig .sT 2 //timeout output trigger
V_i2s_bRxCharEna .sE 0 //enable break-char
V_i2s_cRxCharTrig .sC '\r' //break-char
[P]: {servo pulsewidth outputs}
V_nPwmOutputBits .ebP 0 //output bits to use (mask: 0 - 31)
V_nPwmStartDelay .PDT 100 //0.1sec start delay to avoid oscillations
[S]: {sonar scan}
V_nSonarGroup1 .rG1 0xFF //Ping group1 (default =all 8 at once)
V_nSonarGroup2 .rG2 0x00 // (= no 2nd group)
V_nSonarGroup3 .rG3 0x00 // (= no 3rd group)
V_nSonarGroup4 .rG4 0x00 // (= no 4th group)
V_nSonarRetryMsecs .rRT 4 //retry milliseconds
V_nSonarRetries .rRN 20 //retry count
V_nSonarFirstbyte .rB1 1 //readback address (=light sensor)
V_nSonarReadbytes .rNB 5 //bytes to read (=light + 2 echoes)
[@]: {auto-connect settings}
V_Radcon_bAutoConnect .aEN 0 //enable auto-connect
V_Radcon_nStartMsecs .aT0 5000 //delay to first try
V_Radcon_nRepMsecs .aT1 10000 //delay between tries
V_Radcon_nID0 .ai0 0x00 //bluetooth address bytes...
V_Radcon_nID1 .ai1 0x00
V_Radcon_nID2 .ai2 0x00
V_Radcon_nID3 .ai3 0x00
V_Radcon_nID4 .ai4 0x00
V_Radcon_nID5 .ai5 0x00
{main leds enable (2 bits = comms,power)
V_nLedsEna .lnE 3 //both on by default
(radio - see also Miabot Pro Radio-board Controls)
V_radio_tWait .#T 2000 //time allowed for radio-commands
V_radio_bReset .#rs 1 //set radio mode on boot (+ cancel it)
