M5 Communications Module
Operator's Manual, 1.00.00

Most Popular Topics

M5 Communications Module
Operator's Manual, 1.00.00

Copyright Notice

This material is copyright protected. No material may be reproduced or transmitted in any form or by any means for any purpose without expressed written consent of VideoRay LLC.

Copyright © 2018, VideoRay LLC - The Global Leader in Micro-ROV Technology

Language Support

Arabic Table of Contents Internet connection required, results not guaranteed
Chinese Table of Contents Internet connection required, results not guaranteed
Deutsch Table of Contents Internet-Verbindung erforderlich, ergebnisse nicht garantiert
English Table of Contents
Espanol Tabla de contenidos Requiere conexion a Internet, los resultados no garantizados
Francaise Table des matieres Connexion Internet requise, resultats non garantis
Italiano Indice dei contenuti Richiesta una connessione Internet, I risultati non garantiti
Japanese Table of Contents Internet connection required, results not guaranteed
Korean Table of Contents Internet connection required, results not guaranteed
Nederlands Inhoudsopgave Internetverbinding nodig, resultaten niet gegarandeerd
Norske Innholdsfortegnelse Internett-tilkobling kreves, resultater Ikke Garantert
Russian Table of Contents Internet connection required, results not guaranteed
Suomalainen Sisallysluettelo Vaatii Internet-yhteyden, tulokset ole taattu
Svenska Inneholl Internetanslutning kravs, resultat garanteras inte

About this Document

Document Navigation

You can navigate through the documentation to specific topics using the menu, or step through sequentially using the Next and Previous arrowhead buttons. The Next button will step you from the current topic to the next topic at the same level unless the current topic has a sub-topic. If the current topic has a sub-topic, the Next button will step you into the first sub-topic. The Previous button works similarly, but in reverse sequence. Your current location within the document is shown as a "breadcrumb" trail at the top of each page under the document title. You can click on any level of the breadcrumb hierarchy to go that location. You can also use the following keyboard shortcuts:

ACTION KEYSTROKE or BUTTON
Previous Page Alt-p or
Next Page Alt-n or
Up one level of the breadcrumb hierarchy Alt-u

Links are shown in brown font.

Finding Information

This document includes a Table of Contents, Glossary / Index and Google search on each page. You must be connected to the Internet in order to be able to use the Google search, and you can select whether to search VideoRay's online document library only (the default) or the Internet.

Document Conventions

Several symbols are used throughout this documentation to add emphasis and to assist in relocating important information. The following table describes these symbols and their uses.

The Highlight icon is used to indicate that a section of text can be highlighted. Clicking on the icon will reload the page with the text highlighted. This may be useful for printing a page with highlights or to send someone a link to a page with specific text highlighted when they open the page. Try it here - click on this highlight icon.
SYMBOL DESCRIPTION
The Danger icon is used to indicate there is a potential risk of personal injury or death. Extra care should be taken to understand the risks, and all personnel should exercise caution. It may also be appropriate to warn others in the immediate vicinity.
The Caution icon is used to indicate there is a potential risk of damage to the equipment or surrounding property. Personnel should receive training in the appropriate procedures before attempting to operate or maintain the equipment.
The Do Not icon is used to indicate that an action or activity should NOT be performed.
The Note icon is used to highlight a specific detail or point of information.
The Tip icon is used to highlight a suggestion or recommendation.
The Manual Cross Reference icon is used to link to reference material elsewhere in this document or in an external resource. To view the reference, click on the Manual Cross Reference icon.
The Play Video icon is used to link to a video about the topic. To view the video, click on the Play Video icon.
The Hand icon is used to indicate an interactive element of the page. When you hover your mouse over the Hand icon, an image on the page will change to reflect the information in the text immediately prior to the hand icon. Try it here - hover your mouse over the following text and Hand icon to turn the Hand icon to the left blue: Interactive Text .

Document Customization - My_Notes

This document has been developed to allow local online versions to be customized using the My_Notes feature. Users can add their own notes to each page. See the Customizing this Document page for more information about how to customize this document.

Beyond this Document

There is no substitute for experience and/or training, especially with respect to the real purpose for which you plan to use this equipment. We encourage you to explore options beyond the scope of these materials to expand your knowledge and skills necessary to support your applications. In addition to this documentation, VideoRay offers training and technical support and hosts a general user discussion forum and user image gallery.

