Need to keep uploading Firmware to make OpenROV work


#1

Each time I want to use OpenROV the motors and lights don't work until I re-upload the firmware to the Arduino.

I've got a beaglebone white with an original cape and using Firmware 2.5 v29.

Thanks


#2

Hey Martin,

Can you include the details of what is in the /var/logs/openrov.log file?

-Brian


#3

I going to do this in 3 files

The first is the log file on start up, before connecting to cockpiy

config { debug: true,
debug_commands: false,
production: true,
sample_freq: 20,
dead_zone: 10,
video_frame_rate: 10,
video_resolution: 'SXGA',
video_device: '/dev/video0',
video_port: 8090,
port: 8080,
serial: '/dev/ttyO1',
serial_baud: 115200,
preferences:
{ stores: { file: [Object], defaults: [Object] },
sources: [],
version: '0.6.9',
Argv: [Getter],
Env: [Getter],
File: [Getter],
Literal: [Getter],
Memory: [Getter],
key: [Function],
path: [Function],
loadFiles: [Function],
loadFilesSync: [Function],
formats: { json: [Object], ini: [Object] },
Provider: [Function] },
OpenROVCamera: './lib/OpenROVCamera',
OpenROVController: './lib/OpenROVController',
FirmwareInstaller: './lib/FirmwareInstaller',
Hardware: './lib/Hardware' }
info: socket.io started
Starting the script from /opt/openrov/src/linux to setup UART1...
initiating camera on
ensure beagle is at 100% cpu for this camera
Started listening on port: 8080
/dev/video0
spawning capture process...
emitted 'videoStarted'
camera started
Loading arduinofirmwareupload plugin.
This is where arduinofirmwareupload code would execute in the node process.
Loading blackbox plugin.
This is where blackbox plugin code would execute in the node process.
Loading capestatus plugin.
This is where capestatus code would execute in the node process.
Loading compass plugin.
This is where compass plugin code would execute in the node process.
Loading diveprofile plugin.
This is where DiveProfile plugin code would execute in the node process.
Loading example plugin.
This is where plugin code would execute in the node process.
Loading flybywire plugin.
This is where FlyByWire plugin code would execute in the node process.
Loading fpscounter plugin.
This is where fpscounter plugin code would execute in the node process.
Loading googletalk_ipregistration plugin.
This is where googletalk_ipregistraion code would execute in the node process.
Loading horizon plugin.
This is where horizon plugin code would execute in the node process.
Loading motor_diags plugin.
This is where motor_diags code would execute in the node process.
Loading photocapture plugin.
This is where photocapture code would execute in the node process.
Loading rovpilot plugin.
This is where rovpilot code would execute in the node process.
Loading tankcontrol plugin.
This is where tankcontrol plugin code would execute in the node process.
Loading telemetry plugin.
This is where Telemetry code would execute in the node process.
Loading touchcontroller plugin.
This is where touchcontroller plugin code would execute in the node process.
camera: MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 1280 x 1024
i: Frames Per Second.: 10
i: Format............: MJPEG
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Inappropriate ioctl for device
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Inappropriate ioctl for device
o: www-folder-path...: disabled
o: HTTP TCP port.....: 8090
o: username:password.: disabled
o: commands..........: enabled



#4

The next is on connection to cockpit, controls don't work even though I upload the latest firmware to OpenROV yesterday

