Serial Interface
Last updated
Last updated
Fenix Autopilot can be connected to a Laptop/PC via USB port. This provides access to all user functions available to calibrate compass and linear actuator. Also provides full capabilities to customize installation settings and pilot gain.
Serial Terminal shall be installed to Laptop/PC to communicate with Autopilot to use Serial Interface (eg. Arduino IDE, Putty)
$PMEC Message specification in this Guide.
In order to generate $PEMC messages to be accepted by Fenix Autopilot, a checksum code shall be annexed after * symbol.
Serial I/F examples in this User Guide represent Checksum code as xx
. To use these examples you should substitute xx
by the calculated Checksum value.
Serial I/F Example: $PEMC,00*xx
Serial I/F Valid Sentence: $PEMC,00*37
In this link you will find an online Checksum calculator
To keep same value of a parameter while changing others, omit any value while keeping the commas in place.
To set Ki value while keeping Kp and Kd: $PEMC,06,,0.3,,,m*xx
Fenix V0.1 bug: Message 06, always include m, M or A
deadband value or system will change to M
.
OpenCPN integrates GPS and plotter capabilities to provide user with all required means to define a route and send it to Fenix Autopilot. OpenCPN is required for Nav mode.
Fenix and OpenCPN implements NMEA I/F in both directions
External Compass (only in External Compass mode):
Message: $HDM - Heading Magnetic
Features below are not available in V2.x
Windvane and calculations
GPS Fix
Speed Log
Route
Waypoint ID
Course To Steer to Next Waypoint (CTS) - Magnetic angle
Cross Track Error (XTE)
Arrival Circle Alarm
Perpendicular Circle Alarm
Feature available with limitations in V0.1: Only APB message decoded.
Message: $HDM - Heading Magnetic
Message: $HDT - Heading True
Message: $RSA - Rudder Sensor Angle
Field
Value
Function
Additional Field
Sentence
1
00
Switch working mode from STAND BY to AUTO
N/A
$PEMC,00*37
1
01
Change Current Rudder
$PEMC,01,r*68
1
02
Change CTS (Current Target Steering)
$PEMC,02,i*70
1
03
Get Installation Parameters
$PEMC,03,2,45,5,S,2,-3.2,-32.9,10*xx
1
04
Set Installation Parameters
$PEMC,04,2,40,4,S,3,4.1,33.9,9*xx
1
05
Get PID gain (incl. sample time and deadband)
$PEMC,05,2,0.01,0.5,100,A*xx
1
06
Set PID gain (inc. sample time and deadband)
$PEMC,06,3,0.11,0.7,100,m*xx
1
07
Get Autopilot information
$PEMC,07,S,12,35.60,30.02,2,-0.50*65
1
08
Request information
2: 'I' Request Installation Parameters (message $PEMC,03)
2: 'G' Request Gain (message $PEMC,05)
2: 'A' Request Autopilot info. (message $PEMC,07)
$PEMC,08,I*5A
$PEMC,08,G*54
$PEMC,08,A*52
1
09
Enter/ Exit into IMU Calibration mode
N/A
$PEMC,09*3E
1
10
Enter/ Exit Feedback Calibration mode
N/A
$PEMC,10*36
1
11
Save values
2: 'I' Save Installation and current Feedback Parameters
2: 'G' Save current PID Gain parameters
2: 'C' Save current IMU Offsets
2: 'R' Restore Inst.Param, Feedback and PID Gain to hardcoded values
$PEMC,11,I*52
$PEMC,11,G*5C
$PEMC,11,C*58
$PEMC,11,R*49
1
12
IMU Cal.Mode values
Cal.Mode values
$PEMC,12,
Field
Value
Function
Additional Field
n
'i'
Increment Current by 1 Position Unit
N/A
n
'I'
Increment Current by 10 Position Unit
N/A
n
'r'
Reduce Current by 1 Position Unit
N/A
n
'R'
Reduce Current by 10 Position Uni
N/A
Field
Value
Function
Additional Field
n
Integer
Centered Tiller Position
N/A
n+1
Positive Int
Maximum rudder angle
N/A
n+2
Positive Int
Average Cruise Speed
N/A
n+3
'S'
Installation Side: Starboard
N/A
n+3
'P'
Installation Side: Portboard
N/A
n+4
Positive Int
Rudder Damping
N/A
n+5
Float
Magnetic Variation
N/A
n+6
Float
Heading Alignment
N/A
n+7
Positive Int
Off course alarm angle
N/A
Field
Value
Function
Additional Field
n
Float
Kp
N/A
n+1
Float
Ki
N/A
n+2
Float
Kd
N/A
n+3
unsigned long
Sample Time (mSec)
N/A
n+4
'm'
Deadband: Min
N/A
n+4
'M'
Deadband: Max
N/A
n+4
'A'
Deadband: Auto
N/A
Field
Value
Function
Additional Field
n
'S'
STAND-BY Mode
N/A
n
'A'
AUTO Mode
N/A
n
'T'
TRACK Mode
N/A
n
'C'
Calibration Mode (IMU or Feedback)
N/A
n+1
Integer
Current Rudder
N/A
n+2
Float
Heading Magnetic (HDM) - Magnitude (M)
N/A
n+3
Float
Course To Steer (CTS) - Magnitude (M)
N/A
n+4
Positive int
Deadband value
N/A
n+5
Float
Trimming value
N/A
Field
Value
Function
Additional Field
n
'-'
Calib. Not started
N/A
n
'O'
Calib. Ongoing
N/A
n
'R'
Recalibrated
N/A
n
'N'
Not calibrated
N/A
n
'C'
Check ongoing
N/A
n+1
1:OK/ 0:NOK
Sys status. Ony valid when Calib is ongoing
N/A
n+2
1:OK/ 0:NOK
Gyro status. Ony valid when Calib is ongoing
N/A
n+3
1:OK/ 0:NOK
Accel status. Ony valid when Calib is ongoing
N/A
n+4
1:OK/ 0:NOK
Magn status. Ony valid when Calib is ongoing
N/A
n+5
Int (0, 360)
X euler angle.
Ony valid when Check is ongoing
N/A
n+6
Int (-180, 180)
Y euler angle.
Ony valid when Check is ongoing
N/A
n+7
Int (0, 90)
Z euler angle.
Ony valid when Check is ongoing
N/A
Field
Value
Function
Additional Field
n
'-'
Calib. Not started
N/A
n