We also realize that collectively, users of our products spend considerably more time operating our systems than we do ourselves. Users also encounter more diverse operating environments across an extremely broad range of applications. We highly value this vast experience base, and invite and encourage you to share your experiences and suggestions with us. Please feel free to contact us by any of the methods listed below.

Quality Commitment

VideoRay strives to design, manufacture, deliver and support the highest quality products and services, including this documentation. We have made every effort to ensure that this documentation is accurate and provides you with the most up-to-date information.

If you find any errors in this documentation or have suggestions for improvements, each page contains a "Help us improve this document" feedback link in the left margin (you must be connected to the Internet to use this link).

Address  
VideoRay LLC
212 East High Street
Pottstown, PA 19464
USA
 
 
Email  
info@videoray.com General Information and Sales
support@videoray.com
 
Technical Support
Telephone  
+1 610-458-3000 Office
+1 610-458-3010 Fax

Disclaimer

This document is deemed accurate at the time of its writing, however it is not a legal contract and the information contained herein should not be construed to represent any form of commitment. This document as well as the associated products and services are subject to change without notice.

Alternate Formats

Single HTML Page Format
This document is available as a single HTML page that can be viewed and/or printed by the viewer.

Portable / Printable Format
An abbreviated print version of this document is also available in HTML and PDF formats in Letter and A4 sizes for viewing and/or printing. A free PDF Reader is available from Adobe. Printed versions of this document are available from VideoRay.

HTML File Set
This document set is also available for download as a self extracting zip archive for installation on your local device.

Customize this Documentation - My_Notes

My_Notes are easy to incorporate directly into the pages of this manual. They can be used to clarify content, add additional information, or document your custom settings, operational tactics or procedures. My_Notes are page specific and display at the bottom of the desired page under the "My_Notes" heading. No programming is required - it is as simple as saving a file with your notes.

Creating My_Notes

My_Notes can be written in HTML or plain text. HTML allows for more flexible formatting and inclusion of images or links to other web pages.

To add a My_Note, create an HTML or text file containing the note and save it in the VideoRay\My_Notes\ folder, which can be found in the computer account user's documents folder (Documents\ for Windows 7, or My Documents\ for Windows XP).

The file should be named the same as the page in which you want the note to appear, with a "my_" prefix (without the quotes). For example, if you want a My_Note to appear at the bottom of this page, the name of the file to create is: my_custom_my_notes.html. The name of the page being viewed can be found in the address bar of the browser being used to display this documentation.

Even if you are using a text file, the file name must end with the ".html" extension.

All My_Notes files are processed as HTML, so if you are using a plain text file, you will need to add "<pre>" (without the quotes) at the beginning of the file and "</pre>" (without the quotes) at the end of the file if you want to preserve the layout. The "<pre>" and "</pre>" will not show up in the display.

When using HTML, the My_Notes folder serves as the root for relative links. An images folder is included for you to store images. You may add other folders or files as desired.

Viewing My_Notes

When you reload the page, your My_Note will appear - there is nothing else to install or configure. A sample My_Note file has been included to display the My_Note below. You can use this file as a model for creating your own My_Notes.

Updating My_Notes

To update a My_Note, simply edit and re-save the My_Note file.

Removing My_Notes

My_Notes can be removed by deleting or renaming the My_Note file.

Sizing My_Notes Display (Optional)

The default vertical size for My_Notes is set to 200 pixels, which is used for the sample My_Note below. Due to browser limitations, My-Notes do not size dynamically. This means that a long My_Note may display a scroll bar in order to view the whole My-Note. You can adjust the size to eliminate the need for the scroll bar. To set the size of a My_Note, you need to edit the file named "my_notes_size_table.js" in the My_Notes\ folder (location defined above). The file contains one line for each page of this document using the following format:

    window.page_name = size_in_pixels;

Find the line for the page that includes the My_Note you want to resize and replace the value of size_in_pixels with the desired size in pixels. The page names are listed alphabetically. Example line from the "my_notes_size_table.js" file for this page:

    window.custom_my_notes = 200;

Note that ".html" in not included in the page name, and the line must end with a ";" Also, the optimum size required is dependent upon the size and aspect ratio of the browser window.

M5 Communications Module
Operator's Manual, 1.00.00

How to Get Help

Help for your M5 Communications Module is available through several channels.

All Hours Self-Service / Crowd-Source Tools