GET / 304 576ms
GET /plugin/arduinofirmwareupload/css/style.css 304 21ms
GET /plugin/blackbox/css/style.css 304 118ms
GET /plugin/capestatus/css/style.css 304 47ms
GET /plugin/compass/css/style.css 304 58ms
GET /plugin/diveprofile/css/style.css 304 70ms
GET /plugin/example/css/style.css 304 75ms
GET /plugin/flybywire/css/style.css 304 55ms
GET /plugin/fpscounter/css/style.css 304 39ms
GET /plugin/googletalk_ipregistration/css/style.css 304 43ms
GET /plugin/horizon/css/style.css 304 52ms
GET /plugin/motor_diags/css/style.css 304 58ms
GET /plugin/photocapture/css/style.css 304 64ms
GET /plugin/rovpilot/css/style.css 304 53ms
GET /plugin/tankcontrol/css/style.css 304 61ms
GET /plugin/telemetry/css/style.css 304 20ms
GET /plugin/touchcontroller/css/style.css 304 28ms
GET /config.js 200 64ms - 1.12kb
GET /plugin/arduinofirmwareupload/js/ArduinoFirmwareViewModel.js 304 118ms
GET /plugin/compass/js/compass.js 304 171ms
GET /plugin/example/js/example.js 304 57ms
GET /plugin/diveprofile/js/diveprofile.js 304 9753ms
GET /plugin/example/js/draw.js 304 9770ms
GET /plugin/arduinofirmwareupload/js/arduinofirmwareupload.js 304 33ms
GET /plugin/blackbox/js/blackbox.js 304 36ms
GET /plugin/capestatus/js/capestatus.js 304 36ms
GET /plugin/flybywire/js/flybywire.js 304 43ms
GET /plugin/fpscounter/js/fpscounter.js 304 48ms
GET /plugin/googletalk_ipregistration/js/googletalk_ipregistration.js 304 16ms
GET /plugin/rovpilot/js/draw.js 304 19ms
GET /plugin/rovpilot/js/rovpilot.js 304 15ms
GET /plugin/tankcontrol/js/tankcontrol.js 304 46ms
GET /plugin/horizon/js/horizon.js 304 44ms
GET /plugin/motor_diags/js/motor_diags.js 304 28ms
GET /plugin/photocapture/js/photocapture.js 304 72ms
GET /plugin/telemetry/js/telemetry.js 304 108ms
GET /plugin/touchcontroller/js/gamecontroller.js 304 103ms
GET /plugin/touchcontroller/js/touchcontroller.js 304 126ms
Audrino is at an incompatible version of firmware. Upgrade required before controls will respond
0
0
Send videoStarted to client 2
Sending rcap to arduino
PhotoCapure:connection
Audrino is at an incompatible version of firmware. Upgrade required before controls will respond
0
0
emitting updated photots to clients


#5

The third part of the log is uploading the firmware through cockpit, controls work after upload

going to install from the source folder
Received 'arduinofirmware-startupload' for file: fromSource
file: undefined
staging: build dir is /tmp/tmp.SCZtUdiSfs

staged src in to build folder

Unpacked firmware file into
src/OpenROV.ino

Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0.5 (1.0.5)

Scanning dependencies of src

Scanning dependencies of arduino

Scanning dependencies of EEPROM

Scanning dependencies of SPI

Scanning dependencies of Wire

src/MPUQuaternion.cpp

src/MinIMU_I2C.cpp

src/MinIMU_Vector.cpp

src/MinIMU9.cpp

src/MinIMU_L3G.cpp

src/CalibrationLaser.cpp

src/Cape.cpp

src/MS5803_14BA.cpp

src/MinIMU_Compass.cpp

src/Thrusters2X1.cpp

src/Motors.cpp

src/Timer.cpp

src/I2Cdev.cpp

src/CalLib.cpp

src/Settings.cpp

src/MPUVector3.cpp

src/Device.cpp

src/Lights.cpp

src/MinIMU9AHRS.cpp

src/inv_mpu.cpp

src/MinIMU_LSM303.cpp

src/FreeMem.cpp

src/CameraMount.cpp

src/MinIMU_Output.cpp

src/Command.cpp

src/Pin.cpp

src/Pilot.cpp

src/MinIMU_matrix.cpp

src/MPU9150Lib.cpp

src/MPU9150.cpp

src/openrov_servo.cpp

src/MinIMU_DCM.cpp

src/inv_mpu_dmp_motion_driver.cpp

src/controllerboard25.cpp

src/OpenROV.cpp

EEPROM/EEPROM.cpp

Linking libEEPROM.a

SPI/SPI.cpp

Linking libSPI.a

Wire/utility/twi.c

Wire/Wire.cpp

Linking libWire.a

arduino/wiring_shift.c

arduino/wiring_pulse.c

arduino/wiring.c

arduino/wiring_analog.c

arduino/wiring_digital.c

arduino/WInterrupts.c

arduino/avr-libc/malloc.c

arduino/avr-libc/realloc.c

arduino/USBCore.cpp

arduino/Tone.cpp

arduino/WString.cpp

arduino/HardwareSerial.cpp

arduino/Print.cpp