Operator's Manuals and Standard Operating Procedureswww.videoray.com/support/manuals.html
Software Downloadswww.videoray.com/support/downloads.html
Frequently Asked Questionswww.rovfaq.com
ROV User Forumwww.rovinfo.com

Global Support

Emailsupport@videoray.com
Phone+1 610-458-3000 (select option 1)
Skypevideoray.support (by appointment )
Remote Sessionswww.videoray.com/support/remote-support.html (by appointment )

Regional Support

VideoRay Authorized Service Centers and Dealerswww.videoray.com/dealer.html

Training

Operator Trainingwww.videoray.com/learn-more/training.html
Advanced Maintenance Traininghttp://www.videoray.com/learn-more/training/advanced-maintenance-training.html

Operational Strategies and Tactics Support

If you need help understanding how to apply your system to a specific project, contact VideoRay or you local VideoRay dealer. We can provide guidance or help you find a certified consultant.

M5 Communications Module
Operator's Manual, 1.00.00

M5 Communications Module Overview

FAQ (Frequently Asked Questions)

  1. ?

    .

More Questions?

Additional questions and answers are available online at www.rovfaq.com, which is also linked at the bottom of each page. The online FAQ is updated regularly.

M5 Communications Module
Operator's Manual, 1.00.00

Requirements

Specifications

M5 Communications Module features and specifications are subject to change without notice.

Product News

See www.videoray.com for the most up-to-date product information.

Glossary / Index

M5 Communications Module
Operator's Manual, 1.00.00

Equipment Guide

Physical Mounting

9 Pin Connector

The M5 Communications Module 9 pin connector is molded neoprene, 10,000 psi rating, 9 contacts with AWG, 600 VDC, per pin.

Connector pin configuration: Male face from the front

Pin Configuration

This table applies to the M5 Communications Module female connector.

PinConductor AWGConductor ColorSignal NameComments
128REDETH-RXP-
228GREENETH-RXP+
328BLACK24 V DC
428GRAYETH-RTX+
528Ground
628ETH-RTX-
728RS-485 A
828RS-485 B
92812 V DC

Mating Connector

Connector Vendor: Teledyne Impulse

LPIL-9-MP, Male / Female Connector with whip used on the module

LPIL-9-MP, Male Connector with whip used on the module

LPBH-9-FS, Female Bulkhead Connector used on the platform vehicle

M5 Communications Module
Operator's Manual, 1.00.00

Software Guide

Software requirements include the low level firmware for the motor controller (provided by VideoRay) and application control software to adjust the thrust during operation (user supplied).

Bootloader Operation

The bootloader runs on the module upon power up. The module will remain in the bootloader for 1 second waiting for a command to remain in the bootloader. If no command is received and the module has a valid application firmware loaded then the module will run the application firmware. If the "remain in bootloader" command is received or if there is no valid application firmware the module will remain in the bootloader.

The module must have the bootloader running. The primary mechanism of installing the bootloader on the module is via JTAG (Joint Test Action Group). If you require provisioning a module with a bootloader, please see the appropriate documentation.

Bootloader LED Blink Patterns

The bootloader blinks the module status LED to indicate its operational state.

  • Start-up Blink (3 blinks): The bootloader will blink 3 blinks (100ms ON, 200 ms OFF) on startup.
  • Active Blink (fast 5 times a second continuous): The status led will rapidly blink (5 times a second) while running in the bootloader. The blink will remain continuously active until the module leaves the bootloader.
  • Command reception blink (fast 5 times a second continuous): The status led will rapidly blink (5 times a second) while running in the bootloader. The blink will remain active while the module is in the bootloader.

Typical blink startup pattern will be:

3 blinks, followed by 1 second of rapid blinks, followed by the application firmware blink pattern. If there is no valid application, the pattern will be 3 blinks, followed by continuous rapid blinks.

Verification of Bootloader Operation via a Terminal

The bootloader emits an identifying message on startup. Part of the message is ASCII and thus human readable. This provides a method to insure that the bootloader is loaded on the module.

Connect a terminal emulator (such as tera term or putty) to the serial port connected to the module. The terminal should be set to 115200, 8n1.

Upon power up of the module the terminal will display the received characters. The display will look similar to the image below. If the text "BOOT" is visible then it is most likely that the bootloader is on the module.

ASCII terminal display showing bootloader message as well as text banner from a module application firmware (LED Controller). "BOOT" is highlighted in yellow, and the firmware message is highlighted in green.

Firmware

Updating Firmware on M5 Modules