arduino/IPAddress.cpp

arduino/HID.cpp

arduino/new.cpp

arduino/main.cpp

arduino/Stream.cpp

arduino/CDC.cpp

arduino/WMath.cpp

Linking libarduino.a

Linking firmware.elf

Converting to firmware.hex

Searching for Board description file (boards.txt) ... /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) ... /usr/share/arduino/lib/version.txt
Detecting Arduino software version ... 1.0.5 (1.0.5)
Searching for Arduino core library ... /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino variants directory ... /usr/share/arduino/hardware/arduino/variants
Searching for Arduino standard libraries ... /usr/share/arduino/libraries
Searching for make ... /usr/share/arduino/hardware/tools/avr/bin/make
Searching for avr-gcc ... /usr/share/arduino/hardware/tools/avr/bin/avr-gcc
Searching for avr-g++ ... /usr/share/arduino/hardware/tools/avr/bin/avr-g++
Searching for avr-ar ... /usr/share/arduino/hardware/tools/avr/bin/avr-ar
Searching for avr-objcopy ... /usr/share/arduino/hardware/tools/avr/bin/avr-objcopy

Compiled firmware in directory
Closing serial connection for firmware upload
!Serial port closed
Setting up uploader

Initiating arduino reset on pin 32


avrdude: Version 6.1-svn-20130917, compiled on Jun 29 2014 at 14:45:35
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch


System wide configuration file is "/etc/avrdude.conf"

Arduino reset set high, Arduino enabled.

User configuration file is "/root/.avrduderc"

User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyO1
Using Programmer : arduino

AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino

Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude: reading input file ".build/uno/firmware.hex"
avrdude: input file .build/uno/firmware.hex auto detected as Intel Hex

a
vrdude: writing flash (20844 bytes):

Writing |
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
# | 100% 2.98s

avrdude: 20844 bytes of flash written
avrdude: verifying flash memory against .build/uno/firmware.hex:
avrdude: load data flash data from input file .build/uno/firmware.hex:
avrdude: input file .build/uno/firmware.hex auto detected as Intel Hex

a
vrdude: input file .build/uno/firmware.hex contains 20844 bytes
avrdude: reading on-chip flash data:

Reading |
#
#
#
#
#
##
##
#
#
#
#
#
##
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
##
#
#
#
#
#
#
#
##
#
#
#
# | 100% 2.57s