Quick Steps for manual updating a single module:

  1. Download vr_refresh if needed from ftp.videoray.com
  2. Download new firmware for the module from ftp.videoray.com
  3. Connect the serial power to the module. Do NOT power on the module yet.
  4. Run vr_refresh with a command line similar to "vr_refresh -c COM7 firmware-1.0.0.hex"
  5. Apply power to the module.
  6. It should start the download process. If not, or if any errors during download, repeat steps 3-5.

Downloading Firmware and Tools

All M5 software is distributed via the VideoRay FTP server (http://ftp.videoray.com/) using the following credentials:

  • Username: quarterdeck
  • Password: quarterdeck

Note the use of http://, not ftp:// in the server URL above.

The firmware is located in the ./firmware folder.

Tools (such as vr_refresh) are located in the ./windows_tools folder or ./ubuntu_tools folder depending upon what OS you are using.

At a minimum the firmware for the module and the appropriate vr_referesh application are required to update the firmware on a module

Instructions for using vr_refresh are included in the next section.

Using vr_refresh

The vr_refresh tool is a standalone command line application that can be used to update the firmware on a module. There are no dependencies for vr_refresh.

Usage: vr_refresh [OPTIONS] [SINGLE_HEX_FILE_NAME]

Do not include the brackets [   ].

OPTIONDescription
-? [ --help ]show the help message
--versionshow version
-c [ --com ] argset com port name (=/dev/ttyUSB0)
-i [ --id ] argnode ID, 255 for broadcast (=255)
--sn argserial number (=any)
--block_size arg flash block size (=1024)
-d [ --dir ] argset firmware folder, not used if an input file is specified
-q [ --quite ]do not send check active command
-v [ --verbose ]output verbose diagnostics
-r [ --RESET ]reset device upon completion
--UNLOCKallow reprogramming of bootloader
--input_file arginput file

For example, to download the firmware to a LED controller module, the typical usage on a Windows machine would be:

  • vr_refresh -c com7 led_controller-1.0.0.hex

The typically usage on a Linux host would be:

  • vr_refresh -c /dev/ttyUSB0 led_controller-1.0.0.hex

By default vr_refresh will use BROADCAST transmissions to establish connections. This behavior can be changed by using the -i or the -sn parameters.

vr_refresh, like all VideoRay command line tools will output its usage options when run with the "-?" parameter.

vr_refresh Methods of Connection

There are two ways to establish a connection between vr_refresh and the module.

Power on Connection

When vr_refresh is run it will sit and wait for the initial announcement message sent by the module. The modules use a randomized transmission to attempt to minimize collisions when there are multiple devices on the bus. Since vr_refresh by default uses broadcasts, this means that if there are multiple devices connected and powered up at the same time it is a matter of chance as to which module will connect. It is therefore recommend that either the -sn or -i parameters be used or only as single module be connected at a time when updating firmware.

Application Firmware Reboot Connection

When vr_refresh is run it will send a REBOOT message immediately (-i parameter applies). If a module is connected, powered up, and accepts the REBOOT message from vr_refresh (either it is a broadcast message or the proper node id was passed in) the module will reboot and jump to the bootloader. It should then connect as desired.

vr_refresh Output

vr_refresh will output status strings during operation. Examples are given below:

Waiting to connect (command line: vr_refresh -c com7 -I 1); response:

  • INFO: Attempting connection to Node: 1 S/N: any

Successful connection (command line: vr_refresh -c com7); response:

  • INFO: Attempting connection to Node: 255 S/N: any
  • INFO: Connected to Node: 5
  • INFO: Done

Successful connection VERBOSE mode (command line: vr_refresh -c com7 --verbose); response:

  • INFO: Attempting connection to Node: 255 S/N: any
  • INFO: Connected to Node: 5
  • INFO: Boot Data
    • Data version: 1
    • Device type: 131
    • Incept date: 2014-Nov-10 22:29:55
    • Serial number: LED0001
    • App Size: 0x9118
    • App crc: 0x23f766a8
  • INFO: Done

Sample end of firmware update (command line: vr_refresh -c com7 -verbose led_controller-1.0.0.hex); response:

  • INFO: Progress 90%
  • INFO: Erase 0xc400
  • INFO: Progress 91%
  • INFO: Progress 92%
  • INFO: Progress 93%
  • INFO: Erase 0xc800
  • INFO: Progress 94%
  • INFO: Progress 95%
  • INFO: Progress 96%
  • INFO: Erase 0xcc00
  • INFO: Progress 97%
  • INFO: Progress 98%
  • INFO: Erase 0xd000
  • INFO: Progress 99%
  • INFO: Progress 100%
  • INFO: Done

Diagnostic / Test Mode

Diagnostic mode is a simple ASCII terminal user interface that allows interaction with the motor controller electronics without requiring any additional topside software other than a serial terminal (such as Tera Term). The baud rate should be set to 115,200.

Test cables are available from VideoRay and use an FTDI RS-485 to USB serial adapter. The driver for the adapter is a available from FTDI's website at: http://www.ftdichip.com/Drivers/D2XX.htm. To enter Diagnostic mode, input "+++++" (5 pluses) within 5 seconds after power up. If 5 seconds have elapsed, or any vrcsr packets have been received, diagnostic mode will be locked out until the next power cycle.

Diagnostic mode includes Motor Activation Mode and Configuration Mode. These modes are described on the following pages.

Since diagnostic mode is a simple ASCII terminal it is not appropriate for multiparty communications.

Configuration Mode

The diagnostic configuration menu allows for various operating parameters to be set. The parameters can also be saved in non-volatile storage.

The diagnostic configuration menu displays the motor controller serial number as well as the firmware versions number and firmware inception date.

In diagnostic configuration mode the "Enter" key must be hit after each command input.

Primary Configuration Commands:

  • Pressing "x" followed by "Enter" will exit diagnostic configuration mode and return to the diagnostic menu.
  • Pressing "s" followed by "Enter" will save the current parameters in non-volatile memory.
  • Pressing "f" followed by "Enter" will reset the all parameters to their hardcoded factory defaults.

Entering a number followed by "Enter" will prompt for a new setting for the configuration parameter. If "Enter" is pressed before a new value has been entered the current value will remain.

Motor Controller: THR0006
SW Version: 0.8.3 Dec 1, 2014 09:38:00

CommandFunctionDefault ValueDescription
1Motor control flags0x0The motor control flags are a bitfield that sets binary operation parameters.

Currently defined:

  • CONTROL_FLAG_REVERSE_ROTATION (1 << 0)
  • When set, reverses the rotation of the motor.
2Motor poles14Defines the number of poles in the attached motor.
3PWM deadband32Defines the time that band that insures that the motor driving FETs are off. This prevents both the high and low driving complementary FETs to be on at the same time. Units are in processor cycles.
4Commutation threshold0.100000This defines the trigger level at which the commutation algorithm determines it is time to commutate the motor.
5Commutation loss timeout100If the time between detected commutations is greater than this value, in mS, then the algorithm will assume the motor is stalled and reset the commutation algorithm and switch to open loop startup mode.
6Startup duty cycle0.040000The duty cycle that will be used to power the motor when in initial open-loop startup mode.
7Startup initial RPM80The initial startup RPM that will be used when the motor is in initial open-loop startup mode. The algorithm will attempt to commutate at this RPM using the Startup Duty Cycle PWM. The open loop phase will ramp up from this RPM to the startup end RPM at a rate defined by the Ramp Startup time.
8Startup final RPM100he ending startup RPM that will be used when the motor is in initial open-loop startup mode. The algorithm will attempt to commutate at this RPM using the Startup Duty Cycle PWM. The open loop phase will ramp up to this RPM from the startup initial RPM at a rate defined by the Ramp Startup time.
9Startup duration50.000000This parameter defines the duration required to ramp from startup initial RPM to startup end RPM. This value is in units of ????
10Negative deadband-0.020000This defines the largest (closest to 0) negative value that can be set as a motor thruster setpoint. It is assumed that due to stiction the motor will not spin at power levels closer to 0 than this.
11Positive deadband0.020000This defines the smallest positive (closest to 0) value that can be set as a motor thruster setpoint. It is assumed that due to stiction the motor will not spin at power levels closer to 0 than this.
12Negative duty cycle limit-0.990000This value is the limit in the negative direction of applicable power to the motor. The command setpoint will never be less than this value.
13Positive duty cycle limit0.990000This value is the limit in the positive direction of applicable power to the motor. The command setpoint will never be greater than this value.
14Acceleration rate0.000050This value defines the rate at which the motor will change from the current power setpoint to the target setpoint. This value defines the rate when the absolute value of the target setpoint is larger than the current setpoint. The units of this value are change in normalized power per mS.
15Deceleration rate0.000050This value defines the rate at which the motor will change from the current power setpoint to the target setpoint. This value defines the rate when absolute value of the target setpoint is less than the current setpoint. The units of this value are change in normalized power per mS.
16Power manager threshold200.000000This actively limits the power that the thruster will use. The default is 200W.
17Fault control0x0This is a bit-field mask is used to enable or disable the de-energizeing of the motor on the detection of a fault. Faults will still be detected, but if the bit field is cleared the controller will not de-energize on that specific fault condition.

Current fault conditions are defined as:

  • FAULT_UNDERVOLT (1<<0)
  • FAULT_OVERRVOLT (1<<1)
  • FAULT_OVERCURRENT(1<<2)
  • FAULT_OVERTEMP(1<<3)
  • FAULT_STALL(1<<4)
  • FAULT_STALL_WARN (1<<5)
18Minimum voltage19.200001Sets the undervoltage fault trip point in Volts.
19Max bus voltage50.000000Sets the over voltage fault trip point in Volts.
20Max current20.000000Sets the overcurrent fault trip point in Amps.
21Max temperature100.000000Sets the overtemp fault trip point in degrees Celsius.
22Max stall count100Sets the threshold for the number of stall event detections at which to declare a fault.
23Node Id2This is the communication protocol network node id. This is used to designate this device on a multiparty RS-485 communication network. A module will accept a packet which is addressed to its node ID, Group ID, or uses the broadcast ID.
24Group Id129This is the communication protocol network group id. This is used to designate a group of device on a multiparty RS-485 communication network. A module will accept a packet which is addressed to its node ID, Group ID, or uses the broadcast ID.
25Motor Id0This is the motor controller ID. This associates a motor with a specific datum in the motor controller propulsion command. Modules with the same motor ID will all use the same set point when sent an acceptable propulsion command.
26System control flags1The motor control flags are a bitfield that sets binary operation parameters.

Currently defined:

  • ENABLE_LOSS_OF_COMMS_TIMOUT (1 << 0)
  • DISABLE_STARTUP_TONES (1<<1)

When set the controller will set the power setpoint to 0 if communications have been lossed for 1 second.Clearing this flag allows for a greatly reduced communications bandwidth. However the motor will continue to spin even if communications have been lost.

27Fault interlock0This value must be set to the proper password to allow the faults control mask to be changed. The password is 0xdeadbeef
fResetn/aReset parameters to factory default.
sSaven/aSave parameters.
xExitn/aExit configuration mode.

Programming

CSR Memory Map

In normal operation the device implements a CSR type memory mapped data space. The VideoRay CSR comms protocol is used for communication. See https://github.com/videoray/VRCommsProtocol_doc/raw/master/VR_CSR_Communication_Protocol.doc for more information on the base binary protocol.

RegisterFunctionComments
0x0float rpm_targetrpm (RW) NOT USED YET
0x4float pwr_target-1 to 1 (RW)
0x8float rpmrpm (R)
0xcfloat bus_vvolts (R)
0x10float bus_iamps (R)
0x14uint32_t faultfault flags (R)
0x18float tempdeg C (R)
0x1cfloat pwr_actual-1 to 1 (R)
0x20float rpm_P0 to 1 (R) NOT USED YET
0x24float rpm_I0 to 1 (R) NOT USED YET
0x28float rpm_D0 to 1 (R) NOT USED YET
0x2cRESERVED
0x4cuint16_t thruster_IDordinal (RW)
0x4eRESERVED
0x50uint8_t operation_flags
0x51RESERVED
0x54uint32_t motor_fault_interlockpassword (RW)
0x58RESERVED
0x60uint8_t motor_control_flagsBitfield (RW)
0x61uint8_t polescount (RW)
0x62uint8_t pwm_deadbandticks (RW)
0x63RESERVED
0x64float commutation_threshold0 to 1 (RW)
0x68uint32_t commutation_loss_timeoutms (RW)
0x6cfloat startup_dutycycle0 to 1 (RW)
0x70uint16_t startup_initial_rpmrpm (RW)
0x72uint16_t startup_final_rpmrpm (RW)
0x74float startup_durationmS (RW)
0x78float deadband_neg-1 to 0 (RW)
0x7cfloat deadband_pos0 to 1 (RW)
0x80float limit_neg-1 to 0 (RW)
0x84float limit_pos0 to 1 (RW)
0x88float slew_rate_updelta/mS (RW)
0x8cfloat slew_rate_downdelta/mS (RW)
0x90float rpm_kP-1 to 1 (RW) NOT USED YET
0x94float rpm_kI-1 to 1 (RW) NOT USED YET
0x98float rpm_kD-1 to 1 (RW) NOT USED YET
0x9cRESERVED
0xa4uint8_t fault_controlflag (RW)
0xa5uint8_t undervoltage_triggervolts (RW)
0xa6uint8_t overvoltage_triggervolts (RW)
0xa7uint8_t overcurrent_triggeramps (RW)
0xa8uint8_t temp_triggerdeg C (RW)
0xa9uint8_t stall_count_maxcount (RW)
0xaaRESERVED
0xacuint32_t undervoltage_err_cntcount (R)
0xb0uint32_t overvoltage_err_cntcount (R)
0xb4uint32_t overcurrent_err_cntcount (R)
0xb8uint32_t temp_err_cntcount (R)
0xbcuint32_t stall_err_cntcount (R)
0xc0RESERVED
0xd8uint32_t comms_sync1_err_cntcount (R)
0xdcuint32_t comms_sync2_err_cntcount (R)
0xe0uint32_t comms_headerxsum_err_cntcount (R)
0xe4uint32_t comms_overrun_err_cntcount (R)
0xe8uint32_t comms_payloadxsum_err_cntcount (R)
0xecuint16_t comms_err_flag
0xeeuint16_t save_settingscode (W)
0xf0uint32_t custom_command(W) Special Register
0xf4uint32_t FACTORY_SERVICE_DATA(R) Device specific service data
0xf8uint16_t CONFIG_DATA_SIZE(R)
0xfauint8_t CONFIG_DATA(R) Special Register
0xfbuint8_t FIRMWARE_VERSION(R) Special Register
0xfcuint8_t NODE_ID(RW) Special Register
0xfduint8_t GROUP_ID(RW) Special Register
0xfeuint16_t UTILITY(W) Special Register

CSR Field Definitions

To be added.

Commands and Responses

The motor controller firmware also supports custom commands that allow for the instantaneous setting of multiple controllers on a party line comms bus.

PROPULSION_COMMAND: 0xaa

The propulsion command is an application custom command which is sent as a write request to CSR address 0xF0 (the custom command register. It has the following data payload format:

  • 0xAA R_ID THRUST_0 THRUST_1 THRUST_2 ... THRUST_N

Where:

  • 0xAA is the command byte
  • R_ID is the NODE ID of the thruster to respond with data
  • THRUST_X is the thruster power value (-1 to 1) for the thruster with motor id X

Typically this is sent as a group multicast to address 0x81 which is reserved for thrusters.

RESPONSE_THRUSTER_STANDARD: 0x02

The standard thruster response is typically used in conjunction with the multicast PROPULSION COMMAND to retrieve data from each thruster in the system in a round robin fashion.

When the FLAG byte is set to 0x02 the RESPONSE_THRUSTER_STANDARD data payload is sent.

The format of this payload is defined by the following structure:

Response_Thruster_Standard {
    /** Measured shaft rotational velocity */
    float rpm;
    /** Bus voltage (Volts) */
    float bus_v;
    /** Bus current (Amps) */
    float bus_i;
    /** Temperature (Degree C) */
    float temp;
    /** fault flags */
    uint8_t fault;
}

Please see the example thruster.py for an illustration of how to use the PROPULSION_COMMAND and parse the RESPONSE_THRUSTERS_STANDARD response packet.

M5 Communications Module
Operator's Manual, 1.00.00

Operations Guide

M5 Communications Module
Operator's Manual, 1.00.00

Maintenance Guide

M5 Communications Module
Operator's Manual, 1.00.00

Reference Documents

M5 Communications Module
Operator's Manual, 1.00.00

Region Specific Information

The following sections contain information that only applies in specific regional locations. See your region for information that may pertain to you.

European Union (EU)

The following sections are specific to the European Union.

The Waste Electrical and Electronic Equipment Regulations (WEEE) 2013

In accordance with the requirements of the Waste Electrical and Electronic Equipment Regulations 2013, all non fixed electrical and electronic equipment must be disposed of correctly at the end of its useful life through an authorised waste company, and there is an associated requirement to obtain the correct paperwork as per Duty of Care legislation. Please ensure that you treat this equipment as WEEE when you come to dispose of it.