avrdude: avr_read(): skipping page 163: no interesting data
avrdude: avr_read(): skipping page 164: no interesting data
avrdude: avr_read(): skipping page 165: no interesting data
avrdude: avr_read(): skipping page 166: no interesting data
avrdude: avr_read(): skipping page 167: no interesting data
avrdude: avr_read(): skipping page 168: no interesting data
avrdude: avr_read(): skipping page 169: no interesting data
avrdude: avr_read(): skipping page 170: no interesting data
avrdude: avr_read(): skipping page 171: no interesting data
avrdude: avr_read(): skipping page 172: no interesting data
avrdude: avr_read(): skipping page 173: no interesting data
avrdude: avr_read(): skipping page 174: no interesting data
avrdude: avr_read(): skipping page 175: no interesting data
avrdude: avr_read(): skipping page 176: no interesting data
avrdude: avr_read(): skipping page 177: no interesting data
avrdude: avr_read(): skipping page 178: no interesting data
avrdude: avr_read(): skipping page 179: no interesting data
avrdude: avr_read(): skipping page 180: no interesting data
avrdude: avr_read(): skipping page 181: no interesting data
avrdude: avr_read(): skipping page 182: no interesting data
avrdude: avr_read(): skipping page 183: no interesting data
avrdude: avr_read(): skipping page 184: no interesting data
avrdude: avr_read(): skipping page 185: no interesting data
avrdude: avr_read(): skipping page 186: no interesting data
avrdude: avr_read(): skipping page 187: no interesting data
avrdude: avr_read(): skipping page 188: no interesting data
avrdude: avr_read(): skipping page 189: no interesting data
avrdude: avr_read(): skipping page 190: no interesting data
avrdude: avr_read(): skipping page 191: no interesting data
avrdude: avr_read(): skipping page 192: no interesting data
avrdude: avr_read(): skipping page 193: no interesting data
avrdude: avr_read(): skipping page 194: no interesting data
avrdude: avr_read(): skipping page 195: no interesting data
avrdude: avr_read(): skipping page 196: no interesting data
avrdude: avr_read(): skipping page 197: no interesting data
avrdude: avr_read(): skipping page 198: no interesting data
avrdude: avr_read(): skipping page 199: no interesting data
avrdude: avr_read(): skipping page 200: no interesting data
avrdude: avr_read(): skipping page 201: no interesting data
avrdude: avr_read(): skipping page 202: no interesting data
avrdude: avr_read(): skipping page 203: no interesting data
avrdude: avr_read(): skipping page 204: no interesting data
avrdude: avr_read(): skipping page 205: no interesting data
avrdude: avr_read(): skipping page 206: no interesting data
avrdude: avr_read(): skipping page 207: no interesting data
avrdude: avr_read(): skipping page
208: no interesting data
avrdude: avr_read(): skipping page 209: no interesting data
avrdude: avr_read(): skipping page 210: no interesting data
avrdude: avr_read(): skipping page 211: no interesting data
avrdude: avr_read(): skipping page 212: no interesting data
avrdude: avr_read(): skipping page 213: no interesting data
avrdude: avr_read(): skipping page 214: no interesting data
avrdude: avr_read(): skipping page 215: no interesting data
avrdude: avr_read(): skipping page 216: no interesting data
avrdude: avr_read(): skipping page 217: no interesting data
avrdude: avr_read(): skipping page 218: no interesting data
avrdude: avr_read(): skipping page 219: no interesting data
avrdude: avr_read(): skipping page 220: no interesting data
avrdude: avr_read(): skipping page 221: no interesting data
avrdude: avr_read(): skipping page 222: no interesting data
avrdude: avr_read(): skipping page 223: no interesting data
avrdude: avr_read(): skipping page 224: no interesting data
avrdude: avr_read(): skipping page 225: no interesting data
avrdude: avr_read(): skipping page 226: no interesting data
avrdude: avr_read(): skipping page 227: no interesting data
avrdude: avr_read(): skipping page 228: no interesting data
avrdude: avr_read(): skipping page 229: no interesting data
avrdude: avr_read(): skipping page 230: no interesting data
avrdude: avr_read(): skipping page 231: no interesting data
avrdude: avr_read(): skipping page 232: no interesting data
avrdude: avr_read(): skipping page 233: no interesting data
avrdude: avr_read(): skipping page 234: no interesting data
avrdude: avr_read(): skipping page 235: no interesting data
avrdude: avr_read(): skipping page 236: no interesting data
avrdude: avr_read(): skipping page 237: no interesting data
avrdude: avr_read(): skipping page 238: no interesting data
avrdude: avr_read(): skipping page 239: no interesting data
avrdude: avr_read(): skipping page 240: no interesting data
avrdude: avr_read(): skipping page 241: no interesting data
avrdude: avr_read(): skipping page 242: no interesting data
avrdude: avr_read(): skipping page 243: no interesting data
avrdude: avr_read(): skipping page 244: no interesting data
avrdude: avr_read(): skipping page 245: no interesting data
avrdude: avr_read(): skipping page 246: no interesting data
avrdude: avr_read(): skipping page 247: no interesting data
avrdude: avr_read(): skipping page 248: no interesting data
avrdude: avr_read(): skipping page 249: no interesting data
avrdude: avr_read(): skipping page 250: no interesting data
avrdude: avr_read(): skipping page 251: no interesting data
avrdude: avr_read(): skipping page 252: no interesting data
avrdude: avr_read(): skipping page 253: no interesting data
avrdude
: avr_read(): skipping page 254: no interesting data
avrdude: avr_read(): skipping page 255: no interesting data
avrdude: verifying ...
avrdude: 20844 bytes of flash verified

avrdude done. Thank you.


upload successfull!

Uploaded firmware to arduino!
config { debug: true,
debug_commands: false,
production: true,
sample_freq: 20,
dead_zone: 10,
video_frame_rate: 10,
video_resolution: 'SXGA',
video_device: '/dev/video0',
video_port: 8090,
port: 8080,
serial: '/dev/ttyO1',
serial_baud: 115200,
preferences:
{ stores: { file: [Object], defaults: [Object] },
sources: [],
version: '0.6.9',
Argv: [Getter],
Env: [Getter],
File: [Getter],
Literal: [Getter],
Memory: [Getter],
key: [Function],
path: [Function],
loadFiles: [Function],
loadFilesSync: [Function],
formats: { json: [Object], ini: [Object] },
Provider: [Function] },
OpenROVCamera: './lib/OpenROVCamera',
OpenROVController: './lib/OpenROVController',
FirmwareInstaller: './lib/FirmwareInstaller',
Hardware: './lib/Hardware' }
info: socket.io started
Starting the script from /opt/openrov/src/linux to setup UART1...
initiating camera on
ensure beagle is at 100% cpu for this camera
Started listening on port: 8080
/dev/video0
spawning capture process...
emitted 'videoStarted'
camera started
Loading arduinofirmwareupload plugin.
This is where arduinofirmwareupload code would execute in the node process.
Loading blackbox plugin.
This is where blackbox plugin code would execute in the node process.
Loading capestatus plugin.
This is where capestatus code would execute in the node process.
Loading compass plugin.
This is where compass plugin code would execute in the node process.
Loading diveprofile plugin.
This is where DiveProfile plugin code would execute in the node process.
Loading example plugin.
This is where plugin code would execute in the node process.
Loading flybywire plugin.
This is where FlyByWire plugin code would execute in the node process.
Loading fpscounter plugin.
This is where fpscounter plugin code would execute in the node process.
Loading googletalk_ipregistration plugin.
This is where googletalk_ipregistraion code would execute in the node process.
Loading horizon plugin.
This is where horizon plugin code would execute in the node process.
Loading motor_diags plugin.
This is where motor_diags code would execute in the node process.
Loading photocapture plugin.
This is where photocapture code would execute in the node process.
Loading rovpilot plugin.
This is where rovpilot code would execute in the node process.
Loading tankcontrol plugin.
This is where tankcontrol plugin code would execute in the node process.
Loading telemetry plugin.
This is where Telemetry code would execute in the node process.
Loading touchcontroller plugin.
This is where touchcontroller plugin code would execute in the node process.
child process exited with code 1
camera emitted an error: 1
camera: MJPG Streamer Version: svn rev:
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 1280 x 1024
i: Frames Per Second.: 10
i: Format............: MJPEG
Unable to set format: 1196444237 res: 1280x1024
Init v4L2 failed !! exit fatal
i: init_VideoIn failed

Audrino is at an incompatible version of firmware. Upgrade required before controls will respond
d2b9d3851ce88b442407edc1286d0cd093356e9b -
0
Send videoStarted to client 2
Sending rcap to arduino
PhotoCapure:connection
emitting updated photots to clients
cmd: updateSetting(40,1405,1595,0)
cmd: mtrmod(100,-100,100,200,-200,200)
cmd: rcap()
RovSys: 10
log: Scanning...
log: No I2C devices found

cmd: reportSetting()
smoothingIncriment|40,deadZone_min|1405,deadZone_max|1595
cmd: rmtrmod()
cmd: updateSetting(40,1405,1595,0)
cmd: mtrmod(100,-100,100,200,-200,200)
Configuration saved successfully.
Configuration saved successfully.
Configuration saved successfully.
Configuration saved successfully.
cmd: updateSetting(40,1405,1595,0)
cmd: mtrmod(100,-100,100,200,-200,200)
cmd: updateSetting(40,1405,1595,0)
cmd: mtrmod(100,-100,100,200,-200,200)
cmd: updateSetting(40,1405,1595,0)
cmd: mtrmod(100,-100,100,200,-200,200)
cmd: reportSetting()
smoothingIncriment|40,deadZone_min|1405,deadZone_max|1595
cmd: rmtrmod()
cmd: reportSetting()
smoothingIncriment|40,deadZone_min|1405,deadZone_max|1595
cmd: rmtrmod()
cmd: reportSetting()
smoothingIncriment|40,deadZone_min|1405,deadZone_max|1595
cmd: rmtrmod()
cmd: reportSetting()
smoothingIncriment|40,deadZone_min|1405,deadZone_max|1595
cmd: rmtrmod()
cmd: go(1595,1500,1595)
cmd: go(1500,1500,1500)