diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 8db0fd49..0513db59 100755
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -1049,6 +1049,9 @@
"portsFunction_DJI_FPV": {
"message": "DJI FPV VTX"
},
+ "portsFunction_IMU2": {
+ "message": "Secondary IMU"
+ },
"pidTuningName": {
"message": "Name"
},
@@ -2449,6 +2452,12 @@
"posholdHoverMidThrottle": {
"message": "Use mid. throttle for ALTHOLD"
},
+ "mcWpSlowdown": {
+ "message": "Slow down when approaching waypoint"
+ },
+ "mcWpSlowdownHelp": {
+ "message": "When enabled, NAV engine will slow down when switching to the next waypoint. This prioritizes turning over forward movement. When disabled, NAV engine will continue to the next waypoint and turn as it goes."
+ },
"positionEstimatorConfiguration": {
"message": "Position Estimator"
},
@@ -2494,9 +2503,18 @@
"rthClimbFirst": {
"message": "Climb before RTH"
},
+ "rthClimbFirstHelp": {
+ "message": "If set to ON or ON_FW_SPIRAL, aircraft will climb to nav_rth_altitude first before turning to head home. If set to OFF, aircraft will turn and head home immediately climbing on the way. For a fixed wing, ON will use a linear climb, ON_FW_SPIRAL will use a loiter turning climb with climb rate set by nav_auto_climb_rate and turn rate set by nav_fw_loiter_radius (ON_FW_SPIRAL is a fixed wing setting and behaves the same as ON for a multirotor)."
+ },
"rthClimbIgnoreEmergency": {
"message": "Climb regardless of position sensors health"
},
+ "rthAltControlOverride": {
+ "message": "Override RTH altitude and climb setting with roll/pitch stick"
+ },
+ "rthAltControlOverrideHELP": {
+ "message": "When enabled, the climb on RTH can be canceled by holding full pitch down for >1 second so aircraft will fly home at the current altitude. On fixed wing aircraft, the 'Climb before RTH' setting can be overriden by holding full roll left or right for >1 second so that the plane will turn towards home immediately."
+ },
"rthTailFirst": {
"message": "Tail first"
},
@@ -2524,8 +2542,11 @@
"rthHomeAltitudeHelp": {
"message": "Used when not landing at the home point. Upon arriving at home, the plane will loiter and change altitude to the RTH Home Altitude. Default is 0, which is feature disabled."
},
- "landDescentRate": {
- "message": "Landing vertical speed [cm/s]"
+ "landMinAltVspd": {
+ "message": "Vertical descent velocity under min. vertical landing speed altitude [cm/s]"
+ },
+ "landMaxAltVspd": {
+ "message": "Vertical descent velocity above slowdown altitude [cm/s]"
},
"landSlowdownMinAlt": {
"message": "Min. vertical landing speed at altitude [cm]"
@@ -3214,6 +3235,15 @@
"missionDefaultSettingsHead": {
"message": "Default settings"
},
+ "missionSafehomeHead": {
+ "message": "Safe Home manager"
+ },
+ "missionTemplateHead": {
+ "message": "Mission template"
+ },
+ "missionActionMenuHead": {
+ "message": "Action Menu"
+ },
"useOnlyStandalone": {
"message": "Use stand-alone application.
Please visit the website to read the release notes and download."
},
@@ -3223,6 +3253,9 @@
"confirm_delete_all_points": {
"message": "Do you really want to delete all points?"
},
+ "confirm_delete_point_with_options": {
+ "message": "Do you really want to delete this Waypoint with non-Geo JUMP/SET_HEAD/RTH options? \nIf yes, Non-Geo options attached will be removed also!"
+ },
"servoMixer": {
"message": "Servo mixer"
},
@@ -3694,6 +3727,54 @@
"configurationCurrentMeterType": {
"message": "Current Meter Type"
},
+ "MissionPlannerJumpSettingsCheck": {
+ "message": "JUMP settings incorrect : Check it again! \nBeing forced to WP 1!"
+ },
+ "MissionPlannerJump2SettingsCheck": {
+ "message": "JUMP settings incorrect : Repeat should not exceed 10! \nCheck it again! Being forced to number of repeat equal 0!"
+ },
+ "MissionPlannerJump3SettingsCheck": {
+ "message": "JUMP settings incorrect : not able to Jump to a POI! \nBeing forced to WP 1!"
+ },
+ "MissionPlannerHeadSettingsCheck": {
+ "message": "Heading value is incorrect : Check it again! Being forced by default to -1 thence!"
+ },
+ "MissionPlannerRTHSettingsCheck": {
+ "message": "RTH option is incorrect : Should be 0 or 1. Check it again! \nBeing forced by default to 0, i.e no LAND after RTH!"
+ },
+ "MissionPlannerJumpTargetRemoval": {
+ "message": "You can't remove a Waypoint which is defined as a JUMP target! \nYou first need to remove the target on the waypoint triggering the JUMP."
+ },
+ "SafehomeSelected": {
+ "message": ""
+ },
+ "SafehomeId": {
+ "message": "#"
+ },
+ "SafehomeEnabled": {
+ "message": "Enabled"
+ },
+ "SafehomeLon": {
+ "message": "Lon"
+ },
+ "SafehomeLat": {
+ "message": "Lat"
+ },
+ "WaypointOptionSelected": {
+ "message": "+"
+ },
+ "WaypointOptionId": {
+ "message": "#"
+ },
+ "WaypointOptionAction": {
+ "message": "Type"
+ },
+ "WaypointOptionP1": {
+ "message": "P1"
+ },
+ "WaypointOptionP2": {
+ "message": "P2"
+ },
"rollPitchAdjustmentsMoved": {
"message": "Roll & Pitch board orientation is available only in the CLI. Do not use it to trim the airplane for the level flight! Use Fixed Wing Level Trim on the PID tuning tab under Mechanics instead (fw_level_pitch_trim)."
},
diff --git a/gulpfile.js b/gulpfile.js
index eef77c62..4a4a12a6 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -123,6 +123,10 @@ sources.js = [
'./js/appUpdater.js',
'./js/feature_framework.js',
'./js/defaults_dialog.js',
+ './js/safehomeCollection.js',
+ './js/safehome.js',
+ './js/waypointCollection.js',
+ './js/waypoint.js',
'./node_modules/openlayers/dist/ol.js'
];
diff --git a/images/CF_settings_white.png b/images/CF_settings_white.png
new file mode 100644
index 00000000..77b560d1
Binary files /dev/null and b/images/CF_settings_white.png differ
diff --git a/images/CF_template_white.svg b/images/CF_template_white.svg
new file mode 100644
index 00000000..b5e789d2
--- /dev/null
+++ b/images/CF_template_white.svg
@@ -0,0 +1,85 @@
+
+
diff --git a/images/icons/cf_icon_MP_add_grey.svg b/images/icons/cf_icon_MP_add_grey.svg
new file mode 100644
index 00000000..6e88c177
--- /dev/null
+++ b/images/icons/cf_icon_MP_add_grey.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_cancel_grey.svg b/images/icons/cf_icon_MP_cancel_grey.svg
new file mode 100644
index 00000000..50ff8fa5
--- /dev/null
+++ b/images/icons/cf_icon_MP_cancel_grey.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_center_grey.svg b/images/icons/cf_icon_MP_center_grey.svg
new file mode 100644
index 00000000..efabfe30
--- /dev/null
+++ b/images/icons/cf_icon_MP_center_grey.svg
@@ -0,0 +1,224 @@
+
+
diff --git a/images/icons/cf_icon_MP_hide_grey.svg b/images/icons/cf_icon_MP_hide_grey.svg
new file mode 100644
index 00000000..ba0743b6
--- /dev/null
+++ b/images/icons/cf_icon_MP_hide_grey.svg
@@ -0,0 +1,177 @@
+
+
diff --git a/images/icons/cf_icon_MP_loadFile_grey.svg b/images/icons/cf_icon_MP_loadFile_grey.svg
new file mode 100644
index 00000000..25556841
--- /dev/null
+++ b/images/icons/cf_icon_MP_loadFile_grey.svg
@@ -0,0 +1,152 @@
+
+
diff --git a/images/icons/cf_icon_MP_loadFromEprom_grey.svg b/images/icons/cf_icon_MP_loadFromEprom_grey.svg
new file mode 100644
index 00000000..b2e80041
--- /dev/null
+++ b/images/icons/cf_icon_MP_loadFromEprom_grey.svg
@@ -0,0 +1,240 @@
+
+
diff --git a/images/icons/cf_icon_MP_loadFromFC_grey.svg b/images/icons/cf_icon_MP_loadFromFC_grey.svg
new file mode 100644
index 00000000..8050651f
--- /dev/null
+++ b/images/icons/cf_icon_MP_loadFromFC_grey.svg
@@ -0,0 +1,169 @@
+
+
diff --git a/images/icons/cf_icon_MP_play_grey.svg b/images/icons/cf_icon_MP_play_grey.svg
new file mode 100644
index 00000000..fa30f90b
--- /dev/null
+++ b/images/icons/cf_icon_MP_play_grey.svg
@@ -0,0 +1,177 @@
+
+
diff --git a/images/icons/cf_icon_MP_reduce_grey.svg b/images/icons/cf_icon_MP_reduce_grey.svg
new file mode 100644
index 00000000..6b7bb65c
--- /dev/null
+++ b/images/icons/cf_icon_MP_reduce_grey.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_removeAll_grey.svg b/images/icons/cf_icon_MP_removeAll_grey.svg
new file mode 100644
index 00000000..3e400287
--- /dev/null
+++ b/images/icons/cf_icon_MP_removeAll_grey.svg
@@ -0,0 +1,169 @@
+
+
diff --git a/images/icons/cf_icon_MP_safehome_green.svg b/images/icons/cf_icon_MP_safehome_green.svg
new file mode 100644
index 00000000..327dc99d
--- /dev/null
+++ b/images/icons/cf_icon_MP_safehome_green.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_safehome_grey.svg b/images/icons/cf_icon_MP_safehome_grey.svg
new file mode 100644
index 00000000..8bb9a326
--- /dev/null
+++ b/images/icons/cf_icon_MP_safehome_grey.svg
@@ -0,0 +1,152 @@
+
+
diff --git a/images/icons/cf_icon_MP_safehome_red.svg b/images/icons/cf_icon_MP_safehome_red.svg
new file mode 100644
index 00000000..f4df0751
--- /dev/null
+++ b/images/icons/cf_icon_MP_safehome_red.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_safehome_white.svg b/images/icons/cf_icon_MP_safehome_white.svg
new file mode 100644
index 00000000..9ed25ce9
--- /dev/null
+++ b/images/icons/cf_icon_MP_safehome_white.svg
@@ -0,0 +1,159 @@
+
+
diff --git a/images/icons/cf_icon_MP_save2Eprom_grey.svg b/images/icons/cf_icon_MP_save2Eprom_grey.svg
new file mode 100644
index 00000000..33315941
--- /dev/null
+++ b/images/icons/cf_icon_MP_save2Eprom_grey.svg
@@ -0,0 +1,240 @@
+
+
diff --git a/images/icons/cf_icon_MP_save2FC.svg b/images/icons/cf_icon_MP_save2FC.svg
new file mode 100644
index 00000000..f5552455
--- /dev/null
+++ b/images/icons/cf_icon_MP_save2FC.svg
@@ -0,0 +1,163 @@
+
+
diff --git a/images/icons/cf_icon_MP_save2FC_grey.svg b/images/icons/cf_icon_MP_save2FC_grey.svg
new file mode 100644
index 00000000..46b6a50b
--- /dev/null
+++ b/images/icons/cf_icon_MP_save2FC_grey.svg
@@ -0,0 +1,169 @@
+
+
diff --git a/images/icons/cf_icon_MP_saveFile_grey.svg b/images/icons/cf_icon_MP_saveFile_grey.svg
new file mode 100644
index 00000000..c36b08fb
--- /dev/null
+++ b/images/icons/cf_icon_MP_saveFile_grey.svg
@@ -0,0 +1,152 @@
+
+
diff --git a/images/icons/cf_icon_MP_save_grey.svg b/images/icons/cf_icon_MP_save_grey.svg
new file mode 100644
index 00000000..e8a87fac
--- /dev/null
+++ b/images/icons/cf_icon_MP_save_grey.svg
@@ -0,0 +1,152 @@
+
+
diff --git a/images/icons/cf_icon_MP_show_grey.svg b/images/icons/cf_icon_MP_show_grey.svg
new file mode 100644
index 00000000..94b3562c
--- /dev/null
+++ b/images/icons/cf_icon_MP_show_grey.svg
@@ -0,0 +1,175 @@
+
+
diff --git a/images/icons/cf_icon_MP_stop_grey.svg b/images/icons/cf_icon_MP_stop_grey.svg
new file mode 100644
index 00000000..5977f5c0
--- /dev/null
+++ b/images/icons/cf_icon_MP_stop_grey.svg
@@ -0,0 +1,188 @@
+
+
diff --git a/images/icons/cf_icon_position.svg b/images/icons/cf_icon_position.svg
new file mode 100644
index 00000000..4a963253
--- /dev/null
+++ b/images/icons/cf_icon_position.svg
@@ -0,0 +1,491 @@
+
+
diff --git a/images/icons/cf_icon_position_LDG.png b/images/icons/cf_icon_position_LDG.png
new file mode 100644
index 00000000..137da8d9
Binary files /dev/null and b/images/icons/cf_icon_position_LDG.png differ
diff --git a/images/icons/cf_icon_position_LDG_edit.png b/images/icons/cf_icon_position_LDG_edit.png
new file mode 100644
index 00000000..940eab40
Binary files /dev/null and b/images/icons/cf_icon_position_LDG_edit.png differ
diff --git a/images/icons/cf_icon_position_PH.png b/images/icons/cf_icon_position_PH.png
new file mode 100644
index 00000000..0f12d548
Binary files /dev/null and b/images/icons/cf_icon_position_PH.png differ
diff --git a/images/icons/cf_icon_position_PH_edit.png b/images/icons/cf_icon_position_PH_edit.png
new file mode 100644
index 00000000..e9022011
Binary files /dev/null and b/images/icons/cf_icon_position_PH_edit.png differ
diff --git a/images/icons/cf_icon_position_POI.png b/images/icons/cf_icon_position_POI.png
new file mode 100644
index 00000000..67031819
Binary files /dev/null and b/images/icons/cf_icon_position_POI.png differ
diff --git a/images/icons/cf_icon_position_POI_edit.png b/images/icons/cf_icon_position_POI_edit.png
new file mode 100644
index 00000000..68c1bf1b
Binary files /dev/null and b/images/icons/cf_icon_position_POI_edit.png differ
diff --git a/images/icons/cf_icon_position_WP.png b/images/icons/cf_icon_position_WP.png
new file mode 100644
index 00000000..b8ddf571
Binary files /dev/null and b/images/icons/cf_icon_position_WP.png differ
diff --git a/images/icons/cf_icon_position_WP_edit.png b/images/icons/cf_icon_position_WP_edit.png
new file mode 100644
index 00000000..7954d615
Binary files /dev/null and b/images/icons/cf_icon_position_WP_edit.png differ
diff --git a/images/icons/cf_icon_position_head.png b/images/icons/cf_icon_position_head.png
new file mode 100644
index 00000000..591ae8f7
Binary files /dev/null and b/images/icons/cf_icon_position_head.png differ
diff --git a/images/icons/cf_icon_safehome.png b/images/icons/cf_icon_safehome.png
new file mode 100644
index 00000000..0c3400dc
Binary files /dev/null and b/images/icons/cf_icon_safehome.png differ
diff --git a/images/icons/cf_icon_safehome_used.png b/images/icons/cf_icon_safehome_used.png
new file mode 100644
index 00000000..e58f62e8
Binary files /dev/null and b/images/icons/cf_icon_safehome_used.png differ
diff --git a/images/icons/cf_icon_safehome_white.svg b/images/icons/cf_icon_safehome_white.svg
new file mode 100644
index 00000000..1f92d3bc
--- /dev/null
+++ b/images/icons/cf_icon_safehome_white.svg
@@ -0,0 +1,60 @@
+
+
diff --git a/js/fc.js b/js/fc.js
index 1a2a0a56..dfebb4d4 100644
--- a/js/fc.js
+++ b/js/fc.js
@@ -62,7 +62,8 @@ var CONFIG,
BATTERY_CONFIG,
OUTPUT_MAPPING,
SETTINGS,
- BRAKING_CONFIG;
+ BRAKING_CONFIG,
+ SAFEHOMES;
var FC = {
MAX_SERVO_RATE: 125,
@@ -244,7 +245,7 @@ var FC = {
packetCount: 0
};
- MISSION_PLANER = {
+ /* MISSION_PLANER = {
maxWaypoints: 0,
isValidMission: 0,
countBusyPoints: 0,
@@ -255,9 +256,13 @@ var FC = {
lon: 0,
alt: 0,
endMission: 0,
- p1: 0
+ p1: 0,
+ p2: 0,
+ p3: 0
}
- };
+ }; */
+
+ MISSION_PLANER = new WaypointCollection();
ANALOG = {
voltage: 0,
@@ -552,6 +557,8 @@ var FC = {
OUTPUT_MAPPING = new OutputMappingCollection();
SETTINGS = {};
+
+ SAFEHOMES = new SafehomeCollection();
},
getOutputUsages: function() {
return {
diff --git a/js/msp/MSPCodes.js b/js/msp/MSPCodes.js
index 36998671..c939b2cb 100644
--- a/js/msp/MSPCodes.js
+++ b/js/msp/MSPCodes.js
@@ -218,5 +218,14 @@ var MSPCodes = {
MSP2_PID: 0x2030,
MSP2_SET_PID: 0x2031,
- MSP2_INAV_OPFLOW_CALIBRATION: 0x2032
+ MSP2_INAV_OPFLOW_CALIBRATION: 0x2032,
+
+ MSP2_INAV_FWUPDT_PREPARE: 0x2033,
+ MSP2_INAV_FWUPDT_STORE: 0x2034,
+ MSP2_INAV_FWUPDT_EXEC: 0x2035,
+ MSP2_INAV_FWUPDT_ROLLBACK_PREPARE: 0x2036,
+ MSP2_INAV_FWUPDT_ROLLBACK_EXEC: 0x2037,
+
+ MSP2_INAV_SAFEHOME: 0x2038,
+ MSP2_INAV_SET_SAFEHOME: 0x2039
};
diff --git a/js/msp/MSPHelper.js b/js/msp/MSPHelper.js
index 954b5959..fba34acf 100644
--- a/js/msp/MSPHelper.js
+++ b/js/msp/MSPHelper.js
@@ -43,6 +43,7 @@ var mspHelper = (function (gui) {
'FRSKY_OSD': 20,
'DJI_FPV': 21,
'SMARTPORT_MASTER': 23,
+ 'IMU2': 24,
};
// Required for MSP_DEBUGMSG because console.log() doesn't allow omitting
@@ -65,8 +66,7 @@ var mspHelper = (function (gui) {
flags,
colorCount,
color;
-
- if (!dataHandler.unsupported) switch (dataHandler.code) {
+ if (!dataHandler.unsupported || dataHandler.unsupported) switch (dataHandler.code) {
case MSPCodes.MSP_IDENT:
//FIXME remove this frame when proven not needed
console.log('Using deprecated msp command: MSP_IDENT');
@@ -441,13 +441,16 @@ var mspHelper = (function (gui) {
}
break;
case MSPCodes.MSP_WP:
- MISSION_PLANER.bufferPoint.number = data.getUint8(0);
- MISSION_PLANER.bufferPoint.action = data.getUint8(1);
- MISSION_PLANER.bufferPoint.lat = data.getInt32(2, true) / 10000000;
- MISSION_PLANER.bufferPoint.lon = data.getInt32(6, true) / 10000000;
- MISSION_PLANER.bufferPoint.alt = data.getInt32(10, true);
- MISSION_PLANER.bufferPoint.p1 = data.getInt16(14, true);
-
+ MISSION_PLANER.put(new Waypoint(
+ data.getUint8(0),
+ data.getUint8(1),
+ data.getInt32(2, true),
+ data.getInt32(6, true),
+ data.getInt32(10, true),
+ data.getInt16(14, true),
+ data.getInt16(16, true),
+ data.getInt16(18, true)
+ ));
break;
case MSPCodes.MSP_BOXIDS:
//noinspection JSUndeclaredVariable
@@ -1324,10 +1327,11 @@ var mspHelper = (function (gui) {
RTH_AND_LAND_CONFIG.rthAltControlMode = data.getUint8(6);
RTH_AND_LAND_CONFIG.rthAbortThreshold = data.getUint16(7, true);
RTH_AND_LAND_CONFIG.rthAltitude = data.getUint16(9, true);
- RTH_AND_LAND_CONFIG.landDescentRate = data.getUint16(11, true);
- RTH_AND_LAND_CONFIG.landSlowdownMinAlt = data.getUint16(13, true);
- RTH_AND_LAND_CONFIG.landSlowdownMaxAlt = data.getUint16(15, true);
- RTH_AND_LAND_CONFIG.emergencyDescentRate = data.getUint16(17, true);
+ RTH_AND_LAND_CONFIG.landMinAltVspd = data.getUint16(11, true);
+ RTH_AND_LAND_CONFIG.landMaxAltVspd = data.getUint16(13, true);
+ RTH_AND_LAND_CONFIG.landSlowdownMinAlt = data.getUint16(15, true);
+ RTH_AND_LAND_CONFIG.landSlowdownMaxAlt = data.getUint16(17, true);
+ RTH_AND_LAND_CONFIG.emergencyDescentRate = data.getUint16(19, true);
break;
case MSPCodes.MSP_SET_RTH_AND_LAND_CONFIG:
@@ -1411,9 +1415,9 @@ var mspHelper = (function (gui) {
break;
case MSPCodes.MSP_WP_GETINFO:
// Reserved for waypoint capabilities data.getUint8(0);
- MISSION_PLANER.maxWaypoints = data.getUint8(1);
- MISSION_PLANER.isValidMission = data.getUint8(2);
- MISSION_PLANER.countBusyPoints = data.getUint8(3);
+ MISSION_PLANER.setMaxWaypoints(data.getUint8(1));
+ MISSION_PLANER.setValidMission(data.getUint8(2));
+ MISSION_PLANER.setCountBusyPoints(data.getUint8(3));
break;
case MSPCodes.MSP_SET_WP:
console.log('Point saved');
@@ -1493,7 +1497,18 @@ var mspHelper = (function (gui) {
SENSOR_DATA.temperature[i] = temp_decidegrees / 10; // °C
}
break;
-
+ case MSPCodes.MSP2_INAV_SAFEHOME:
+ SAFEHOMES.put(new Safehome(
+ data.getUint8(0),
+ data.getUint8(1),
+ data.getInt32(2, true),
+ data.getInt32(6, true)
+ ));
+ break;
+ case MSPCodes.MSP2_INAV_SET_SAFEHOME:
+ console.log('Safehome points saved');
+ break;
+
default:
console.log('Unknown code detected: ' + dataHandler.code);
} else {
@@ -1993,8 +2008,11 @@ var mspHelper = (function (gui) {
buffer.push(lowByte(RTH_AND_LAND_CONFIG.rthAltitude));
buffer.push(highByte(RTH_AND_LAND_CONFIG.rthAltitude));
- buffer.push(lowByte(RTH_AND_LAND_CONFIG.landDescentRate));
- buffer.push(highByte(RTH_AND_LAND_CONFIG.landDescentRate));
+ buffer.push(lowByte(RTH_AND_LAND_CONFIG.landMinAltVspd));
+ buffer.push(highByte(RTH_AND_LAND_CONFIG.landMinAltVspd));
+
+ buffer.push(lowByte(RTH_AND_LAND_CONFIG.landMaxAltVspd));
+ buffer.push(highByte(RTH_AND_LAND_CONFIG.landMaxAltVspd));
buffer.push(lowByte(RTH_AND_LAND_CONFIG.landSlowdownMinAlt));
buffer.push(highByte(RTH_AND_LAND_CONFIG.landSlowdownMinAlt));
@@ -2101,34 +2119,7 @@ var mspHelper = (function (gui) {
buffer.push(SENSOR_CONFIG.opflow);
break;
- case MSPCodes.MSP_SET_WP:
- buffer.push(MISSION_PLANER.bufferPoint.number); // sbufReadU8(src); // number
- buffer.push(MISSION_PLANER.bufferPoint.action); // sbufReadU8(src); // action
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lat, 0)); // sbufReadU32(src); // lat
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lat, 1));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lat, 2));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lat, 3));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lon, 0)); // sbufReadU32(src); // lon
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lon, 1));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lon, 2));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.lon, 3));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.alt, 0)); // sbufReadU32(src); // to set altitude (cm)
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.alt, 1));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.alt, 2));
- buffer.push(specificByte(MISSION_PLANER.bufferPoint.alt, 3));
- buffer.push(lowByte(MISSION_PLANER.bufferPoint.p1)); //sbufReadU16(src); // P1 speed or landing
- buffer.push(highByte(MISSION_PLANER.bufferPoint.p1));
- buffer.push(lowByte(0)); //sbufReadU16(src); // P2
- buffer.push(highByte(0));
- buffer.push(lowByte(0)); //sbufReadU16(src); // P3
- buffer.push(highByte(0));
- buffer.push(MISSION_PLANER.bufferPoint.endMission); //sbufReadU8(src); // future: to set nav flag
- break;
- case MSPCodes.MSP_WP:
- console.log(MISSION_PLANER.bufferPoint.number);
- buffer.push(MISSION_PLANER.bufferPoint.number+1);
-
- break;
+
case MSPCodes.MSP_WP_MISSION_SAVE:
// buffer.push(0);
console.log(buffer);
@@ -2194,17 +2185,17 @@ var mspHelper = (function (gui) {
};
self.sendBlackboxConfiguration = function (onDataCallback) {
- var buffer = [];
- var messageId = MSPCodes.MSP_SET_BLACKBOX_CONFIG;
- buffer.push(BLACKBOX.blackboxDevice & 0xFF);
- messageId = MSPCodes.MSP2_SET_BLACKBOX_CONFIG;
- buffer.push(lowByte(BLACKBOX.blackboxRateNum));
- buffer.push(highByte(BLACKBOX.blackboxRateNum));
- buffer.push(lowByte(BLACKBOX.blackboxRateDenom));
- buffer.push(highByte(BLACKBOX.blackboxRateDenom));
+ var buffer = [];
+ var messageId = MSPCodes.MSP_SET_BLACKBOX_CONFIG;
+ buffer.push(BLACKBOX.blackboxDevice & 0xFF);
+ messageId = MSPCodes.MSP2_SET_BLACKBOX_CONFIG;
+ buffer.push(lowByte(BLACKBOX.blackboxRateNum));
+ buffer.push(highByte(BLACKBOX.blackboxRateNum));
+ buffer.push(lowByte(BLACKBOX.blackboxRateDenom));
+ buffer.push(highByte(BLACKBOX.blackboxRateDenom));
//noinspection JSUnusedLocalSymbols
MSP.send_message(messageId, buffer, false, function (response) {
- onDataCallback();
+ onDataCallback();
});
};
@@ -2822,7 +2813,7 @@ var mspHelper = (function (gui) {
};
self.loadBatteryConfig = function (callback) {
- MSP.send_message(MSPCodes.MSPV2_BATTERY_CONFIG, false, false, callback);
+ MSP.send_message(MSPCodes.MSPV2_BATTERY_CONFIG, false, false, callback);
};
self.loadArmingConfig = function (callback) {
@@ -2988,6 +2979,76 @@ var mspHelper = (function (gui) {
self.getMissionInfo = function (callback) {
MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
};
+
+ self.loadWaypoints = function (callback) {
+ MISSION_PLANER.reinit();
+ let waypointId = 1;
+ MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, getFirstWP);
+
+ function getFirstWP() {
+ MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint)
+ };
+
+ function nextWaypoint() {
+ waypointId++;
+ if (waypointId < MISSION_PLANER.getCountBusyPoints()) {
+ MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, nextWaypoint);
+ }
+ else {
+ MSP.send_message(MSPCodes.MSP_WP, [waypointId], false, callback);
+ }
+ };
+ };
+
+ self.saveWaypoints = function (callback) {
+ let waypointId = 1;
+ MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, nextWaypoint)
+
+ function nextWaypoint() {
+ waypointId++;
+ if (waypointId < MISSION_PLANER.get().length) {
+ MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, nextWaypoint);
+ }
+ else {
+ MSP.send_message(MSPCodes.MSP_SET_WP, MISSION_PLANER.extractBuffer(waypointId), false, endMission);
+ }
+ };
+
+ function endMission() {
+ MSP.send_message(MSPCodes.MSP_WP_GETINFO, false, false, callback);
+ }
+ };
+
+ self.loadSafehomes = function (callback) {
+ SAFEHOMES.flush();
+ let safehomeId = 0;
+ MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, nextSafehome);
+
+ function nextSafehome() {
+ safehomeId++;
+ if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) {
+ MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, nextSafehome);
+ }
+ else {
+ MSP.send_message(MSPCodes.MSP2_INAV_SAFEHOME, [safehomeId], false, callback);
+ }
+ };
+ };
+
+ self.saveSafehomes = function (callback) {
+ let safehomeId = 0;
+ MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, nextSendSafehome);
+
+ function nextSendSafehome() {
+ safehomeId++;
+ if (safehomeId < SAFEHOMES.getMaxSafehomeCount()-1) {
+ MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, nextSendSafehome);
+ }
+ else {
+ MSP.send_message(MSPCodes.MSP2_INAV_SET_SAFEHOME, SAFEHOMES.extractBuffer(safehomeId), false, callback);
+ }
+ };
+ };
self._getSetting = function (name) {
if (SETTINGS[name]) {
diff --git a/js/safehome.js b/js/safehome.js
new file mode 100644
index 00000000..b0c655d9
--- /dev/null
+++ b/js/safehome.js
@@ -0,0 +1,61 @@
+/*global $*/
+'use strict';
+
+
+let Safehome = function (number, enabled, lat, lon) {
+
+ var self = {};
+
+ self.getNumber = function () {
+ return number;
+ };
+
+ self.setNumber = function (data) {
+ number = data;
+ };
+
+ self.getLon = function () {
+ return lon;
+ };
+
+ self.setLon = function (data) {
+ lon = data;
+ };
+
+ self.getLonMap = function () {
+ return lon / 1e7;
+ };
+
+ self.getLat = function () {
+ return lat;
+ };
+
+ self.setLat = function (data) {
+ lat = data;
+ };
+
+ self.getLatMap = function () {
+ return lat / 1e7;
+ };
+
+ self.isUsed = function () {
+ return enabled == 1;
+ };
+
+ self.getEnabled = function () {
+ return enabled;
+ };
+
+ self.setEnabled = function (data) {
+ enabled = data;
+ };
+
+ self.cleanup = function () {
+ number = 0;
+ enabled = 0;
+ lon = 0;
+ lat = 0;
+ };
+
+ return self;
+};
\ No newline at end of file
diff --git a/js/safehomeCollection.js b/js/safehomeCollection.js
new file mode 100644
index 00000000..5f2629b5
--- /dev/null
+++ b/js/safehomeCollection.js
@@ -0,0 +1,130 @@
+'use strict';
+
+let SafehomeCollection = function () {
+
+ let self = {},
+ data = [],
+ maxSafehomeCount = 8;
+
+ self.setMaxSafehomeCount = function (value) {
+ maxSafehomeCount = value;
+ };
+
+ self.getMaxSafehomeCount = function () {
+ return maxSafehomeCount;
+ }
+
+ self.put = function (element) {
+ data.push(element);
+ };
+
+ self.get = function () {
+ return data;
+ };
+
+ self.clean = function (index){
+ data[index].cleanup();
+ };
+
+ self.flush = function () {
+ data = [];
+ };
+
+ self.inflate = function () {
+ while (self.hasFreeSlots()) {
+ self.put(new Safehome(data.length, 0, 0, 0));
+ }
+ };
+
+ self.hasFreeSlots = function () {
+ return data.length < self.getMaxSafehomeCount();
+ };
+
+ self.isSafehomeConfigured = function(safehomeId) {
+
+ for (let safehomeIndex in data) {
+ if (data.hasOwnProperty(safehomeIndex)) {
+ let safehome = data[safehomeIndex];
+
+ if (safehome.getNumber() == safehomeId && safehome.isUsed()) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ self.getNumberOfConfiguredSafehome = function () {
+ let count = 0;
+ for (let i = 0; i < self.getMaxSafehomeCount(); i ++) {
+ if (self.isSafehomeConfigured(i)) {
+ count++;
+ }
+ }
+ return count;
+ };
+
+ self.getUsedSafehomeIndexes = function () {
+ let out = [];
+
+ for (let safehomeIndex in data) {
+ if (data.hasOwnProperty(safehomeIndex)) {
+ let safehome = data[safehomeIndex];
+ out.push(safehome.getNumber());
+ }
+ }
+
+ let unique = [...new Set(out)];
+
+ return unique.sort(function(a, b) {
+ return a-b;
+ });
+ }
+
+ self.getSafehome = function(safehomeId) {
+ for (let safehomeIndex in data) {
+ if (data.hasOwnProperty(safehomeIndex)) {
+ let safehome = data[safehomeIndex];
+ if (safehome.getNumber() == safehomeId ) {
+ return safehome;
+ }
+ }
+ }
+ };
+
+ self.updateSafehome = function(newSafehome) {
+ data[newSafehome.getNumber()] = newSafehome;
+ };
+
+ self.extractBuffer = function(safehomeId) {
+ let buffer = [];
+ let safehome = self.getSafehome(safehomeId);
+ buffer.push(safehome.getNumber()); // sbufReadU8(src); // number
+ buffer.push(safehome.getEnabled()); // sbufReadU8(src); // action
+ buffer.push(specificByte(safehome.getLat(), 0)); // sbufReadU32(src); // lat
+ buffer.push(specificByte(safehome.getLat(), 1));
+ buffer.push(specificByte(safehome.getLat(), 2));
+ buffer.push(specificByte(safehome.getLat(), 3));
+ buffer.push(specificByte(safehome.getLon(), 0)); // sbufReadU32(src); // lon
+ buffer.push(specificByte(safehome.getLon(), 1));
+ buffer.push(specificByte(safehome.getLon(), 2));
+ buffer.push(specificByte(safehome.getLon(), 3));
+
+ return buffer;
+ }
+
+ self.safehomeDisplayDebug = function() {
+ if (data && data.length != 0) {
+ data.forEach(function (element) {
+ console.log("N° : ", element.getNumber(),
+ "Enabled : ", element.getEnabled(),
+ "Lon : ", element.getLon(),
+ "Lat : ", element.getLat(),
+ );
+ });
+ }
+ }
+
+
+ return self;
+};
\ No newline at end of file
diff --git a/js/waypoint.js b/js/waypoint.js
new file mode 100644
index 00000000..9985404b
--- /dev/null
+++ b/js/waypoint.js
@@ -0,0 +1,140 @@
+/*global $*/
+'use strict';
+
+let Waypoint = function (number, action, lat, lon, alt=0, p1=0, p2=0, p3=0, endMission=0, isUsed=true, isAttached=false, attachedId="") {
+
+ var self = {};
+ let layerNumber = "undefined";
+ let attachedNumber = "undefined";
+ let poiNumber = "undefined";
+
+ self.getNumber = function () {
+ return number;
+ };
+
+ self.setNumber = function (data) {
+ number = data;
+ };
+
+ self.getLayerNumber = function () {
+ return layerNumber;
+ };
+
+ self.setLayerNumber = function (data) {
+ layerNumber = data;
+ };
+
+ self.getPoiNumber = function () {
+ return poiNumber;
+ };
+
+ self.setPoiNumber = function (data) {
+ poiNumber = data;
+ };
+
+ self.isUsed = function () {
+ return isUsed;
+ };
+
+ self.setUsed = function (data) {
+ isUsed = data;
+ };
+
+ self.isAttached = function () {
+ return isAttached;
+ };
+
+ self.setAttached = function (data) {
+ isAttached = data;
+ };
+
+ self.getLon = function () {
+ return lon;
+ };
+
+ self.getLonMap = function () {
+ return lon / 10000000;
+ };
+
+ self.setLon = function (data) {
+ lon = data;
+ };
+
+ self.getLat = function () {
+ return lat;
+ };
+
+ self.getLatMap = function () {
+ return lat / 10000000;
+ };
+
+ self.setLat = function (data) {
+ lat = data;
+ };
+
+ self.getAction = function () {
+ return action;
+ };
+
+ self.setAction = function (data) {
+ action = data;
+ };
+
+ self.getAlt = function () {
+ return alt;
+ };
+
+ self.setAlt = function (data) {
+ alt = data;
+ };
+
+ self.getP1 = function () {
+ return p1;
+ };
+
+ self.setP1 = function (data) {
+ p1 = data;
+ };
+
+ self.getP2 = function () {
+ return p2;
+ };
+
+ self.setP2 = function (data) {
+ p2 = data;
+ };
+
+ self.getP3 = function () {
+ return p3;
+ };
+
+ self.setP3 = function (data) {
+ p3 = data;
+ };
+
+ self.getEndMission = function () {
+ return endMission;
+ };
+
+ self.setEndMission = function (data) {
+ endMission = data;
+ };
+
+ self.getAttachedId = function () {
+ return attachedId;
+ };
+
+ self.setAttachedId = function (data) {
+ attachedId = data;
+ };
+
+ self.getAttachedNumber = function () {
+ return attachedNumber;
+ };
+
+ self.setAttachedNumber = function (data) {
+ attachedNumber = data;
+ };
+
+ return self;
+};
\ No newline at end of file
diff --git a/js/waypointCollection.js b/js/waypointCollection.js
new file mode 100644
index 00000000..59df8335
--- /dev/null
+++ b/js/waypointCollection.js
@@ -0,0 +1,336 @@
+'use strict';
+
+
+let WaypointCollection = function () {
+
+ let self = {},
+ data = [],
+ maxWaypoints = 60,
+ isValidMission = 0,
+ countBusyPoints = 0,
+ version = 0,
+ center = {}
+
+ self.getMaxWaypoints = function () {
+ return maxWaypoints;
+ };
+
+ self.setMaxWaypoints = function (data) {
+ maxWaypoints = data;
+ };
+
+ self.getValidMission = function () {
+ return isValidMission;
+ };
+
+ self.setValidMission = function (data) {
+ isValidMission = data;
+ };
+
+ self.getCountBusyPoints = function () {
+ return countBusyPoints;
+ };
+
+ self.setCountBusyPoints = function (data) {
+ countBusyPoints = data;
+ };
+
+ self.getVersion = function () {
+ return version;
+ };
+
+ self.setVersion = function (data) {
+ version = data;
+ };
+
+ self.getCenter = function () {
+ return center;
+ };
+
+ self.setCenter = function (data) {
+ center = data;
+ };
+
+ self.setCenterZoom = function (data) {
+ center.zoom = data;
+ };
+
+ self.setCenterLon = function (data) {
+ center.lon = data;
+ };
+
+ self.setCenterLat = function (data) {
+ center.lat = data;
+ };
+
+ self.put = function (element) {
+ data.push(element);
+ };
+
+ self.get = function () {
+ return data;
+ };
+
+ self.isEmpty = function () {
+ return data == [];
+ };
+
+ self.flush = function () {
+ data = [];
+ };
+
+ self.reinit = function () {
+ data = [];
+ maxWaypoints = 60;
+ isValidMission = 0;
+ countBusyPoints = 0;
+ version = 0;
+ center = {};
+ };
+
+ self.getWaypoint = function(waypointId) {
+ for (let waypointIndex in data) {
+ if (data.hasOwnProperty(waypointIndex)) {
+ let waypoint = data[waypointIndex];
+
+ if (waypoint.getNumber() == waypointId ) {
+ return waypoint;
+ }
+ }
+ }
+ };
+
+ self.updateWaypoint = function(newWaypoint) {
+ if (newWaypoint.isUsed()) {
+ data[newWaypoint.getNumber()] = newWaypoint;
+ }
+ };
+
+ self.dropWaypoint = function(newWaypoint) {
+ self.getWaypoint(newWaypoint.getNumber()).setUsed(false);
+ let indexId = newWaypoint.getNumber()
+ data.forEach(function (wp) {
+ if (wp.getNumber() >= indexId) {
+ wp.setNumber(wp.getNumber()-1);
+ }
+ if (wp.getAction() == MWNP.WPTYPE.JUMP && wp.getP1()>=indexId) {
+ wp.setP1(wp.getP1()-1);
+ }
+ });
+ data.splice(indexId, 1);
+
+ };
+
+ self.insertWaypoint = function (newWaypoint, indexId) {
+ data.forEach(function (wp) {
+ if (wp.getNumber() >= indexId) {
+ wp.setNumber(wp.getNumber()+1);
+ }
+ if (wp.getAction() == MWNP.WPTYPE.JUMP && wp.getP1()>=indexId) {
+ wp.setP1(wp.getP1()+1);
+ }
+ });
+ data.splice(indexId, 0, newWaypoint);
+ };
+
+
+ self.drop = function (waypointId) {
+ self.getWaypoint(waypointId).setUsed(false);
+ var tmpData = [];
+ let idx = 0;
+ data.forEach(function (element) {
+ if (element.isUsed()) {
+ element.setNumber(idx)
+ tmpData.push(element);
+ idx++;
+ }
+ });
+
+ data = tmpData;
+ };
+
+ self.update = function (bMWPfile=false, bReverse=false) {
+ let oldWPNumber = 0;
+ let optionIdx = 0;
+ let idx = 0;
+ data.forEach(function (element) {
+ if (element.isUsed()) {
+ if (bMWPfile && !bReverse) {
+ element.setNumber(element.getNumber()-1);
+ if (element.getAction() == MWNP.WPTYPE.JUMP) {
+ element.setP1(element.getP1()-1);
+ }
+ }
+ else if (bMWPfile && bReverse) {
+ element.setNumber(element.getNumber()+1);
+ if (element.getAction() == MWNP.WPTYPE.JUMP) {
+ element.setP1(element.getP1()+1);
+ }
+ }
+
+ if ([MWNP.WPTYPE.JUMP,MWNP.WPTYPE.SET_HEAD,MWNP.WPTYPE.RTH].includes(element.getAction())) {
+ element.setAttachedId(oldWPNumber);
+ element.setAttachedNumber(optionIdx);
+ element.setAttached(true);
+ optionIdx++;
+ }
+ else {
+ oldWPNumber = element.getNumber();
+ element.setLayerNumber(idx);
+ optionIdx = 0;
+ idx++;
+ }
+ if (element.getNumber() == ((bMWPfile && bReverse) ? self.get().length : self.get().length-1)) {
+ element.setEndMission(0xA5);
+ }
+ else {
+ element.setEndMission(0);
+ }
+ }
+ });
+ };
+
+ self.getNonAttachedList = function () {
+ let tmpData = [];
+ data.forEach(function (element) {
+ if (!element.isAttached()) {
+ tmpData.push(element);
+ }
+ });
+
+ return tmpData;
+ }
+
+ self.getAttachedList = function () {
+ let tmpData = [];
+ data.forEach(function (element) {
+ if (element.isAttached()) {
+ tmpData.push(element);
+ }
+ });
+
+ return tmpData;
+ }
+
+ self.getAttachedFromWaypoint = function (waypoint) {
+ let tmpData = [];
+ data.forEach(function (element) {
+ if (element.isAttached() && element.getAttachedId() == waypoint.getNumber()) {
+ tmpData.push(element);
+ }
+ });
+
+ return tmpData;
+ }
+
+ self.addAttachedFromWaypoint = function (waypoint) {
+ let tmpNumber = 0;
+ let tmpData = self.getAttachedFromWaypoint(waypoint);
+ if (tmpData != 'undefined' && tmpData.length !=0) {
+ tmpNumber = tmpData.length;
+ }
+ let tempWp = new Waypoint(waypoint.getNumber()+tmpNumber+1, MWNP.WPTYPE.JUMP, 0, 0);
+ tempWp.setAttached(true);
+ tempWp.setAttachedId(waypoint.getNumber());
+ self.insertWaypoint(tempWp, waypoint.getNumber()+tmpNumber+1);
+ self.update();
+ }
+
+ self.dropAttachedFromWaypoint = function (waypoint, waypointAttachedNumber) {
+ data.forEach(function (element) {
+ if (element.isAttached() && element.getAttachedId() == waypoint.getNumber() && element.getAttachedNumber() == waypointAttachedNumber) {
+ self.dropWaypoint(element);
+ self.update();
+ }
+ });
+
+ }
+
+ self.extractBuffer = function(waypointId) {
+ let buffer = [];
+ let waypoint = self.getWaypoint(waypointId);
+ buffer.push(waypoint.getNumber()); // sbufReadU8(src); // number
+ buffer.push(waypoint.getAction()); // sbufReadU8(src); // action
+ buffer.push(specificByte(waypoint.getLat(), 0)); // sbufReadU32(src); // lat
+ buffer.push(specificByte(waypoint.getLat(), 1));
+ buffer.push(specificByte(waypoint.getLat(), 2));
+ buffer.push(specificByte(waypoint.getLat(), 3));
+ buffer.push(specificByte(waypoint.getLon(), 0)); // sbufReadU32(src); // lon
+ buffer.push(specificByte(waypoint.getLon(), 1));
+ buffer.push(specificByte(waypoint.getLon(), 2));
+ buffer.push(specificByte(waypoint.getLon(), 3));
+ buffer.push(specificByte(waypoint.getAlt(), 0)); // sbufReadU32(src); // to set altitude (cm)
+ buffer.push(specificByte(waypoint.getAlt(), 1));
+ buffer.push(specificByte(waypoint.getAlt(), 2));
+ buffer.push(specificByte(waypoint.getAlt(), 3));
+ buffer.push(lowByte(waypoint.getP1())); //sbufReadU16(src); // P1 speed or landing
+ buffer.push(highByte(waypoint.getP1()));
+ buffer.push(lowByte(waypoint.getP2())); //sbufReadU16(src); // P2
+ buffer.push(highByte(waypoint.getP2()));
+ buffer.push(lowByte(waypoint.getP3())); //sbufReadU16(src); // P3
+ buffer.push(highByte(waypoint.getP3()));
+ buffer.push(waypoint.getEndMission()); //sbufReadU8(src); // future: to set nav flag
+
+ return buffer;
+ }
+
+ self.missionDisplayDebug = function() {
+ if (data && data.length != 0) {
+ data.forEach(function (element) {
+ console.log("N° : ", element.getNumber(),
+ "Action : ", element.getAction(),
+ "Lon : ", element.getLon(),
+ "Lat : ", element.getLat(),
+ "Alt : ", element.getAlt(),
+ "P1 : ", element.getP1(),
+ "P2 : ", element.getP2(),
+ "P3 : ", element.getP3(),
+ "EndMission : ", element.getEndMission());
+ });
+ }
+ }
+
+ self.copy = function(mission){
+ mission.get().forEach(function (element) {
+ self.put(element);
+ });
+ self.setMaxWaypoints(mission.getMaxWaypoints());
+ self.setValidMission(mission.getValidMission());
+ self.setCountBusyPoints(mission.getCountBusyPoints());
+ self.setVersion(mission.getVersion());
+ self.setCenter(mission.getCenter());
+ }
+
+ self.convertJumpNumberToWaypoint = function(jumpId) {
+ let outputNumber = 0;
+ self.getNonAttachedList().forEach(function (element) {
+ if (element.getLayerNumber() == jumpId) {
+ outputNumber = element.getNumber();
+ }
+ });
+ return outputNumber;
+ }
+
+ self.isJumpTargetAttached = function(waypoint) {
+ let lJumptTargetAttached = [];
+ data.forEach(function (element) {
+ if (element.getAction() == MWNP.WPTYPE.JUMP && element.getP1() == waypoint.getNumber()) {
+ lJumptTargetAttached.push(element.getNumber());
+ }
+ });
+ console.log("lJumptTargetAttached ", lJumptTargetAttached);
+ return (lJumptTargetAttached.length != 0 && lJumptTargetAttached != 'undefined')
+ }
+
+ self.getPoiList = function() {
+ let poiList = [];
+ data.forEach(function (element) {
+ if (element.getAction() == MWNP.WPTYPE.SET_POI) {
+ poiList.push(element.getNumber());
+ }
+ });
+ return poiList;
+ }
+
+ return self;
+};
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 587b74dc..05873085 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "inav-configurator",
- "version": "2.7.0",
+ "version": "3.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -44,6 +44,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "optional": true,
"requires": {
"kind-of": "^3.0.2",
"longest": "^1.0.1",
@@ -54,6 +55,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "optional": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -813,11 +815,6 @@
"supports-color": "^2.0.0"
}
},
- "charm": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz",
- "integrity": "sha1-BsIe7RobBq62dVPNxT4jJ0usIpY="
- },
"chokidar": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz",
@@ -1059,12 +1056,9 @@
}
},
"commander": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"component-bind": {
"version": "1.0.0",
@@ -1269,9 +1263,9 @@
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
"decompress": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz",
- "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz",
+ "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
"requires": {
"decompress-tar": "^4.0.0",
"decompress-tarbz2": "^4.0.0",
@@ -2197,7 +2191,8 @@
},
"ansi-regex": {
"version": "2.1.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -2215,11 +2210,13 @@
},
"balanced-match": {
"version": "1.0.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2232,15 +2229,18 @@
},
"code-point-at": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -2343,7 +2343,8 @@
},
"inherits": {
"version": "2.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -2353,6 +2354,7 @@
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -2365,17 +2367,20 @@
"minimatch": {
"version": "3.0.4",
"bundled": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -2392,6 +2397,7 @@
"mkdirp": {
"version": "0.5.1",
"bundled": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -2464,7 +2470,8 @@
},
"number-is-nan": {
"version": "1.0.1",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -2474,6 +2481,7 @@
"once": {
"version": "1.4.0",
"bundled": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -2549,7 +2557,8 @@
},
"safe-buffer": {
"version": "5.1.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -2579,6 +2588,7 @@
"string-width": {
"version": "1.0.2",
"bundled": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -2596,6 +2606,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -2634,11 +2645,13 @@
},
"wrappy": {
"version": "1.0.2",
- "bundled": true
+ "bundled": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
- "bundled": true
+ "bundled": true,
+ "optional": true
}
}
},
@@ -3047,11 +3060,6 @@
"proxyquire": "^1.4.0"
}
},
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
- },
"gulp": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz",
@@ -3916,7 +3924,8 @@
"longest": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+ "optional": true
},
"lowercase-keys": {
"version": "1.0.1",
@@ -4153,14 +4162,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
- "multimeter": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/multimeter/-/multimeter-0.1.1.tgz",
- "integrity": "sha1-+FbID8PPDx1K2Os2rWhzXj7Vs+o=",
- "requires": {
- "charm": "~0.1.1"
- }
- },
"mute-stdout": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz",
@@ -4314,16 +4315,16 @@
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
},
"nw": {
- "version": "0.42.2-sdk",
- "resolved": "https://registry.npmjs.org/nw/-/nw-0.42.2-sdk.tgz",
- "integrity": "sha512-9xVCsQgKM6ycZ+3gtLzloasSaASHL2BPXupqdPEiWKttewomvEalcNJXuJUhQDKrWEBm1FRLFmijlKt/2yUXXw==",
+ "version": "0.50.3-sdk",
+ "resolved": "https://registry.npmjs.org/nw/-/nw-0.50.3-sdk.tgz",
+ "integrity": "sha512-sYwPNdTx5svGcDBlkRBF2382ebtptFNt4Y9I6nSOl0MhU9PLt4M3bo7dqHnb2A4qvmI1XwMkCCgIhNLKloPXiQ==",
"requires": {
"chalk": "~1.1.3",
"decompress": "^4.2.0",
"download": "^5.0.3",
"file-exists": "^2.0.0",
"merge": "^1.2.0",
- "multimeter": "^0.1.1",
+ "progress": "^2.0.3",
"rimraf": "^2.2.8",
"semver": "^5.1.0",
"yargs": "^3.2.1"
@@ -4381,7 +4382,7 @@
"semver": "^5.5.0",
"simple-glob": "~0.2.0",
"tar-fs": "^1.13.0",
- "temp": "github:adam-lynch/node-temp#279c1350cb7e4f02515d91da9e35d39a40774016",
+ "temp": "temp@github:adam-lynch/node-temp#remove_tmpdir_dep",
"thenify": "^3.3.0",
"update-notifier": "^2.4.0",
"winresourcer": "^0.9.0"
@@ -4423,8 +4424,8 @@
}
},
"temp": {
- "version": "github:adam-lynch/node-temp#279c1350cb7e4f02515d91da9e35d39a40774016",
- "from": "github:adam-lynch/node-temp#remove_tmpdir_dep",
+ "version": "git+ssh://git@github.com/adam-lynch/node-temp.git#279c1350cb7e4f02515d91da9e35d39a40774016",
+ "from": "temp@github:adam-lynch/node-temp#remove_tmpdir_dep",
"dev": true,
"requires": {
"rimraf": "~2.2.6"
@@ -4923,8 +4924,7 @@
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
},
"proto-list": {
"version": "1.2.4",
@@ -5476,11 +5476,11 @@
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"seek-bzip": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
- "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
+ "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
"requires": {
- "commander": "~2.8.1"
+ "commander": "^2.8.1"
}
},
"semver": {
@@ -6312,9 +6312,9 @@
"integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
},
"unbzip2-stream": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz",
- "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+ "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
"requires": {
"buffer": "^5.2.1",
"through": "^2.3.8"
diff --git a/package.json b/package.json
index 66309781..a1151248 100755
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
"jquery-ui-npm": "1.12.0",
"marked": "^0.3.17",
"minimist": "^1.2.0",
- "nw": "^0.42.2-sdk",
+ "nw": "^0.50.3-sdk",
"nw-dialog": "^1.0.7",
"openlayers": "^4.6.5",
"temp": "^0.8.3",
diff --git a/resources/osd/bold.mcm b/resources/osd/bold.mcm
index 9a7d2128..5a2d160c 100644
--- a/resources/osd/bold.mcm
+++ b/resources/osd/bold.mcm
@@ -515,178 +515,181 @@ MAX7456
01010101
01010101
01010101
-01010000
-00000101
01010101
-01001010
-10100001
-01010101
-01001010
-10100001
01010101
01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
+01010001
01010101
+01001010
+00001000
01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010100
-10101010
-10100001
-01010100
+00101010
10101010
10100001
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
+10001000
+00101000
+00001000
+10001000
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010000
+01010001
+01010101
+01001010
+00001000
+01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010000
-00000101
-01010101
-01001010
-10100001
-01010101
-01001010
-10100001
-01010101
-01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010000
-00010101
-01010101
-01010010
-00000101
-01010101
-01010010
-10000001
-01010101
-01010010
-10100000
-01010101
-01010010
-10101000
-00010101
-01010010
+00101010
10101010
-00010101
-01010010
-10101000
-00010101
-01010010
-10100000
-01010101
-01010010
-10000001
-01010101
-01010010
-00000101
-01010101
-01010000
-00010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010100
-00000101
-01010101
-01010000
-10000101
-01010101
-01000010
-10000101
-01010101
+10100001
+01000000
+00000000
+00000001
00001010
10000101
-01010100
-00101010
+00010101
+00100010
+00100000
10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100000
+00100000
+10000101
+01000101
+01000101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010100
+01010101
+00100010
+00010010
+01010100
+10001000
+10001000
+01010100
+10001000
+10001010
+01010100
+10000000
+10001000
+01010101
+00010101
+00010001
+01010101
+00000000
+00000000
01010100
10101010
-10000101
-01010100
-00101010
-10000101
+10101010
01010101
-00001010
-10000101
+00000000
+00000000
01010101
-01000010
-10000101
01010101
-01010000
-10000101
+00010001
01010101
01010100
-00000101
+10001000
01010101
-01011010
-10100101
+01010010
+00100010
+01010101
+01010010
+00000010
+01010101
+01010010
+00010010
+01010101
+01010100
+01010100
01010101
01010101
01010101
@@ -701,20 +704,54 @@ MAX7456
01010101
01010101
01010101
+00010101
+01010101
+01010100
+10000101
+01010101
+00010100
+10000001
+01010101
+10000100
+10001000
+00010101
+00100000
+10100010
+00010101
+10100000
+10000010
+00010101
+00100000
+10000010
+00010101
+01000101
+00010100
+01010101
+00000000
+00000000
+01010101
+10101010
+10101010
+00010101
+00000000
+00000000
+01010101
+01010001
01010101
01010101
-01010101
-01000001
+01001000
01010101
01010101
-00101000
+00001000
01010101
01010101
-01000001
+00001000
01010101
01010101
+00001000
01010101
01010101
+01010001
01010101
01010101
01010101
@@ -725,43 +762,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -11008,120 +11008,120 @@ MAX7456
01010101
01010101
01010101
-01010001
-01010100
01010101
-01001000
-01010010
-01010101
-01001000
-01010010
-01010101
-01001000
-00000010
-01010101
-01001000
-10100010
-01010101
-01010010
-10101000
-01010101
-01010010
-00001000
-01010101
-01010100
-01010001
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010100
-00010000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10100000
-01010101
-01010010
-00001000
-01010101
-01010100
-00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100000
-01010101
-01010101
-00100010
-00010101
-01010101
-00101000
-10000101
-01010101
-00100000
-10000101
-01010101
-00100000
-10000101
01010101
01000101
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-00000100
-00010101
+01000100
01010101
+00100001
00100010
00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
10001000
-10000101
-01010101
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
10001000
-10000101
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
-10000000
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01010101
+00100001
+00100010
00010101
-00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
+10001000
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+01000010
+00100001
+00100001
+01001000
+10001000
+00100001
+01001000
+00001000
+00100001
+01001000
+00001000
+00100001
+01010001
+01010001
+01000101
01010101
01010101
01010101
@@ -15319,27 +15319,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00000001
+00000001
+01000000
+00100000
+00100001
+01001000
+00100010
+00100000
+00001000
+00100010
+00100010
+10001000
+00101000
+00001010
+10100000
+00100010
+00001000
+00100001
+00000000
+00000000
+00000001
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/bold/008.png b/resources/osd/bold/008.png
index 29dd76cd..e510d226 100644
Binary files a/resources/osd/bold/008.png and b/resources/osd/bold/008.png differ
diff --git a/resources/osd/bold/009.png b/resources/osd/bold/009.png
index 0f3a8246..af518bb8 100644
Binary files a/resources/osd/bold/009.png and b/resources/osd/bold/009.png differ
diff --git a/resources/osd/bold/010-011.png b/resources/osd/bold/010-011.png
new file mode 100644
index 00000000..24bd062c
Binary files /dev/null and b/resources/osd/bold/010-011.png differ
diff --git a/resources/osd/bold/010.png b/resources/osd/bold/010.png
deleted file mode 100644
index 8993bd22..00000000
Binary files a/resources/osd/bold/010.png and /dev/null differ
diff --git a/resources/osd/bold/172.png b/resources/osd/bold/172.png
new file mode 100644
index 00000000..5c9e2148
Binary files /dev/null and b/resources/osd/bold/172.png differ
diff --git a/resources/osd/bold/173.png b/resources/osd/bold/173.png
new file mode 100644
index 00000000..2f226bcc
Binary files /dev/null and b/resources/osd/bold/173.png differ
diff --git a/resources/osd/bold/239.png b/resources/osd/bold/239.png
new file mode 100644
index 00000000..ff900132
Binary files /dev/null and b/resources/osd/bold/239.png differ
diff --git a/resources/osd/clarity.mcm b/resources/osd/clarity.mcm
index ccc2632e..fcf0b678 100644
--- a/resources/osd/clarity.mcm
+++ b/resources/osd/clarity.mcm
@@ -515,178 +515,181 @@ MAX7456
01010101
01010101
01010101
-01010000
-00000101
01010101
-01001010
-10100001
-01010101
-01001010
-10100001
01010101
01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
+01010001
01010101
+01001010
+00001000
01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010100
-10101010
-10100001
-01010100
+00101010
10101010
10100001
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
+10001000
+00101000
+00001000
+10001000
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010000
+01010001
+01010101
+01001010
+00001000
+01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010000
-00000101
-01010101
-01001010
-10100001
-01010101
-01001010
-10100001
-01010101
-01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010000
-00010101
-01010101
-01010010
-00000101
-01010101
-01010010
-10000001
-01010101
-01010010
-10100000
-01010101
-01010010
-10101000
-00010101
-01010010
+00101010
10101010
-00010101
-01010010
-10101000
-00010101
-01010010
-10100000
-01010101
-01010010
-10000001
-01010101
-01010010
-00000101
-01010101
-01010000
-00010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010100
-00000101
-01010101
-01010000
-10000101
-01010101
-01000010
-10000101
-01010101
+10100001
+01000000
+00000000
+00000001
00001010
10000101
-01010100
-00101010
+00010101
+00100010
+00100000
10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100000
+00100000
+10000101
+01000101
+01000101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010100
+01010101
+00100010
+00010010
+01010100
+10001000
+10001000
+01010100
+10001000
+10001010
+01010100
+10000000
+10001000
+01010101
+00010101
+00010001
+01010101
+00000000
+00000000
01010100
10101010
-10000101
-01010100
-00101010
-10000101
+10101010
01010101
-00001010
-10000101
+00000000
+00000000
01010101
-01000010
-10000101
01010101
-01010000
-10000101
+00010001
01010101
01010100
-00000101
+10001000
01010101
-01011010
-10100101
+01010010
+00100010
+01010101
+01010010
+00000010
+01010101
+01010010
+00010010
+01010101
+01010100
+01010100
01010101
01010101
01010101
@@ -701,20 +704,54 @@ MAX7456
01010101
01010101
01010101
+00010101
+01010101
+01010100
+10000101
+01010101
+00010100
+10000001
+01010101
+10000100
+10001000
+00010101
+00100000
+10100010
+00010101
+10100000
+10000010
+00010101
+00100000
+10000010
+00010101
+01000101
+00010100
+01010101
+00000000
+00000000
+01010101
+10101010
+10101010
+00010101
+00000000
+00000000
+01010101
+01010001
01010101
01010101
-01010101
-01000001
+01001000
01010101
01010101
-00101000
+00001000
01010101
01010101
-01000001
+00001000
01010101
01010101
+00001000
01010101
01010101
+01010001
01010101
01010101
01010101
@@ -725,43 +762,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -11008,120 +11008,120 @@ MAX7456
01010101
01010101
01010101
-01010001
-01010100
01010101
-01001000
-01010010
-01010101
-01001000
-01010010
-01010101
-01001000
-00000010
-01010101
-01001000
-10100010
-01010101
-01010010
-10101000
-01010101
-01010010
-00001000
-01010101
-01010100
-01010001
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010100
-00010000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10100000
-01010101
-01010010
-00001000
-01010101
-01010100
-00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100000
-01010101
-01010101
-00100010
-00010101
-01010101
-00101000
-10000101
-01010101
-00100000
-10000101
-01010101
-00100000
-10000101
01010101
01000101
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-00000100
-00010101
+01000100
01010101
+00100001
00100010
00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
10001000
-10000101
-01010101
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
10001000
-10000101
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
-10000000
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01010101
+00100001
+00100010
00010101
-00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
+10001000
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+01000010
+00100001
+00100001
+01001000
+10001000
+00100001
+01001000
+00001000
+00100001
+01001000
+00001000
+00100001
+01010001
+01010001
+01000101
01010101
01010101
01010101
@@ -15319,27 +15319,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00000001
+00000001
+01000000
+00100000
+00100001
+01001000
+00100010
+00100000
+00001000
+00100010
+00100010
+10001000
+00101000
+00001010
+10100000
+00100010
+00001000
+00100001
+00000000
+00000000
+00000001
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/clarity/008.png b/resources/osd/clarity/008.png
index 29dd76cd..e510d226 100644
Binary files a/resources/osd/clarity/008.png and b/resources/osd/clarity/008.png differ
diff --git a/resources/osd/clarity/009.png b/resources/osd/clarity/009.png
index 0f3a8246..af518bb8 100644
Binary files a/resources/osd/clarity/009.png and b/resources/osd/clarity/009.png differ
diff --git a/resources/osd/clarity/010-011.png b/resources/osd/clarity/010-011.png
new file mode 100644
index 00000000..24bd062c
Binary files /dev/null and b/resources/osd/clarity/010-011.png differ
diff --git a/resources/osd/clarity/010.png b/resources/osd/clarity/010.png
deleted file mode 100644
index 8993bd22..00000000
Binary files a/resources/osd/clarity/010.png and /dev/null differ
diff --git a/resources/osd/clarity/172.png b/resources/osd/clarity/172.png
new file mode 100644
index 00000000..5c9e2148
Binary files /dev/null and b/resources/osd/clarity/172.png differ
diff --git a/resources/osd/clarity/173.png b/resources/osd/clarity/173.png
new file mode 100644
index 00000000..2f226bcc
Binary files /dev/null and b/resources/osd/clarity/173.png differ
diff --git a/resources/osd/clarity/239.png b/resources/osd/clarity/239.png
new file mode 100644
index 00000000..ff900132
Binary files /dev/null and b/resources/osd/clarity/239.png differ
diff --git a/resources/osd/clarity_medium.mcm b/resources/osd/clarity_medium.mcm
index 09539127..99e792a6 100644
--- a/resources/osd/clarity_medium.mcm
+++ b/resources/osd/clarity_medium.mcm
@@ -515,178 +515,181 @@ MAX7456
01010101
01010101
01010101
-01010000
-00000101
01010101
-01001010
-10100001
-01010101
-01001010
-10100001
01010101
01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
+01010001
01010101
+01001010
+00001000
01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010100
-10101010
-10100001
-01010100
+00101010
10101010
10100001
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
+10001000
+00101000
+00001000
+10001000
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010000
+01010001
+01010101
+01001010
+00001000
+01010101
+00100000
+10001000
+00010101
+00101010
+10001010
+10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
00000000
00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010000
-00000101
-01010101
-01001010
-10100001
-01010101
-01001010
-10100001
-01010101
-01010000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010000
-00010101
-01010101
-01010010
-00000101
-01010101
-01010010
-10000001
-01010101
-01010010
-10100000
-01010101
-01010010
-10101000
-00010101
-01010010
+00101010
10101010
-00010101
-01010010
-10101000
-00010101
-01010010
-10100000
-01010101
-01010010
-10000001
-01010101
-01010010
-00000101
-01010101
-01010000
-00010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010100
-00000101
-01010101
-01010000
-10000101
-01010101
-01000010
-10000101
-01010101
+10100001
+01000000
+00000000
+00000001
00001010
10000101
-01010100
-00101010
+00010101
+00100010
+00100000
10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100000
+00100000
+10000101
+01000101
+01000101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010100
+01010101
+00100010
+00010010
+01010100
+10001000
+10001000
+01010100
+10001000
+10001010
+01010100
+10000000
+10001000
+01010101
+00010101
+00010001
+01010101
+00000000
+00000000
01010100
10101010
-10000101
-01010100
-00101010
-10000101
+10101010
01010101
-00001010
-10000101
+00000000
+00000000
01010101
-01000010
-10000101
01010101
-01010000
-10000101
+00010001
01010101
01010100
-00000101
+10001000
01010101
-01011010
-10100101
+01010010
+00100010
+01010101
+01010010
+00000010
+01010101
+01010010
+00010010
+01010101
+01010100
+01010100
01010101
01010101
01010101
@@ -701,20 +704,54 @@ MAX7456
01010101
01010101
01010101
+00010101
+01010101
+01010100
+10000101
+01010101
+00010100
+10000001
+01010101
+10000100
+10001000
+00010101
+00100000
+10100010
+00010101
+10100000
+10000010
+00010101
+00100000
+10000010
+00010101
+01000101
+00010100
+01010101
+00000000
+00000000
+01010101
+10101010
+10101010
+00010101
+00000000
+00000000
+01010101
+01010001
01010101
01010101
-01010101
-01000001
+01001000
01010101
01010101
-00101000
+00001000
01010101
01010101
-01000001
+00001000
01010101
01010101
+00001000
01010101
01010101
+01010001
01010101
01010101
01010101
@@ -725,43 +762,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -11008,120 +11008,120 @@ MAX7456
01010101
01010101
01010101
-01010001
-01010100
01010101
-01001000
-01010010
-01010101
-01001000
-01010010
-01010101
-01001000
-00000010
-01010101
-01001000
-10100010
-01010101
-01010010
-10101000
-01010101
-01010010
-00001000
-01010101
-01010100
-01010001
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010100
-00010000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10100000
-01010101
-01010010
-00001000
-01010101
-01010100
-00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100000
-01010101
-01010101
-00100010
-00010101
-01010101
-00101000
-10000101
-01010101
-00100000
-10000101
-01010101
-00100000
-10000101
01010101
01000101
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-00000100
-00010101
+01000100
01010101
+00100001
00100010
00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
10001000
-10000101
-01010101
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
10001000
-10000101
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
-10000000
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01010101
+00100001
+00100010
00010101
-00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
+10001000
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+01000010
+00100001
+00100001
+01001000
+10001000
+00100001
+01001000
+00001000
+00100001
+01001000
+00001000
+00100001
+01010001
+01010001
+01000101
01010101
01010101
01010101
@@ -15319,27 +15319,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00000001
+00000001
+01000000
+00100000
+00100001
+01001000
+00100010
+00100000
+00001000
+00100010
+00100010
+10001000
+00101000
+00001010
+10100000
+00100010
+00001000
+00100001
+00000000
+00000000
+00000001
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/clarity_medium/008.png b/resources/osd/clarity_medium/008.png
index 29dd76cd..e510d226 100644
Binary files a/resources/osd/clarity_medium/008.png and b/resources/osd/clarity_medium/008.png differ
diff --git a/resources/osd/clarity_medium/009.png b/resources/osd/clarity_medium/009.png
index 0f3a8246..af518bb8 100644
Binary files a/resources/osd/clarity_medium/009.png and b/resources/osd/clarity_medium/009.png differ
diff --git a/resources/osd/clarity_medium/010-011.png b/resources/osd/clarity_medium/010-011.png
new file mode 100644
index 00000000..24bd062c
Binary files /dev/null and b/resources/osd/clarity_medium/010-011.png differ
diff --git a/resources/osd/clarity_medium/010.png b/resources/osd/clarity_medium/010.png
deleted file mode 100644
index 8993bd22..00000000
Binary files a/resources/osd/clarity_medium/010.png and /dev/null differ
diff --git a/resources/osd/clarity_medium/172.png b/resources/osd/clarity_medium/172.png
new file mode 100644
index 00000000..5c9e2148
Binary files /dev/null and b/resources/osd/clarity_medium/172.png differ
diff --git a/resources/osd/clarity_medium/173.png b/resources/osd/clarity_medium/173.png
new file mode 100644
index 00000000..2f226bcc
Binary files /dev/null and b/resources/osd/clarity_medium/173.png differ
diff --git a/resources/osd/clarity_medium/239.png b/resources/osd/clarity_medium/239.png
new file mode 100644
index 00000000..ff900132
Binary files /dev/null and b/resources/osd/clarity_medium/239.png differ
diff --git a/resources/osd/default.mcm b/resources/osd/default.mcm
index 15e38341..29d0f961 100644
--- a/resources/osd/default.mcm
+++ b/resources/osd/default.mcm
@@ -517,186 +517,241 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-00000000
-00000101
-01010101
-10101010
-10100101
-01010101
-00000000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
01010000
-01010101
-01010101
-01010010
-00010101
-01010101
-01010010
-10000101
-01010101
-01010010
-10100001
-01010101
-01010010
-10101000
-01010101
-01010010
-10101010
-00010101
-01010010
-10101000
-01010101
-01010010
-10100001
-01010101
-01010010
-10000101
-01010101
-01010010
-00010101
-01010101
-01010000
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-00000101
-01010101
-01010100
-10000101
-01010101
-01010010
-10000101
+01010001
01010101
01001010
-10000101
+00001000
01010101
+00100000
+10001000
+00010101
00101010
+10001010
10000101
-01010100
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
+00000000
+00000101
+00101010
10101010
-10000101
-01010101
+10100001
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
+10001000
+00101000
+00001000
+10001000
00101010
-10000101
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010000
+01010001
01010101
01001010
+00001000
+01010101
+00100000
+10001000
+00010101
+00101010
+10001010
10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000001
+00001010
+10000101
+00010101
+00100010
+00100000
+10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100000
+00100000
+10000101
+01000101
+01000101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010100
+01010101
+00100010
+00010010
+01010100
+10001000
+10001000
+01010100
+10001000
+10001010
+01010100
+10000000
+10001000
+01010101
+00010101
+00010001
+01010101
+00000000
+00000000
+01010100
+10101010
+10101010
+01010101
+00000000
+00000000
+01010101
+01010101
+00010001
+01010101
+01010100
+10001000
01010101
01010010
-10000101
+00100010
+01010101
+01010010
+00000010
+01010101
+01010010
+00010010
+01010101
+01010100
+01010100
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010101
01010101
01010100
10000101
01010101
+00010100
+10000001
01010101
-00000101
+10000100
+10001000
+00010101
+00100000
+10100010
+00010101
+10100000
+10000010
+00010101
+00100000
+10000010
+00010101
+01000101
+00010100
01010101
-01011010
-10100101
+00000000
+00000000
+01010101
+10101010
+10101010
+00010101
+00000000
+00000000
+01010101
+01010001
01010101
01010101
+01001000
01010101
01010101
+00001000
01010101
01010101
+00001000
01010101
01010101
+00001000
01010101
01010101
+01010001
01010101
01010101
01010101
@@ -704,61 +759,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -11008,120 +11008,120 @@ MAX7456
01010101
01010101
01010101
-01010001
-01010100
01010101
-01001000
-01010010
-01010101
-01001000
-01010010
-01010101
-01001000
-00000010
-01010101
-01001000
-10100010
-01010101
-01010010
-10101000
-01010101
-01010010
-00001000
-01010101
-01010100
-01010001
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010100
-00010000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10100000
-01010101
-01010010
-00001000
-01010101
-01010100
-00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100000
-01010101
-01010101
-00100010
-00010101
-01010101
-00101000
-10000101
-01010101
-00100000
-10000101
-01010101
-00100000
-10000101
01010101
01000101
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-00000100
-00010101
+01000100
01010101
+00100001
00100010
00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
10001000
-10000101
-01010101
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
10001000
-10000101
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
-10000000
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01010101
+00100001
+00100010
00010101
-00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
+10001000
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+01000010
+00100001
+00100001
+01001000
+10001000
+00100001
+01001000
+00001000
+00100001
+01001000
+00001000
+00100001
+01010001
+01010001
+01000101
01010101
01010101
01010101
@@ -15319,27 +15319,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00000001
+00000001
+01000000
+00100000
+00100001
+01001000
+00100010
+00100000
+00001000
+00100010
+00100010
+10001000
+00101000
+00001010
+10100000
+00100010
+00001000
+00100001
+00000000
+00000000
+00000001
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/default/008.png b/resources/osd/default/008.png
index b25a0413..e510d226 100644
Binary files a/resources/osd/default/008.png and b/resources/osd/default/008.png differ
diff --git a/resources/osd/default/009.png b/resources/osd/default/009.png
index 20b43ff1..af518bb8 100644
Binary files a/resources/osd/default/009.png and b/resources/osd/default/009.png differ
diff --git a/resources/osd/default/010-011.png b/resources/osd/default/010-011.png
new file mode 100644
index 00000000..24bd062c
Binary files /dev/null and b/resources/osd/default/010-011.png differ
diff --git a/resources/osd/default/010.png b/resources/osd/default/010.png
deleted file mode 100644
index ff2d03cb..00000000
Binary files a/resources/osd/default/010.png and /dev/null differ
diff --git a/resources/osd/default/011.png b/resources/osd/default/011.png
deleted file mode 100644
index 053198cb..00000000
Binary files a/resources/osd/default/011.png and /dev/null differ
diff --git a/resources/osd/default/172-173.png b/resources/osd/default/172-173.png
deleted file mode 100644
index e6ca6746..00000000
Binary files a/resources/osd/default/172-173.png and /dev/null differ
diff --git a/resources/osd/default/172.png b/resources/osd/default/172.png
new file mode 100644
index 00000000..5c9e2148
Binary files /dev/null and b/resources/osd/default/172.png differ
diff --git a/resources/osd/default/173.png b/resources/osd/default/173.png
new file mode 100644
index 00000000..2f226bcc
Binary files /dev/null and b/resources/osd/default/173.png differ
diff --git a/resources/osd/default/239.png b/resources/osd/default/239.png
new file mode 100644
index 00000000..ff900132
Binary files /dev/null and b/resources/osd/default/239.png differ
diff --git a/resources/osd/font_version.yaml b/resources/osd/font_version.yaml
index 1134c551..8c16ab61 100644
--- a/resources/osd/font_version.yaml
+++ b/resources/osd/font_version.yaml
@@ -3,5 +3,5 @@
255: &fontmeta
data:
- s: "INAV"
- - u8: 1
+ - u8: 2
256: *fontmeta
diff --git a/resources/osd/impact.mcm b/resources/osd/impact.mcm
index 3ea1c500..7eccac87 100644
--- a/resources/osd/impact.mcm
+++ b/resources/osd/impact.mcm
@@ -514,15 +514,51 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01001000
+10001000
+10000101
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000101
+00100010
+00101000
+10100001
+00101000
+00101010
+10100001
+00100010
+00100010
+00100001
+00100010
+00100010
+00100001
+00100010
+00100000
+00100001
+01000100
+01000101
+01000101
01010101
01010101
01010101
@@ -536,157 +572,183 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01001000
+10001000
+10000101
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000101
+00101000
+10100010
+10100001
+00101010
+10100000
+10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100001
+00100010
+10100001
+01000101
+01000100
+00000101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01010000
+00000001
+00100000
+01001010
+10101000
+10001000
+01001000
+10001000
+10101000
+01001000
+10001000
+10001000
+01001000
+00001000
+10001000
+01000000
+00000000
+00000000
+00101010
+10101010
+10101010
+01000000
+00000000
+00000000
+01010100
+10100010
+10001010
+01010100
+10101010
+10000010
+01010100
+10001000
+10000010
+01010100
+10001000
+10000010
+01010100
+10000000
+10001010
+01010101
+00010101
+00010000
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010001
+01010101
+01010101
+10001000
+01010101
+01010101
+10001000
+01010101
+01010101
+10101000
+01010101
+01010101
+10001000
+01010101
+01010101
+10001000
+01010101
+01010101
00000000
-00000101
+01010101
01010101
10101010
-10100101
+00010101
01010101
00000000
-00000101
01010101
01010101
+10000101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010000
-01010101
-01010101
-01010010
00010101
01010101
-01010010
-10000101
01010101
-01010010
-10100001
-01010101
-01010010
-10101000
-01010101
-01010010
-10101010
-00010101
-01010010
-10101000
-01010101
-01010010
-10100001
-01010101
-01010010
-10000101
-01010101
-01010010
00010101
01010101
-01010000
+01010101
+00010101
01010101
01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-00000101
-01010101
-01010100
-10000101
-01010101
-01010010
-10000101
-01010101
-01001010
-10000101
-01010101
-00101010
-10000101
-01010100
-10101010
-10000101
-01010101
-00101010
-10000101
-01010101
-01001010
-10000101
-01010101
-01010010
-10000101
-01010101
-01010100
10000101
01010101
01010101
-00000101
-01010101
-01011010
-10100101
+00010101
01010101
01010101
01010101
@@ -704,68 +766,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -2184,47 +2184,47 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010101
+01010101
+01010100
+10000101
01010100
00000000
-01010101
+10100001
01010010
10101010
-00010101
-01001000
+10101000
+01010100
00000000
-10000101
-00100001
-01010101
-00100001
-00100001
-01010101
-00100001
-00100001
-01010101
-00100001
-00100001
-01010101
-00100001
-00100001
-01000101
-00100001
-00100001
-00100001
-00100001
-00100000
-10100000
10100001
-01000010
+01010100
+01010100
+10000101
+01010010
+00010101
+00010101
+01001010
+00000000
+00010101
+00101010
10101010
10000101
-01010100
-10100000
+01001010
+00000000
+00010101
+01010010
00010101
01010101
-00100001
+01010100
+01010101
+01010101
01010101
01010101
-01000101
01010101
01010101
01010101
@@ -3421,10 +3421,10 @@ MAX7456
01010010
10101010
10000101
-01010100
+01010010
10101010
10100001
-01010101
+01010100
00000000
10100001
01010100
@@ -4037,9 +4037,12 @@ MAX7456
01010101
01010101
01010101
-01000000
+01000001
00000101
01010101
+00101000
+10100001
+01010101
00101010
10100001
01010101
@@ -4049,13 +4052,10 @@ MAX7456
00100010
00100001
01010101
-00100010
-00100001
-01010101
-00100010
+00100000
00100000
00000101
-01000100
+01000101
01000010
10100001
01010101
@@ -4248,7 +4248,7 @@ MAX7456
10000000
10100001
01010010
-10000100
+10000000
10100001
01010010
10101010
@@ -4257,7 +4257,7 @@ MAX7456
10101010
10100001
01010010
-10000100
+10000000
10100001
01010010
10000000
@@ -4808,14 +4808,14 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
01010100
00010101
01010101
01010010
10000101
-01010101
-01010010
-10000101
00000101
01010010
10000100
@@ -4939,41 +4939,41 @@ MAX7456
01010101
01010101
01010101
-01010100
-00010101
+01010000
+01010101
00000101
-01010010
-10000100
+01001010
+00010100
10100001
-01010010
-10100010
+01001010
+10000010
10100001
-01010010
+01001010
10101010
10100001
-01010010
+01001010
10101010
10100001
-01010010
+01001010
10101010
10100001
-01010010
-10001000
+01001010
+00101000
10100001
-01010010
-10000000
+01001010
+00101000
10100001
-01010010
-10000100
+01001010
+00000000
10100001
-01010010
-10000100
+01001010
+00010100
10100001
-01010010
-10000100
+01001010
+00010100
10100001
-01010100
-00010101
+01010000
+01010101
00000101
01010101
01010101
@@ -5272,7 +5272,7 @@ MAX7456
10000000
10100001
01010010
-10000100
+10000000
10100001
01010010
10101010
@@ -5579,41 +5579,41 @@ MAX7456
01010101
01010101
01010101
-01010100
-00010101
+01010000
+01010101
00000101
-01010010
-10000100
+01001010
+00010100
10100001
-01010010
-10000100
+01001010
+00010100
10100001
-01010010
-10000100
+01001010
+00010100
10100001
-01010010
-10000000
+01001010
+00000000
10100001
-01010010
-10001000
+01001010
+00101000
10100001
-01010010
+01001010
10101010
10100001
-01010010
+01001010
10101010
10100001
-01010010
+01001010
10101010
10100001
-01010010
-10100010
+01001010
+10000010
10100001
-01010010
-10000100
+01001010
+00010100
10100001
-01010100
-00010101
+01010000
+01010101
00000101
01010101
01010101
@@ -8786,17 +8786,17 @@ MAX7456
00100010
00100001
00100010
-00100000
+00100010
00100001
01000000
00000000
00000101
-01001010
+00101010
10101010
-10000101
-01010000
+10100001
+01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -8837,14 +8837,14 @@ MAX7456
01010101
01010101
01010101
-01000001
+01000000
00000100
00000101
-00101000
+00101010
10100010
10100001
-00101010
-10100000
+00100010
+00100000
10000101
00100010
00100000
@@ -8860,10 +8860,10 @@ MAX7456
00000101
00101010
10101010
-10000101
+10100001
01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -9219,22 +9219,19 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00000000
01010101
01010100
10101010
00010101
01010010
-10000010
-10000101
-01010010
-10000010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
+00000000
10000101
01010010
10101010
@@ -9283,61 +9280,6 @@ MAX7456
01010101
01010101
01010101
-00000000
-01010101
-01010100
-10101010
-00010101
-01010010
-10000010
-10000101
-01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010010
-10101010
-10000101
-01010100
-00000000
-00010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -9353,15 +9295,6 @@ MAX7456
10101010
00010101
01010010
-10000010
-10000101
-01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
00000000
10000101
01010010
@@ -9411,21 +9344,21 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00000000
01010101
01010100
10101010
00010101
01010010
-10000010
-10000101
-01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
00000000
10000101
01010010
@@ -9475,15 +9408,21 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00000000
01010101
01010100
10101010
00010101
01010010
-10000010
-10000101
-01010010
00000000
10000101
01010010
@@ -9499,13 +9438,7 @@ MAX7456
00000000
10000101
01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
-00000000
+10101010
10000101
01010010
10101010
@@ -9539,15 +9472,21 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00000000
01010101
01010100
10101010
00010101
01010010
-10000010
-10000101
-01010010
00000000
10000101
01010010
@@ -9569,13 +9508,7 @@ MAX7456
00000000
10000101
01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
-00000000
+10101010
10000101
01010010
10101010
@@ -9603,15 +9536,21 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00000000
01010101
01010100
10101010
00010101
01010010
-10000010
-10000101
-01010010
00000000
10000101
01010010
@@ -9639,16 +9578,10 @@ MAX7456
00000000
10000101
01010010
-00000000
+10101010
10000101
01010010
-00000000
-10000101
-01010010
-00000000
-10000101
-01010010
-01010101
+10101010
10000101
01010100
00000000
@@ -9676,6 +9609,73 @@ MAX7456
01010101
01010101
01010101
+00000000
+01010101
+01010100
+10101010
+00010101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+00000000
+10000101
+01010010
+10101010
+10000101
+01010100
+00000000
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010101
01010101
01010000
@@ -9730,57 +9730,57 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+00010101
+01010101
01010100
-01010101
-01010101
-01010010
-00010101
-01010101
-01001010
10000101
01010101
-00101010
-10100001
-01010101
-01000010
-00000101
-01010101
-01010010
-00010101
-00010101
-01010010
-00010100
+01010100
10000101
+01101010
+10100010
+00010101
+10000000
+00000010
+00010101
+10010101
+01001000
+00100101
+00100101
+00101000
+01001001
+01001001
+00100001
01010010
-00000000
-10100001
01010010
+10000101
+01010110
+01010100
10101010
10101000
01010010
00000000
-10100001
+00000001
01010010
-00010100
-10000101
-01010010
-10000101
-00010101
-01010100
-10100000
00010101
01010101
-00100010
-00010101
+01001000
+01010101
+01010101
+01001000
+01010101
+01010101
+01010001
+01010101
+01010101
+01010101
+01010101
+01010101
01010101
-01001010
-00010101
01010101
-00101010
-00010101
01010101
-00000000
-00010101
01010101
01010101
01010101
@@ -10052,112 +10052,112 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
+01000101
+01010000
+00000001
+00100000
+01001010
+10101000
+10001000
+01001000
+10001000
+10101000
+01001000
+10001000
+10001000
+01001000
+00001000
+10001000
01000000
-00000100
-01010101
+00000000
+00000000
00101010
-10100010
-01010101
-00100010
-00100010
-01010101
-00100010
-00100010
-01010101
-00100010
-00100010
-01010101
+10101010
+10101010
+01000000
00000000
00000000
01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10000100
-01010101
-01010010
-00100000
-01010101
-01010010
-00001000
-01010101
+10000010
+00101000
01010100
-01010001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+10001000
+00101010
+01010100
+10100001
+00100010
+01010100
+10001000
+00100010
+01010100
+10000010
+00100000
01010101
00010100
01000101
01010101
-10000010
-00100001
01010101
-00100010
-00100001
01010101
-10100010
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010001
+01010101
+01010101
+10001000
+01010101
+01010101
+10001000
+01010101
+01010101
+10101000
+01010101
+01010101
+10001000
+01010101
+01010101
+10001000
+01010101
+01010101
+00000000
+01010101
+01010101
+10101010
+00010101
+01010101
+00000000
+01010101
+01010101
10100001
01010101
-00100010
+01010101
+10100001
+01010101
+01010101
00100001
01010101
-00100010
+01010101
00100001
01010101
-00000000
-00000000
01010101
-10101010
-10101010
-00010101
-00000000
-00000000
+00100001
01010101
-10100010
-10000101
01010101
-10101010
-10000101
+01000101
01010101
-10001000
-10000101
-01010101
-10001000
-10000101
-01010101
-10000000
-10000101
-01010101
-00010101
-00010101
01010101
01010101
01010101
@@ -10310,29 +10310,29 @@ MAX7456
01010101
01010101
00100000
-01000001
+01000000
00000101
00100010
-00101000
-10100001
-00101000
00101010
10100001
+00101000
+00100010
+00100001
00100010
00100010
00100001
00100010
-00100000
+00100010
00100001
01000000
00000000
00000101
-01001010
+00101010
10101010
-10000101
-01010000
+10100001
+01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -11010,268 +11010,97 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010100
-01010100
-01010101
-01010010
-00000010
-01010101
-01010010
-00100010
-01010101
-01010010
-10101010
-01010101
-01010100
-10001000
-01010101
-01010100
-10001000
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010010
-00000010
-01010101
-01010010
-00100010
-01010101
-01010010
-10000010
-01010101
-01010010
-00100010
-01010101
-01010010
-00100010
-01010101
-01010100
+01000101
01000100
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000100
-01010101
-01010101
+01000101
+00100000
00100010
-00010101
-01010101
+00100001
00100010
-00010101
-01010101
+00100010
+00100001
00101010
-00010101
-01010101
-00100010
-00010101
-01010101
-00100010
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-10001010
-00010101
-01010101
-10101010
-00010101
-01010101
-00100010
-00010101
-01010101
-00100010
-00010101
-01010101
-00000010
-00010101
-01010101
-01010100
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010001
-01010101
-00010101
+10100010
+10100001
01001000
-01010100
-10000101
+10000010
+00100001
01001000
+10000010
+00100001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+00101000
+10100001
+00100010
+00101010
+10100001
+00101000
+00100010
+00100001
+00100010
+00100000
+00100001
+00100010
+00100001
+00100001
01000100
-10000101
-01001000
+01000101
+01000101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01000101
00100000
-10000101
-01001010
00100010
-10000101
-01010010
-10101010
-00010101
-01010010
-10101010
-00010101
-01010010
-10001010
-00010101
-01010100
-00010000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010100
+00100001
+00100010
+00100010
+00100001
+00101010
+10100010
+10100001
+01001000
+10000010
+00100001
+01001000
+10000010
+00100001
+01000000
00000000
-01010101
-01010010
+00000001
+00101010
10101010
-00010101
-01010100
-00100000
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010100
-00100000
-01010101
-01010010
-10101010
-00010101
-01010100
+10101000
+01000000
00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-00000100
-00000101
+00000001
00101000
10100010
10100001
@@ -11281,6 +11110,177 @@ MAX7456
00100010
00100000
10000101
+00100000
+00100000
+10000101
+00100001
+00100010
+10100001
+01000101
+01000100
+00000101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010100
+01010101
+01000101
+01010010
+00010101
+00100001
+01010010
+00010001
+00100001
+01010010
+00001000
+00100001
+01010010
+10001000
+10100001
+01010100
+10101010
+10000101
+01010100
+10100010
+10000101
+01010100
+10000100
+10000101
+01010101
+00010101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010100
+00000000
+01010101
+01010010
+10101010
+00010101
+01010100
+00100000
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010101
+00100001
+01010101
+01010100
+00100000
+01010101
+01010010
+10101010
+00010101
+01010100
+00000000
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+00000100
+00000101
+00101010
+10100010
+10100001
+00100010
+00100000
+10000101
+00100010
+00100000
+10000101
00100010
00100000
10000101
@@ -11292,10 +11292,10 @@ MAX7456
00000101
00101010
10101010
-10000101
+10100001
01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -11997,9 +11997,6 @@ MAX7456
01001010
10101000
10101000
-01001010
-10101000
-00100001
01001000
10001000
00100001
@@ -12011,6 +12008,9 @@ MAX7456
00100001
01001000
01001000
+00100001
+01001000
+01001000
10101000
01010001
01010001
@@ -12637,10 +12637,10 @@ MAX7456
01010010
10101010
10000101
-01010100
+01010010
10101010
10100001
-01010101
+01010100
00000000
10100001
01010100
@@ -13661,10 +13661,10 @@ MAX7456
01010010
10101010
10000101
-01010100
+01010010
10101010
10100001
-01010101
+01010100
00000000
10100001
00010100
@@ -15316,33 +15316,33 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01000101
+01010001
+01010001
+00100001
+00001000
+01001000
+00100000
+10001000
+00001000
+00100010
+00001000
+10001000
+00101000
+01001010
+10101000
+00100010
+00010010
+10100001
+00100000
+10000010
+00100001
+00100000
+10000010
+00100001
+01000101
+00010100
+01000101
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/impact/008.png b/resources/osd/impact/008.png
new file mode 100644
index 00000000..8024b3c3
Binary files /dev/null and b/resources/osd/impact/008.png differ
diff --git a/resources/osd/impact/009.png b/resources/osd/impact/009.png
new file mode 100644
index 00000000..a5ab71f7
Binary files /dev/null and b/resources/osd/impact/009.png differ
diff --git a/resources/osd/impact/010-011.png b/resources/osd/impact/010-011.png
new file mode 100644
index 00000000..e42889bd
Binary files /dev/null and b/resources/osd/impact/010-011.png differ
diff --git a/resources/osd/impact/034.png b/resources/osd/impact/034.png
index eda27090..b579b467 100644
Binary files a/resources/osd/impact/034.png and b/resources/osd/impact/034.png differ
diff --git a/resources/osd/impact/053.png b/resources/osd/impact/053.png
index 8a4f3333..aa82b7c8 100644
Binary files a/resources/osd/impact/053.png and b/resources/osd/impact/053.png differ
diff --git a/resources/osd/impact/063.png b/resources/osd/impact/063.png
index f5969427..76dd41a3 100644
Binary files a/resources/osd/impact/063.png and b/resources/osd/impact/063.png differ
diff --git a/resources/osd/impact/066.png b/resources/osd/impact/066.png
index 20eb20fd..bab000f4 100644
Binary files a/resources/osd/impact/066.png and b/resources/osd/impact/066.png differ
diff --git a/resources/osd/impact/075.png b/resources/osd/impact/075.png
index 2a3cb669..c016caaa 100644
Binary files a/resources/osd/impact/075.png and b/resources/osd/impact/075.png differ
diff --git a/resources/osd/impact/077.png b/resources/osd/impact/077.png
index 6ae349cb..1e01fc93 100644
Binary files a/resources/osd/impact/077.png and b/resources/osd/impact/077.png differ
diff --git a/resources/osd/impact/082.png b/resources/osd/impact/082.png
index 00099146..dd14145d 100644
Binary files a/resources/osd/impact/082.png and b/resources/osd/impact/082.png differ
diff --git a/resources/osd/impact/087.png b/resources/osd/impact/087.png
index 7ce94087..d51856ea 100644
Binary files a/resources/osd/impact/087.png and b/resources/osd/impact/087.png differ
diff --git a/resources/osd/impact/137.png b/resources/osd/impact/137.png
index 370d5cfb..cd0b6885 100644
Binary files a/resources/osd/impact/137.png and b/resources/osd/impact/137.png differ
diff --git a/resources/osd/impact/138.png b/resources/osd/impact/138.png
index d8437e65..9befc2b1 100644
Binary files a/resources/osd/impact/138.png and b/resources/osd/impact/138.png differ
diff --git a/resources/osd/impact/144.png b/resources/osd/impact/144.png
index 6f26d016..e3914339 100644
Binary files a/resources/osd/impact/144.png and b/resources/osd/impact/144.png differ
diff --git a/resources/osd/impact/145.png b/resources/osd/impact/145.png
index 731d97e3..eeb03ac2 100644
Binary files a/resources/osd/impact/145.png and b/resources/osd/impact/145.png differ
diff --git a/resources/osd/impact/146.png b/resources/osd/impact/146.png
index cac4d586..208de751 100644
Binary files a/resources/osd/impact/146.png and b/resources/osd/impact/146.png differ
diff --git a/resources/osd/impact/147.png b/resources/osd/impact/147.png
index 048f59f4..73aa250b 100644
Binary files a/resources/osd/impact/147.png and b/resources/osd/impact/147.png differ
diff --git a/resources/osd/impact/148.png b/resources/osd/impact/148.png
index b65b989f..feb24b8d 100644
Binary files a/resources/osd/impact/148.png and b/resources/osd/impact/148.png differ
diff --git a/resources/osd/impact/149.png b/resources/osd/impact/149.png
index c4044cef..a073246d 100644
Binary files a/resources/osd/impact/149.png and b/resources/osd/impact/149.png differ
diff --git a/resources/osd/impact/150.png b/resources/osd/impact/150.png
index f76c36a8..07ea2b13 100644
Binary files a/resources/osd/impact/150.png and b/resources/osd/impact/150.png differ
diff --git a/resources/osd/impact/152.png b/resources/osd/impact/152.png
index e484d7da..c91f0861 100644
Binary files a/resources/osd/impact/152.png and b/resources/osd/impact/152.png differ
diff --git a/resources/osd/impact/157-158.png b/resources/osd/impact/157-158.png
index 2759e620..25786a1a 100644
Binary files a/resources/osd/impact/157-158.png and b/resources/osd/impact/157-158.png differ
diff --git a/resources/osd/impact/161.png b/resources/osd/impact/161.png
index bbd39b67..d4d02a38 100644
Binary files a/resources/osd/impact/161.png and b/resources/osd/impact/161.png differ
diff --git a/resources/osd/impact/172-173.png b/resources/osd/impact/172-173.png
deleted file mode 100644
index afd71cf0..00000000
Binary files a/resources/osd/impact/172-173.png and /dev/null differ
diff --git a/resources/osd/impact/172.png b/resources/osd/impact/172.png
new file mode 100644
index 00000000..7d33ad88
Binary files /dev/null and b/resources/osd/impact/172.png differ
diff --git a/resources/osd/impact/173.png b/resources/osd/impact/173.png
new file mode 100644
index 00000000..76a4256c
Binary files /dev/null and b/resources/osd/impact/173.png differ
diff --git a/resources/osd/impact/174.png b/resources/osd/impact/174.png
index 452006de..66511d7c 100644
Binary files a/resources/osd/impact/174.png and b/resources/osd/impact/174.png differ
diff --git a/resources/osd/impact/176.png b/resources/osd/impact/176.png
index f6dc6a6a..06c08d17 100644
Binary files a/resources/osd/impact/176.png and b/resources/osd/impact/176.png differ
diff --git a/resources/osd/impact/187.png b/resources/osd/impact/187.png
index 750ea40c..2b1701ee 100644
Binary files a/resources/osd/impact/187.png and b/resources/osd/impact/187.png differ
diff --git a/resources/osd/impact/197.png b/resources/osd/impact/197.png
index 7c2cf785..8bae0f7a 100644
Binary files a/resources/osd/impact/197.png and b/resources/osd/impact/197.png differ
diff --git a/resources/osd/impact/213.png b/resources/osd/impact/213.png
index eb90e1fe..ce8e055e 100644
Binary files a/resources/osd/impact/213.png and b/resources/osd/impact/213.png differ
diff --git a/resources/osd/impact/239.png b/resources/osd/impact/239.png
new file mode 100644
index 00000000..a357aa0a
Binary files /dev/null and b/resources/osd/impact/239.png differ
diff --git a/resources/osd/impact_mini.mcm b/resources/osd/impact_mini.mcm
index 799ea1ae..e9c84585 100644
--- a/resources/osd/impact_mini.mcm
+++ b/resources/osd/impact_mini.mcm
@@ -404,9 +404,6 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
01010100
01010100
01010101
@@ -459,6 +456,9 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
01000001
00000101
00000101
@@ -520,6 +520,45 @@ MAX7456
01010101
01010101
01010101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000101
+00100010
+00101000
+10100001
+00101000
+00101010
+10100001
+00100010
+00100010
+00100001
+00100010
+00100000
+00100001
+01000100
+01000101
+01000101
01010101
01010101
01010101
@@ -545,6 +584,45 @@ MAX7456
01010101
01010101
01010101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000101
+00101000
+10100010
+10100001
+00101010
+10100000
+10000101
+00100010
+00100000
+10000101
+00100000
+00100010
+10100001
+01000101
+01000100
+00000101
01010101
01010101
01010101
@@ -568,6 +646,44 @@ MAX7456
01010101
01010101
01010101
+01010100
+00000100
+01000000
+00000010
+10100010
+00101010
+10100010
+00100010
+00100010
+00100010
+10100010
+00100010
+00100010
+00100010
+01000000
+00000000
+00000000
+00101010
+10101010
+10101010
+01000000
+00000000
+00000000
+01010010
+10001010
+00101010
+01010010
+10101010
+00001000
+01010010
+00100010
+00001000
+01010010
+00000010
+00101010
+01010100
+01010100
+01000000
01010101
01010101
01010101
@@ -593,22 +709,31 @@ MAX7456
01010101
01010101
01010101
+01000101
01010101
01010101
+00100001
01010101
01010101
+00100001
01010101
01010101
+10100001
01010101
01010101
+00100001
01010101
01010101
+00000101
01010101
01010101
+10100001
01010101
01010101
+00000101
01010101
01010101
+00010101
01010101
01010101
01010101
@@ -617,132 +742,7 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00010101
01010101
01010101
01010101
@@ -2187,44 +2187,44 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+00010101
+01010101
+01010100
+10000101
01010100
00000000
-01010101
+10100001
01010010
10101010
-00010101
-01001000
+10101000
+01010100
00000000
-10000101
-00100001
-01010101
-00100001
-00100001
-01010101
-00100001
-00100001
-01010101
-00100001
-00100001
-01000101
-00100001
-00100001
-00100001
-00100001
-00100000
-10100000
10100001
-01000010
+01010100
+01010100
+10000101
+01010010
+00010101
+00010101
+01001010
+00000000
+00010101
+00101010
10101010
10000101
-01010100
-10100000
+01001010
+00000000
+00010101
+01010010
00010101
01010101
-00100001
+01010100
+01010101
+01010101
01010101
01010101
-01000101
01010101
01010101
01010101
@@ -2457,13 +2457,13 @@ MAX7456
01010101
01010101
01010101
-00000000
-01010101
-01010100
-10101010
+01010000
01010101
01010101
-00000000
+01001010
+01010101
+01010101
+01010000
01010101
01010101
01010101
@@ -2519,13 +2519,13 @@ MAX7456
01010101
01010101
01010101
-00000001
+00010101
01010101
01010101
-10101000
+10000101
01010101
01010101
-00000001
+00010101
01010101
01010101
01010101
@@ -3343,35 +3343,35 @@ MAX7456
01010101
01010101
01010101
-01010100
-00010101
+01010000
01010101
-01010010
-10000101
01010101
01001010
-10000101
+00010101
01010101
00101010
-10000101
-01010100
-10100010
-10000101
-01010100
-10101010
-10100001
-01010100
-10101010
-10100001
-01010101
-00000010
-10000101
-01010101
-01010010
-10000101
-01010101
-01010100
00010101
+01010100
+10101010
+00010101
+01010010
+10001010
+00010101
+01010010
+10101010
+10000101
+01010010
+10101010
+10000101
+01010100
+00001010
+00010101
+01010101
+01001010
+00010101
+01010101
+01010000
+01010101
01010101
01010101
01010101
@@ -3421,8 +3421,8 @@ MAX7456
01010100
10101010
00010101
-01010101
-00101010
+01010100
+10101010
10000101
01010101
00000010
@@ -4650,7 +4650,7 @@ MAX7456
10100010
10000101
01010101
-00000000
+00000100
00010101
01010101
01010101
@@ -8191,16 +8191,14 @@ MAX7456
01010101
01010101
01010101
-01010100
+01010101
00000000
-00010101
-01010010
+01010101
+01010100
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8261,16 +8259,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8331,16 +8329,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8401,16 +8399,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8471,16 +8469,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8541,16 +8539,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8611,16 +8609,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8681,16 +8679,16 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
01010101
01010101
01010101
@@ -8748,16 +8746,18 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+00000000
+01010101
01010100
-00000000
-00010101
-01010010
10101010
-10000101
-01010100
-00000000
00010101
01010101
+00000000
+01010101
+01010101
01010101
01010101
01010101
@@ -8794,12 +8794,12 @@ MAX7456
01000000
00000000
00000101
-01001010
+00101010
10101010
-10000101
-01010000
+10100001
+01000000
00000000
-00010101
+00000101
01010100
10001000
01010001
@@ -8860,10 +8860,10 @@ MAX7456
00000101
00101010
10101010
-10000101
+10100001
01000000
00000000
-00010101
+00000101
01010100
10001000
01010001
@@ -9222,64 +9222,6 @@ MAX7456
01010101
01010101
01010101
-01000000
-01010101
-01010101
-00101010
-00010101
-01010100
-10000000
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010101
-00000000
-00010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -9295,76 +9237,6 @@ MAX7456
10000000
10000101
01010100
-10000000
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010100
-10101010
-10000101
-01010101
-00000000
-00010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000000
-01010101
-01010101
-00101010
-00010101
-01010100
-10000000
-10000101
-01010100
-10000000
-10000101
-01010100
-10000000
-10000101
-01010100
10101010
10000101
01010100
@@ -9414,6 +9286,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01000000
01010101
01010101
@@ -9426,6 +9304,64 @@ MAX7456
10000000
10000101
01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010101
+00000000
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010101
+01010101
+00101010
+00010101
+01010100
10000000
10000101
01010100
@@ -9478,6 +9414,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01000000
01010101
01010101
@@ -9499,12 +9441,6 @@ MAX7456
10000000
10000101
01010100
-10000000
-10000101
-01010100
-10000000
-10000101
-01010100
10101010
10000101
01010100
@@ -9542,6 +9478,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01000000
01010101
01010101
@@ -9566,6 +9508,64 @@ MAX7456
10000000
10000101
01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010100
+10101010
+10000101
+01010101
+00000000
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010101
+01010101
+00101010
+00010101
+01010100
+10000000
+10000101
+01010100
+10000000
+10000101
+01010100
+10000000
+10000101
+01010100
+10000000
+10000101
+01010100
10000000
10000101
01010100
@@ -9606,6 +9606,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01000000
01010101
01010101
@@ -9636,13 +9642,7 @@ MAX7456
10000000
10000101
01010100
-10000000
-10000101
-01010100
-10000000
-10000101
-01010100
-10000000
+10101010
10000101
01010101
00000000
@@ -9877,9 +9877,6 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
01000001
01010101
01010101
@@ -9931,6 +9928,9 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
01010100
00000100
00010101
@@ -9948,7 +9948,7 @@ MAX7456
00100001
01010100
00000000
-00000101
+01000101
01010101
00101010
00010101
@@ -9956,10 +9956,10 @@ MAX7456
10100010
10000101
01010100
-10100000
+10100010
10000101
01010100
-10101010
+10101000
10000101
01010101
00101010
@@ -10020,10 +10020,10 @@ MAX7456
10100010
10000101
01010100
-10100000
+10100010
10000101
01010100
-10101010
+10101000
10000101
01010101
00101010
@@ -10054,44 +10054,44 @@ MAX7456
01010101
01010101
01010101
-01010101
01010100
-01010101
+00000100
01000000
00000010
-01010101
+10100010
00101010
10100010
-01010101
00100010
00100010
-01010101
+00100010
+10100010
00100010
00100010
-01010101
+00100010
+01000000
00000000
00000000
-01010100
+00101010
10101010
10101010
-01010101
+01000000
00000000
00000000
-01010101
01010010
00000010
-01010101
+10001010
01010010
00100010
-01010101
+10101010
01010010
10000010
-01010101
+00100010
01010010
00100010
-01010101
-01010000
-01000000
+00000010
+01010100
+01000100
+01010100
01010101
01010101
01010101
@@ -10117,43 +10117,43 @@ MAX7456
01010101
01010101
01010101
-00000100
01000101
01010101
-10100010
+01010101
00100001
01010101
-00100010
+01010101
00100001
01010101
-10100010
+01010101
10100001
01010101
-00100010
+01010101
00100001
01010101
-00000000
-00000000
01010101
-10101010
-10101010
-00010101
-00000000
-00000000
+00000101
+01010101
+01010101
+10100001
+01010101
+01010101
+00000101
+01010101
01010101
-10001010
00010101
01010101
-10101010
+01010101
00010101
01010101
-00100010
+01010101
00010101
01010101
-00100010
+01010101
00010101
01010101
-01000100
+01010101
+01010101
01010101
01010101
01010101
@@ -10182,13 +10182,13 @@ MAX7456
01010101
01010101
01010100
-00010000
+00000000
01010101
01010010
-10001010
+10101010
00010101
01010010
-10101010
+00100010
00010101
01010010
00100010
@@ -10211,9 +10211,9 @@ MAX7456
01010100
10000000
01010101
-01010100
-10101010
-00010101
+01010101
+00101000
+01010101
01010101
00000010
00010101
@@ -10330,12 +10330,12 @@ MAX7456
01000000
00000000
00000101
-01001010
+00101010
10101010
-10000101
-01010000
+10100001
+01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -11013,173 +11013,173 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010100
-01010100
-01010101
-01010010
-00000010
-01010101
-01010010
-00100010
-01010101
-01010100
-10101000
-01010101
-01010100
-10001000
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010010
-00000010
-01010101
-01010010
-00100010
-01010101
-01010010
-10000010
-01010101
-01010010
-00100010
-01010101
-01010100
+01000101
01000100
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000100
-01010101
-01010101
+01000101
+00100000
00100010
-00010101
-01010101
+00100001
00100010
-00010101
-01010101
-00101010
-00010101
-01010101
00100010
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-10001010
-00010101
-01010101
-10101010
-00010101
-01010101
-00100010
-00010101
-01010101
-00100010
-00010101
-01010101
-01000100
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010001
-01010101
-00010101
-01001000
-01010100
-10000101
-01001000
-01000100
-10000101
+00100001
01001010
-00100010
-10000101
-01010010
+10000010
+10100001
+01001000
+10000010
+00100001
+01000000
+00000000
+00000101
+00101010
10101010
-00010101
-01010010
-10001010
-00010101
-01010010
-00010010
-00010101
-01010100
+10100001
+01000000
+00000000
+00000101
+00100000
+00101000
+10100001
+00100010
+00101010
+10100001
+00101000
+00100010
+00100001
+00100010
+00100000
+00100001
+01000100
+01000101
+01000101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01000101
+00100000
+00100010
+00100001
+00100010
+00100010
+00100001
+01001010
+10000010
+10100001
+01001000
+10000010
+00100001
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+00000000
+00000000
+00000101
+00101000
+10100010
+10100001
+00101010
+10100000
+10000101
+00100010
+00100000
+10000101
+00100000
+00100010
+10100001
+01000101
+01000100
+00000101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010100
01010101
+01000101
+01010010
+00010101
+00100001
+01010010
+00010001
+00100001
+01010010
+10001000
+10100001
+01010100
+10101010
+10000101
+01010100
+10100010
+10000101
+01010100
+10000100
+10000101
01010101
-01010101
-01010101
+00010101
+00010101
01010101
01010101
01010101
@@ -11292,10 +11292,10 @@ MAX7456
00000101
00101010
10101010
-10000101
+10100001
01000000
00000000
-00010101
+00000101
01010100
10001000
01010101
@@ -11418,11 +11418,11 @@ MAX7456
00100010
00101010
00100001
+01000100
01000000
-00000000
-00000101
+01000101
00100000
-00000000
+01000000
00000101
00100010
00101010
@@ -12559,35 +12559,35 @@ MAX7456
01010101
01010101
01010101
-01010100
-00010101
+01010000
01010101
-01010010
-10000101
01010101
01001010
-10000101
+00010101
01010101
00101010
-10000101
-01010100
-10100010
-10000101
-01010100
-10101010
-10100001
-01010100
-10101010
-10100001
-01010101
-00000010
-10000100
-01010101
-01010010
-10000100
-01010101
-01010100
00010101
+01010100
+10101010
+00010101
+01010010
+10001010
+00010101
+01010010
+10101010
+10000101
+01010010
+10101010
+10000101
+01010100
+00001010
+00010100
+01010101
+01001010
+00010100
+01010101
+01010000
+01010101
01010101
01010101
01010101
@@ -12637,8 +12637,8 @@ MAX7456
01010100
10101010
00010101
-01010101
-00101010
+01010100
+10101010
10000101
01010101
00000010
@@ -13583,35 +13583,35 @@ MAX7456
01010101
01010101
01010101
-01010100
-00010101
+01010000
01010101
-01010010
-10000101
01010101
01001010
-10000101
+00010101
01010101
00101010
-10000101
-01010100
-10100010
-10000101
+00010101
01010100
10101010
-10100001
-00010100
-10101010
-10100001
-10000101
-00000010
-10000101
-10000101
+00010101
01010010
+10001010
+00010101
+01010010
+10101010
10000101
+00010010
+10101010
+10000101
+10000100
+00001010
00010101
-01010100
+10000101
+01001010
00010101
+00010101
+01010000
+01010101
01010101
01010101
01010101
@@ -13661,8 +13661,8 @@ MAX7456
01010100
10101010
00010101
-01010101
-00101010
+01010100
+10101010
10000101
00010101
00000010
@@ -14350,6 +14350,9 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
00010101
01010101
01010101
@@ -14365,12 +14368,6 @@ MAX7456
10000101
01010101
01010101
-10000101
-01010101
-01010101
-10000101
-01010101
-01010101
00010101
01010101
01010101
@@ -14414,6 +14411,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010001
01010101
01010101
@@ -14429,12 +14432,6 @@ MAX7456
01001000
01010101
01010101
-01001000
-01010101
-01010101
-01001000
-01010101
-01010101
01010001
01010101
01010101
@@ -14479,6 +14476,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
00010101
01010101
01010100
@@ -14493,12 +14496,6 @@ MAX7456
01010100
10000101
01010101
-01010100
-10000101
-01010101
-01010100
-10000101
-01010101
01010101
00010101
01010101
@@ -14543,6 +14540,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010100
01010101
01010101
@@ -14558,12 +14561,6 @@ MAX7456
01010010
00010101
01010101
-01010010
-00010101
-01010101
-01010010
-00010101
-01010101
01010100
01010101
01010101
@@ -14608,6 +14605,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01000101
01010101
01010101
@@ -14623,12 +14626,6 @@ MAX7456
00100001
01010101
01010101
-00100001
-01010101
-01010101
-00100001
-01010101
-01010101
01000101
01010101
01010101
@@ -14672,6 +14669,12 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010100
01010101
01010101
@@ -14687,12 +14690,6 @@ MAX7456
01010010
01010101
01010101
-01010010
-01010101
-01010101
-01010010
-01010101
-01010101
01010100
01010101
01010101
@@ -14737,6 +14734,9 @@ MAX7456
01010101
01010101
01010101
+01010101
+01010101
+01010101
01010000
00010101
00000001
@@ -15316,30 +15316,30 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01010001
+01010001
+01010001
+01001000
+00001000
+00001000
+01001000
+10001000
+10001000
+01001000
+10001000
+10001000
+01001010
+00000010
+10100001
+01001000
+10000010
+00100001
+01001000
+10000010
+00100001
+01010001
+00010100
+01000101
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/impact_mini/006.png b/resources/osd/impact_mini/006.png
index 8f3cfc26..68cdb34f 100644
Binary files a/resources/osd/impact_mini/006.png and b/resources/osd/impact_mini/006.png differ
diff --git a/resources/osd/impact_mini/008.png b/resources/osd/impact_mini/008.png
index 75c7554c..70794067 100644
Binary files a/resources/osd/impact_mini/008.png and b/resources/osd/impact_mini/008.png differ
diff --git a/resources/osd/impact_mini/009.png b/resources/osd/impact_mini/009.png
index 81855f93..02a33a7d 100644
Binary files a/resources/osd/impact_mini/009.png and b/resources/osd/impact_mini/009.png differ
diff --git a/resources/osd/impact_mini/010-011.png b/resources/osd/impact_mini/010-011.png
new file mode 100644
index 00000000..1d92360c
Binary files /dev/null and b/resources/osd/impact_mini/010-011.png differ
diff --git a/resources/osd/impact_mini/010.png b/resources/osd/impact_mini/010.png
deleted file mode 100644
index 3cad134b..00000000
Binary files a/resources/osd/impact_mini/010.png and /dev/null differ
diff --git a/resources/osd/impact_mini/011.png b/resources/osd/impact_mini/011.png
deleted file mode 100644
index 4ae2fcc4..00000000
Binary files a/resources/osd/impact_mini/011.png and /dev/null differ
diff --git a/resources/osd/impact_mini/034.png b/resources/osd/impact_mini/034.png
index 32fc74e3..b579b467 100644
Binary files a/resources/osd/impact_mini/034.png and b/resources/osd/impact_mini/034.png differ
diff --git a/resources/osd/impact_mini/038.png b/resources/osd/impact_mini/038.png
index 1aa516b7..d41b052b 100644
Binary files a/resources/osd/impact_mini/038.png and b/resources/osd/impact_mini/038.png differ
diff --git a/resources/osd/impact_mini/039.png b/resources/osd/impact_mini/039.png
index 4622a25c..60235e7d 100644
Binary files a/resources/osd/impact_mini/039.png and b/resources/osd/impact_mini/039.png differ
diff --git a/resources/osd/impact_mini/052.png b/resources/osd/impact_mini/052.png
index be3170f1..d82298c5 100644
Binary files a/resources/osd/impact_mini/052.png and b/resources/osd/impact_mini/052.png differ
diff --git a/resources/osd/impact_mini/053.png b/resources/osd/impact_mini/053.png
index 46951293..2b46db19 100644
Binary files a/resources/osd/impact_mini/053.png and b/resources/osd/impact_mini/053.png differ
diff --git a/resources/osd/impact_mini/072.png b/resources/osd/impact_mini/072.png
index 3411c53d..96f8c17b 100644
Binary files a/resources/osd/impact_mini/072.png and b/resources/osd/impact_mini/072.png differ
diff --git a/resources/osd/impact_mini/128.png b/resources/osd/impact_mini/128.png
index 7b2b7efc..8c8d52d3 100644
Binary files a/resources/osd/impact_mini/128.png and b/resources/osd/impact_mini/128.png differ
diff --git a/resources/osd/impact_mini/129.png b/resources/osd/impact_mini/129.png
index 485cf4b1..99797ca8 100644
Binary files a/resources/osd/impact_mini/129.png and b/resources/osd/impact_mini/129.png differ
diff --git a/resources/osd/impact_mini/130.png b/resources/osd/impact_mini/130.png
index 7e90aa17..675ecdd7 100644
Binary files a/resources/osd/impact_mini/130.png and b/resources/osd/impact_mini/130.png differ
diff --git a/resources/osd/impact_mini/131.png b/resources/osd/impact_mini/131.png
index d24a6eb3..7b7ac59f 100644
Binary files a/resources/osd/impact_mini/131.png and b/resources/osd/impact_mini/131.png differ
diff --git a/resources/osd/impact_mini/132.png b/resources/osd/impact_mini/132.png
index f79182e5..008c239a 100644
Binary files a/resources/osd/impact_mini/132.png and b/resources/osd/impact_mini/132.png differ
diff --git a/resources/osd/impact_mini/133.png b/resources/osd/impact_mini/133.png
index 3e5e8362..366cd532 100644
Binary files a/resources/osd/impact_mini/133.png and b/resources/osd/impact_mini/133.png differ
diff --git a/resources/osd/impact_mini/134.png b/resources/osd/impact_mini/134.png
index 03925473..146b8fe3 100644
Binary files a/resources/osd/impact_mini/134.png and b/resources/osd/impact_mini/134.png differ
diff --git a/resources/osd/impact_mini/135.png b/resources/osd/impact_mini/135.png
index 7f2062e6..58f93fea 100644
Binary files a/resources/osd/impact_mini/135.png and b/resources/osd/impact_mini/135.png differ
diff --git a/resources/osd/impact_mini/136.png b/resources/osd/impact_mini/136.png
index a2c5e0c7..749cc5ad 100644
Binary files a/resources/osd/impact_mini/136.png and b/resources/osd/impact_mini/136.png differ
diff --git a/resources/osd/impact_mini/137.png b/resources/osd/impact_mini/137.png
index 4da03952..76976243 100644
Binary files a/resources/osd/impact_mini/137.png and b/resources/osd/impact_mini/137.png differ
diff --git a/resources/osd/impact_mini/138.png b/resources/osd/impact_mini/138.png
index c3afd624..da2463a6 100644
Binary files a/resources/osd/impact_mini/138.png and b/resources/osd/impact_mini/138.png differ
diff --git a/resources/osd/impact_mini/144.png b/resources/osd/impact_mini/144.png
index f6b46efc..0cc3e4dd 100644
Binary files a/resources/osd/impact_mini/144.png and b/resources/osd/impact_mini/144.png differ
diff --git a/resources/osd/impact_mini/145.png b/resources/osd/impact_mini/145.png
index 3fc17938..a23bba09 100644
Binary files a/resources/osd/impact_mini/145.png and b/resources/osd/impact_mini/145.png differ
diff --git a/resources/osd/impact_mini/146.png b/resources/osd/impact_mini/146.png
index 6aa4c1e0..d91d9348 100644
Binary files a/resources/osd/impact_mini/146.png and b/resources/osd/impact_mini/146.png differ
diff --git a/resources/osd/impact_mini/147.png b/resources/osd/impact_mini/147.png
index 7b1740cb..b2d06db6 100644
Binary files a/resources/osd/impact_mini/147.png and b/resources/osd/impact_mini/147.png differ
diff --git a/resources/osd/impact_mini/148.png b/resources/osd/impact_mini/148.png
index 33cda965..c6134303 100644
Binary files a/resources/osd/impact_mini/148.png and b/resources/osd/impact_mini/148.png differ
diff --git a/resources/osd/impact_mini/149.png b/resources/osd/impact_mini/149.png
index 4f9883c3..5aa63a8e 100644
Binary files a/resources/osd/impact_mini/149.png and b/resources/osd/impact_mini/149.png differ
diff --git a/resources/osd/impact_mini/150.png b/resources/osd/impact_mini/150.png
index bd3ac03a..a6d5bde4 100644
Binary files a/resources/osd/impact_mini/150.png and b/resources/osd/impact_mini/150.png differ
diff --git a/resources/osd/impact_mini/154.png b/resources/osd/impact_mini/154.png
index 29dfd0e0..4c0fa158 100644
Binary files a/resources/osd/impact_mini/154.png and b/resources/osd/impact_mini/154.png differ
diff --git a/resources/osd/impact_mini/155.png b/resources/osd/impact_mini/155.png
index 57045622..79fc7022 100644
Binary files a/resources/osd/impact_mini/155.png and b/resources/osd/impact_mini/155.png differ
diff --git a/resources/osd/impact_mini/156.png b/resources/osd/impact_mini/156.png
index dea61b82..c261c21d 100644
Binary files a/resources/osd/impact_mini/156.png and b/resources/osd/impact_mini/156.png differ
diff --git a/resources/osd/impact_mini/157-158.png b/resources/osd/impact_mini/157-158.png
new file mode 100644
index 00000000..aa8e56f2
Binary files /dev/null and b/resources/osd/impact_mini/157-158.png differ
diff --git a/resources/osd/impact_mini/157.png b/resources/osd/impact_mini/157.png
deleted file mode 100644
index 176b03ff..00000000
Binary files a/resources/osd/impact_mini/157.png and /dev/null differ
diff --git a/resources/osd/impact_mini/158.png b/resources/osd/impact_mini/158.png
deleted file mode 100644
index 5be9ae35..00000000
Binary files a/resources/osd/impact_mini/158.png and /dev/null differ
diff --git a/resources/osd/impact_mini/159.png b/resources/osd/impact_mini/159.png
index ce44ec3c..92907d5a 100644
Binary files a/resources/osd/impact_mini/159.png and b/resources/osd/impact_mini/159.png differ
diff --git a/resources/osd/impact_mini/161.png b/resources/osd/impact_mini/161.png
index bd29b607..59dc12b6 100644
Binary files a/resources/osd/impact_mini/161.png and b/resources/osd/impact_mini/161.png differ
diff --git a/resources/osd/impact_mini/172.png b/resources/osd/impact_mini/172.png
index f2f5b350..017b73db 100644
Binary files a/resources/osd/impact_mini/172.png and b/resources/osd/impact_mini/172.png differ
diff --git a/resources/osd/impact_mini/173.png b/resources/osd/impact_mini/173.png
index 9ab4ac51..3bab590a 100644
Binary files a/resources/osd/impact_mini/173.png and b/resources/osd/impact_mini/173.png differ
diff --git a/resources/osd/impact_mini/174.png b/resources/osd/impact_mini/174.png
index 40810d8d..c42e07a3 100644
Binary files a/resources/osd/impact_mini/174.png and b/resources/osd/impact_mini/174.png differ
diff --git a/resources/osd/impact_mini/176.png b/resources/osd/impact_mini/176.png
index f34081e7..2bbc4b33 100644
Binary files a/resources/osd/impact_mini/176.png and b/resources/osd/impact_mini/176.png differ
diff --git a/resources/osd/impact_mini/178.png b/resources/osd/impact_mini/178.png
index b3e63e9c..7d2c2ada 100644
Binary files a/resources/osd/impact_mini/178.png and b/resources/osd/impact_mini/178.png differ
diff --git a/resources/osd/impact_mini/196.png b/resources/osd/impact_mini/196.png
index 2e198278..2cae3154 100644
Binary files a/resources/osd/impact_mini/196.png and b/resources/osd/impact_mini/196.png differ
diff --git a/resources/osd/impact_mini/197.png b/resources/osd/impact_mini/197.png
index 2707f890..6bcb206c 100644
Binary files a/resources/osd/impact_mini/197.png and b/resources/osd/impact_mini/197.png differ
diff --git a/resources/osd/impact_mini/212.png b/resources/osd/impact_mini/212.png
index ca39f19a..c97912ad 100644
Binary files a/resources/osd/impact_mini/212.png and b/resources/osd/impact_mini/212.png differ
diff --git a/resources/osd/impact_mini/213.png b/resources/osd/impact_mini/213.png
index df32f2aa..8fd37aed 100644
Binary files a/resources/osd/impact_mini/213.png and b/resources/osd/impact_mini/213.png differ
diff --git a/resources/osd/impact_mini/224.png b/resources/osd/impact_mini/224.png
index 2fd08ea4..ff88345d 100644
Binary files a/resources/osd/impact_mini/224.png and b/resources/osd/impact_mini/224.png differ
diff --git a/resources/osd/impact_mini/225.png b/resources/osd/impact_mini/225.png
index 915462fc..54969a25 100644
Binary files a/resources/osd/impact_mini/225.png and b/resources/osd/impact_mini/225.png differ
diff --git a/resources/osd/impact_mini/226.png b/resources/osd/impact_mini/226.png
index 7dc480a6..23494261 100644
Binary files a/resources/osd/impact_mini/226.png and b/resources/osd/impact_mini/226.png differ
diff --git a/resources/osd/impact_mini/227.png b/resources/osd/impact_mini/227.png
index b5627e74..6d82ed4e 100644
Binary files a/resources/osd/impact_mini/227.png and b/resources/osd/impact_mini/227.png differ
diff --git a/resources/osd/impact_mini/228.png b/resources/osd/impact_mini/228.png
index 6b6b1118..e3ac46d4 100644
Binary files a/resources/osd/impact_mini/228.png and b/resources/osd/impact_mini/228.png differ
diff --git a/resources/osd/impact_mini/229.png b/resources/osd/impact_mini/229.png
index 89df972f..b60af7d0 100644
Binary files a/resources/osd/impact_mini/229.png and b/resources/osd/impact_mini/229.png differ
diff --git a/resources/osd/impact_mini/239.png b/resources/osd/impact_mini/239.png
new file mode 100644
index 00000000..aa7230bd
Binary files /dev/null and b/resources/osd/impact_mini/239.png differ
diff --git a/resources/osd/large.mcm b/resources/osd/large.mcm
index b013460d..b9b8324b 100644
--- a/resources/osd/large.mcm
+++ b/resources/osd/large.mcm
@@ -517,186 +517,241 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-00000000
-00000101
-01010101
-10101010
-10100101
-01010101
-00000000
-00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
01010000
-01010101
-01010101
-01010010
-00010101
-01010101
-01010010
-10000101
-01010101
-01010010
-10100001
-01010101
-01010010
-10101000
-01010101
-01010010
-10101010
-00010101
-01010010
-10101000
-01010101
-01010010
-10100001
-01010101
-01010010
-10000101
-01010101
-01010010
-00010101
-01010101
-01010000
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-00000101
-01010101
-01010100
-10000101
-01010101
-01010010
-10000101
+01010001
01010101
01001010
-10000101
+00001000
01010101
+00100000
+10001000
+00010101
00101010
+10001010
10000101
-01010100
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
+00000000
+00000101
+00101010
10101010
-10000101
-01010101
+10100001
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
+10001000
+00101000
+00001000
+10001000
00101010
-10000101
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010000
+01010001
01010101
01001010
+00001000
+01010101
+00100000
+10001000
+00010101
+00101010
+10001010
10000101
+00100000
+10001000
+00100001
+00100000
+10001000
+00100001
+01000000
+00000000
+00000101
+00101010
+10101010
+10100001
+01000000
+00000000
+00000001
+00001010
+10000101
+00010101
+00100010
+00100000
+10000101
+00100010
+00100000
+10000101
+00100000
+00100000
+10000101
+00100000
+00100000
+10000101
+01000101
+01000101
+00010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000000
+01010100
+01010101
+00100010
+00010010
+01010100
+10001000
+10001000
+01010100
+10001000
+10001010
+01010100
+10000000
+10001000
+01010101
+00010101
+00010001
+01010101
+00000000
+00000000
+01010100
+10101010
+10101010
+01010101
+00000000
+00000000
+01010101
+01010101
+00010001
+01010101
+01010100
+10001000
01010101
01010010
-10000101
+00100010
+01010101
+01010010
+00000010
+01010101
+01010010
+00010010
+01010101
+01010100
+01010100
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010101
01010101
01010100
10000101
01010101
+00010100
+10000001
01010101
-00000101
+10000100
+10001000
+00010101
+00100000
+10100010
+00010101
+10100000
+10000010
+00010101
+00100000
+10000010
+00010101
+01000101
+00010100
01010101
-01011010
-10100101
+00000000
+00000000
+01010101
+10101010
+10101010
+00010101
+00000000
+00000000
+01010101
+01010001
01010101
01010101
+01001000
01010101
01010101
+00001000
01010101
01010101
+00001000
01010101
01010101
+00001000
01010101
01010101
+01010001
01010101
01010101
01010101
@@ -704,61 +759,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -11008,120 +11008,120 @@ MAX7456
01010101
01010101
01010101
-01010001
-01010100
01010101
-01001000
-01010010
-01010101
-01001000
-01010010
-01010101
-01001000
-00000010
-01010101
-01001000
-10100010
-01010101
-01010010
-10101000
-01010101
-01010010
-00001000
-01010101
-01010100
-01010001
-01010101
-00000000
-00000000
-01010100
-10101010
-10101010
-01010101
-00000000
-00000000
-01010101
-01010100
-00010000
-01010101
-01010010
-00001000
-01010101
-01010010
-00100000
-01010101
-01010010
-10100000
-01010101
-01010010
-00001000
-01010101
-01010100
-00000000
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00100001
-01010101
-01010101
-00100000
-01010101
-01010101
-00100010
-00010101
-01010101
-00101000
-10000101
-01010101
-00100000
-10000101
-01010101
-00100000
-10000101
01010101
01000101
-00010101
-01010101
-00000000
-00000000
-01010101
-10101010
-10101010
-00010101
-00000000
-00000000
-01010101
-00000100
-00010101
+01000100
01010101
+00100001
00100010
00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
10001000
-10000101
-01010101
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+00100000
+10000010
+00100001
+00100010
+00001000
10001000
-10000101
+00101010
+00001000
+00001000
+00100000
+10001000
+00001000
+01000000
+00010001
+01010001
01010101
-10000000
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01010101
+00100001
+00100010
00010101
-00010101
-01010101
+00100000
+00100010
+00000101
+00100010
+00100010
+00100001
+00101010
+10100010
+10001000
+00001000
+10000010
+00001000
+01001000
+10000010
+00001000
+01010001
+00010100
+01010001
+01000000
+00000000
+00000001
+00101010
+10101010
+10101000
+01000000
+00000000
+00000001
+01000010
+00100001
+00100001
+01001000
+10001000
+00100001
+01001000
+00001000
+00100001
+01001000
+00001000
+00100001
+01010001
+01010001
+01000101
01010101
01010101
01010101
@@ -15319,27 +15319,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+00000001
+00000001
+01000000
+00100000
+00100001
+01001000
+00100010
+00100000
+00001000
+00100010
+00100010
+10001000
+00101000
+00001010
+10100000
+00100010
+00001000
+00100001
+00000000
+00000000
+00000001
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/large/008.png b/resources/osd/large/008.png
new file mode 100644
index 00000000..e510d226
Binary files /dev/null and b/resources/osd/large/008.png differ
diff --git a/resources/osd/large/009.png b/resources/osd/large/009.png
new file mode 100644
index 00000000..af518bb8
Binary files /dev/null and b/resources/osd/large/009.png differ
diff --git a/resources/osd/large/010-011.png b/resources/osd/large/010-011.png
new file mode 100644
index 00000000..24bd062c
Binary files /dev/null and b/resources/osd/large/010-011.png differ
diff --git a/resources/osd/large/172.png b/resources/osd/large/172.png
new file mode 100644
index 00000000..5c9e2148
Binary files /dev/null and b/resources/osd/large/172.png differ
diff --git a/resources/osd/large/173.png b/resources/osd/large/173.png
new file mode 100644
index 00000000..2f226bcc
Binary files /dev/null and b/resources/osd/large/173.png differ
diff --git a/resources/osd/large/239.png b/resources/osd/large/239.png
new file mode 100644
index 00000000..ff900132
Binary files /dev/null and b/resources/osd/large/239.png differ
diff --git a/resources/osd/vision.mcm b/resources/osd/vision.mcm
index f6330fb8..84e1adc4 100644
--- a/resources/osd/vision.mcm
+++ b/resources/osd/vision.mcm
@@ -517,111 +517,49 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01000000
00000000
00000101
-01010101
+00101010
10101010
-10100101
-01010101
+10100001
+01000000
00000000
00000101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010000
-01010101
-01010101
-01010010
-00010101
-01010101
-01010010
+01001000
+10001000
10000101
-01010101
-01010010
-10100001
-01010101
-01010010
-10101000
-01010101
-01010010
-10101010
-00010101
-01010010
-10101000
-01010101
-01010010
-10100001
-01010101
-01010010
+01001010
+00001010
10000101
-01010101
-01010010
+01001000
+10001000
+10000101
+01001000
+10001000
+10000101
+01001000
+10001000
+10000101
+01010001
+00010001
00010101
01010101
-01010000
-01010101
-01010101
-01011010
-10100101
01010101
01010101
01010101
@@ -643,50 +581,156 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01011010
-10100101
-01010101
-01010101
+01010100
+01010001
+00010101
+01010010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001010
+10001010
+10000101
+01001000
+10001000
+10000101
+01000000
+00000000
00000101
-01010101
-01010100
-10000101
-01010101
-01010010
-10000101
-01010101
-01001010
-10000101
-01010101
00101010
-10000101
-01010100
10101010
+10100001
+01000000
+00000000
+00000101
+01001000
+10001010
10000101
-01010101
-00101010
-10000101
-01010101
01001010
+10000010
+00010101
+01001000
+10000010
+00010101
+01001000
+10000010
+00010101
+01001000
+10001010
10000101
+01010001
+00010000
+00010101
01010101
-01010010
-10000101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010001
+00010100
+01010001
+01001000
+10000010
+00001000
+01001010
+10001000
+10001000
+01001000
+10001010
+10001010
+01001000
+10001000
+10001000
+01001000
+10001000
+10001000
+01000000
+00000000
+00000000
+00101010
+10101010
+10101010
+01000000
+00000000
+00000000
01010100
+10001000
+10101000
+01010100
+10101000
+00100001
+01010100
+10001000
+00100001
+01010100
+10001000
+00100001
+01010100
+10001000
+10101000
+01010101
+00010001
+00000001
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+00010101
+01010101
+01010101
+10000101
+01010101
+01010101
+10000101
+01010101
+01010101
+10000101
+01010101
+01010101
+10000101
+01010101
+01010101
10000101
01010101
01010101
00000101
01010101
-01011010
-10100101
+01010101
+10100001
+01010101
+01010101
+00000101
01010101
01010101
01010101
@@ -704,13 +748,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
01010101
01010101
01010101
@@ -725,43 +762,6 @@ MAX7456
01010101
01010101
01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01000001
-01010101
-01010101
-00101000
-01010101
-01010101
-01000001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
01010101
01010101
01010101
@@ -10050,50 +10050,50 @@ MAX7456
01010101
01010101
01010101
-01010101
01010001
00010100
-01010101
+01010001
01001000
10000010
-01010101
+00001000
01001010
10001000
-01010101
+10001000
01001000
10001010
-01010101
+10001010
01001000
10001000
-01010101
+10001000
01001000
10001000
-01010101
+10001000
01000000
00000000
-01010101
+00000000
00101010
10101010
-01010101
+10101010
01000000
00000000
-01010101
+00000000
01010100
10000000
-01010101
+10001000
01010100
10001000
-01010101
+10101000
01010100
-10100001
-01010101
+10100000
+10001000
01010100
10001000
-01010101
+10001000
01010100
10001000
+10001000
01010101
-01010101
+00010001
00010001
01010101
01010101
@@ -10114,49 +10114,49 @@ MAX7456
01010101
01010101
01010101
-01010001
00010101
01010101
-00001000
+01010101
10000101
01010101
-10001000
+01010101
10000101
01010101
-10001010
+01010101
10000101
01010101
-10001000
+01010101
10000101
01010101
-10001000
+01010101
10000101
01010101
-00000000
+01010101
00000101
01010101
-10101010
+01010101
10100001
01010101
-00000000
+01010101
00000101
01010101
-10001000
01010101
01010101
-10101000
01010101
01010101
-10001000
01010101
01010101
-10001000
01010101
01010101
-10001000
01010101
01010101
-00010001
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
01010101
01010101
01010101
@@ -11010,115 +11010,115 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010100
-01010100
-01010101
-01010010
-00000010
-01010101
-01010010
-00100010
-01010101
-01010010
-10101010
-01010101
-01010100
-10001000
-01010101
-01010100
-10001000
-01010101
-01010000
-00000000
-01010101
-01001010
-10101010
-01010101
-01010000
-00000000
-01010101
-01010100
-10000000
-01010101
-01010100
-10001000
-01010101
-01010100
-10100001
-01010101
-01010100
-10001000
-01010101
-01010100
-10001000
-01010101
-01010101
-00010001
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01000101
01000100
-01010101
-01010101
+01000101
+00100000
00100010
-00010101
-01010101
+00100001
00100010
-00010101
-01010101
+00100010
+00100001
00101010
-00010101
-01010101
-00100010
-00010101
-01010101
-01100010
-00010101
-01010101
+10100010
+10100001
+01001000
+10000010
+00100001
+01001000
+10000010
+00100001
+01000000
00000000
-00010101
-01010101
+00000001
+00101010
10101010
-10000101
-01010101
+10101000
+01000000
00000000
+00000001
+01001000
+00001000
+10000101
+01001000
+10001010
+10000101
+01001010
+00001000
+10000101
+01001000
+10001000
+10000101
+01001000
+10001000
+10000101
+01010001
+00010001
00010101
01010101
-10001000
01010101
01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01010101
+01000101
+01000100
+01000101
+00100000
+00100010
+00100001
+00100010
+00100010
+00100001
+00101010
+10100010
+10100001
+01001000
+10000010
+00100001
+01001000
+10000010
+00100001
+01000000
+00000000
+00000001
+00101010
+10101010
10101000
-01010101
-01010101
-10001000
-01010101
-01010101
-10001000
-01010101
-01010101
-10001000
-01010101
-01010101
-00010001
-01010101
-01010101
+01000000
+00000000
+00000101
+01001000
+10001010
+10000101
+01001010
+10000010
+00010101
+01001000
+10000010
+00010101
+01001000
+10000010
+00010101
+01001000
+10001010
+10000101
+01010001
+00010000
+00010101
01010101
01010101
01010101
@@ -15322,27 +15322,27 @@ MAX7456
01010101
01010101
01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
-01010101
+01000101
+01000101
+01000101
+00100000
+00100000
+00100001
+00100010
+00100010
+00100001
+00101000
+00101010
+10100001
+00100010
+00001000
+10000101
+00100010
+00001000
+10000101
+01000100
+01010001
+00010101
01010101
01010101
01010101
@@ -16323,7 +16323,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
@@ -16387,7 +16387,7 @@ MAX7456
01001110
01000001
01010110
-00000001
+00000010
01010101
01010101
01010101
diff --git a/resources/osd/vision/008.png b/resources/osd/vision/008.png
new file mode 100644
index 00000000..a61c642e
Binary files /dev/null and b/resources/osd/vision/008.png differ
diff --git a/resources/osd/vision/009.png b/resources/osd/vision/009.png
new file mode 100644
index 00000000..8371e0aa
Binary files /dev/null and b/resources/osd/vision/009.png differ
diff --git a/resources/osd/vision/010-011.png b/resources/osd/vision/010-011.png
new file mode 100644
index 00000000..0987c19b
Binary files /dev/null and b/resources/osd/vision/010-011.png differ
diff --git a/resources/osd/vision/157-158.png b/resources/osd/vision/157-158.png
old mode 100755
new mode 100644
index d22bfc9f..437d4974
Binary files a/resources/osd/vision/157-158.png and b/resources/osd/vision/157-158.png differ
diff --git a/resources/osd/vision/172-173.png b/resources/osd/vision/172-173.png
deleted file mode 100755
index 7afa65dd..00000000
Binary files a/resources/osd/vision/172-173.png and /dev/null differ
diff --git a/resources/osd/vision/172.png b/resources/osd/vision/172.png
new file mode 100644
index 00000000..58c94130
Binary files /dev/null and b/resources/osd/vision/172.png differ
diff --git a/resources/osd/vision/173.png b/resources/osd/vision/173.png
new file mode 100644
index 00000000..c906e58f
Binary files /dev/null and b/resources/osd/vision/173.png differ
diff --git a/resources/osd/vision/239.png b/resources/osd/vision/239.png
new file mode 100644
index 00000000..15df2997
Binary files /dev/null and b/resources/osd/vision/239.png differ
diff --git a/src/css/tabs/mission_planer.css b/src/css/tabs/mission_planer.css
index c61acc4a..0c74ef53 100644
--- a/src/css/tabs/mission_planer.css
+++ b/src/css/tabs/mission_planer.css
@@ -8,25 +8,97 @@
border: 1px solid #3394b5;
color: #fff;
/*float: right;*/
- font-family: 'open_sansbold', Arial, serif;
- font-size: 12px;
- text-shadow: 0 1px rgba(0, 0, 0, 0.25);
display: block;
cursor: pointer;
transition: all ease 0.2s;
- padding: 0 9px;
- line-height: 28px;
+ padding: 0px;
margin: 5px;
float: left;
- width: 130px;
- text-align: center;
+ height: 28px;
+ line-height: 28px;
+ width: 28px;
}
+.tab-mission-control .btn-text{
+ display: none;
+ font-family: 'open_sansbold', Arial, serif;
+ font-size: 12px;
+ text-shadow: 0 1px rgba(0, 0, 0, 0.25);
+ line-height: 28px;
+ width: 80px;
+ text-align: center;
+}
.tab-mission-control .btn a:hover {
background-color: #3394b5;
transition: all ease 0.2s;
}
+.tab-mission-control .ic_save2FC {
+ background-image: url(../images/icons/cf_icon_MP_save2FC_grey.svg);
+}
+
+.tab-mission-control .ic_loadFromFC {
+ background-image: url(../images/icons/cf_icon_MP_loadFromFC_grey.svg);
+}
+
+.tab-mission-control .ic_save2File {
+ background-image: url(../images/icons/cf_icon_MP_saveFile_grey.svg);
+}
+
+.tab-mission-control .ic_loadFromFile {
+ background-image: url(../images/icons/cf_icon_MP_loadFile_grey.svg);
+}
+
+.tab-mission-control .ic_save2Eprom {
+ background-image: url(../images/icons/cf_icon_MP_save2Eprom_grey.svg);
+}
+
+.tab-mission-control .ic_loadFromEprom {
+ background-image: url(../images/icons/cf_icon_MP_loadFromEprom_grey.svg);
+}
+
+.tab-mission-control .ic_removeAll {
+ background-image: url(../images/icons/cf_icon_MP_removeAll_grey.svg);
+}
+
+.tab-mission-control .ic_save {
+ background-image: url(../images/icons/cf_icon_MP_save_grey.svg);
+}
+
+.tab-mission-control .ic_cancel {
+ background-image: url(../images/icons/cf_icon_MP_cancel_grey.svg);
+}
+
+.tab-mission-control .ic_add {
+ background-image: url(../images/icons/cf_icon_MP_add_grey.svg);
+}
+
+.tab-mission-control .ic_show {
+ background-image: url(../images/icons/cf_icon_MP_show_grey.svg);
+}
+
+.tab-mission-control .ic_hide {
+ background-image: url(../images/icons/cf_icon_MP_hide_grey.svg);
+}
+
+.tab-mission-control .ic_play {
+ background-image: url(../images/icons/cf_icon_MP_play_grey.svg);
+}
+
+.tab-mission-control .ic_stop {
+ background-image: url(../images/icons/cf_icon_MP_stop_grey.svg);
+}
+
+.tab-mission-control .ic_center {
+ background-image: url(../images/icons/cf_icon_MP_center_grey.svg);
+}
+
+.tab-mission-control .btnicon {
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 24px;
+}
+
.tab-mission-control .btn a:active {
background-color: #37a8db;
transition: all ease 0.0s;
@@ -43,16 +115,56 @@
opacity: 0.5;
}
-.tab-mission-control .btn-danger a {
+.tab-mission-control .btn-danger_long a {
+ background-color: #db250e;
+ border: 1px solid #b5480e;
+ height: 28px;
+ margin:5px;
+ line-height: 28px;
+ width: 28px;
+}
+.tab-mission-control .btn-danger_short a {
background-color: #db250e;
border: 1px solid #b5480e;
}
+.tab-mission-control .btn-danger_long a:hover {
+ background-color: #b5480e;
+ transition: all ease 0.2s;
+}
+
+.tab-mission-control .btn-danger_short a:hover {
+ background-color: #b5480e;
+ transition: all ease 0.2s;
+}
+
+.tab-mission-control .btn-danger a {
+ background-color: #db250e;
+ border: 1px solid #b5480e;
+ height: 28px;
+ margin:5px;
+ line-height: 28px;
+ width: 28px;
+}
.tab-mission-control .btn-danger a:hover {
background-color: #b5480e;
transition: all ease 0.2s;
}
+.tab-mission-control .btn-success a {
+ background-color: #28a745;
+ border: 1px solid #218838;
+ height: 28px;
+ margin:5px;
+ line-height: 28px;
+ width: 28px;
+}
+
+.tab-mission-control .btn-success a:hover {
+ background-color: #218838;
+ transition: all ease 0.2s;
+}
+
.tab-mission-control .checksfail {
/*float: right;*/
margin-top: 3px;
@@ -74,6 +186,7 @@
padding-top: 5px;
}
+
.tab-mission-control {
height: 100%;
}
@@ -115,7 +228,44 @@
width: 60px;
display: inline-block;
}
+.tab-mission-control .point-radio input{
+ width: 25px;
+ padding-left: 3px;
+ height: 20px;
+ line-height: 20px;
+ text-align: left;
+ border: 1px solid silver;
+ border-radius: 3px;
+ font-size: 12px;
+ font-weight: normal;
+ display: inline-block;
+}
+.tab-mission-control .point-radio input[type=radio], input.radio{
+ width: 20px;
+ padding-left: 3px;
+ height: 20px;
+ line-height: 20px;
+ text-align: left;
+ border: 1px solid silver;
+ border-radius: 3px;
+ font-size: 12px;
+ font-weight: normal;
+ display: inline-block;
+}
+.tab-mission-control .radio-options{
+ width: 40px;
+ display: inline-block;
+ margin-right:7px;
+}
+/*
+.tab-mission-control .radio-options {
+ display: inline-block;
+}
+.tab-mission-control input[type=radio], input.radio {
+ float: left;
+ }
+*/
.mission-control-settings {
top: 65px;
left: .5em;
@@ -123,3 +273,205 @@
.ol-touch .mission-control-settings {
top: 80px;
}
+.mission-control-safehome {
+ top: 85px;
+ left: .5em;
+}
+.ol-touch .mission-control-safehome {
+ top: 100px;
+}
+.mission-control-template {
+ top: 85px;
+ left: .5em;
+}
+.ol-touch .mission-control-template {
+ top: 100px;
+}
+
+.tab-mission-control .safehomesTable {
+ width: 100%;
+ text-align: center;
+ font-size: 8px;
+}
+
+.tab-mission-control .safehomesTable input[type="text"] {
+ font-size: 8px;
+ width: 100%;
+}
+
+.tab-mission-control .safehomesTable input[type="number"] {
+ font-size: 8px;
+ width: 100%;
+ -moz-appearance: textfield;
+}
+
+/* Chrome, Safari, Edge, Opera */
+.tab-mission-control .safehomesTable input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+
+.tab-mission-control .safehomesTable thead {
+ display: table-header-group !important;
+}
+
+.tab-mission-control .safehomesTable thead tr {
+ border-left: 1px solid #e4e4e4;
+ border-right: 1px solid #e4e4e4;
+ background-color: #828885;
+ color: #FFF;
+}
+.tab-mission-control .safehomesTable td,
+.tab-mission-control .safehomesTable th {
+ padding: 2px;
+ /* height: 2.5em; */
+}
+
+.tab-mission-control .safehomesTable tr:nth-child(even) td,
+.tab-mission-control .safehomesTable tr:nth-child(even) th {
+ background-color: #ebe7e7;
+}
+
+.tab-mission-control .waypointOptionsTable {
+ width: 100%;
+ text-align: center;
+ font-size: 8px;
+}
+
+.tab-mission-control .waypointOptionsTable input[type="text"] {
+ font-size: 8px;
+ width: 100%;
+}
+
+.tab-mission-control .waypointOptionsTable input[type="select"] {
+ font-size: 12px;
+ width: 100%;
+}
+
+.tab-mission-control .waypointOptionsTable input[type="number"] {
+ font-size: 8px;
+ width: 100%;
+ -moz-appearance: textfield;
+}
+
+/* Chrome, Safari, Edge, Opera */
+.tab-mission-control .waypointOptionsTable input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
+ -webkit-appearance: none;
+ margin: 0;
+}
+
+.tab-mission-control .waypointOptionsTable thead {
+ display: table-header-group !important;
+}
+
+.tab-mission-control .waypointOptionsTable thead tr {
+ border-left: 1px solid #e4e4e4;
+ border-right: 1px solid #e4e4e4;
+ background-color: #828885;
+ color: #FFF;
+}
+.tab-mission-control .waypointOptionsTable td,
+.tab-mission-control .waypointOptionsTable th {
+ padding: 2px;
+ /* height: 2.5em; */
+}
+
+.tab-mission-control .waypointOptionsTable tr:nth-child(even) td,
+.tab-mission-control .waypointOptionsTable tr:nth-child(even) th {
+ background-color: #ebe7e7;
+}
+
+
+.tab-mission-control .btnMenu a {
+ /* common styles for content toolbar buttons */
+ /*margin-top: 0;*/
+ /*margin-bottom: 0;*/
+ /*margin-right: 20px;*/
+ background-color: #37a8db;
+ border-radius: 3px;
+ border: 1px solid #3394b5;
+ color: #fff;
+ /*float: right;*/
+ display: block;
+ cursor: pointer;
+ transition: all ease 0.2s;
+ padding: 0px;
+ margin: 5px;
+ float: right;
+ height: 14px;
+ line-height: 14px;
+ width: 14px;
+}
+
+.tab-mission-control .btnMenu a:hover {
+ background-color: #3394b5;
+ transition: all ease 0.2s;
+}
+
+.tab-mission-control .btnMenuIcon {
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 14px;
+}
+
+.tab-mission-control .btnMenu-danger a {
+ background-color: #db250e;
+ border: 1px solid #b5480e;
+
+}
+
+.tab-mission-control .btnMenu-danger a:hover {
+ background-color: #b5480e;
+}
+
+.tab-mission-control .btnTable a {
+ /* common styles for content toolbar buttons */
+ /*margin-top: 0;*/
+ /*margin-bottom: 0;*/
+ /*margin-right: 20px;*/
+ background-color: #37a8db;
+ border-radius: 3px;
+ border: 1px solid #3394b5;
+ color: #fff;
+ /*float: right;*/
+ display: block;
+ cursor: pointer;
+ transition: all ease 0.2s;
+ padding: 0px;
+ margin: 2px;
+ float: left;
+ height: 11px;
+ line-height: 11px;
+ width: 11px;
+}
+
+.tab-mission-control .btnTable a:hover {
+ background-color: #3394b5;
+ transition: all ease 0.2s;
+}
+
+.tab-mission-control .btnTableIcon {
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: 11px;
+}
+
+.tab-mission-control .btnTable-danger a {
+ background-color: #db250e;
+ border: 1px solid #b5480e;
+
+}
+
+.tab-mission-control .btnTable-danger a:hover {
+ background-color: #b5480e;
+}
+
+.tab-mission-control .btnTable-success a {
+ background-color: #28a745;
+ border: 1px solid #218838;
+
+}
+
+.tab-mission-control .btnTable-success a:hover {
+ background-color: #218838;
+}
\ No newline at end of file
diff --git a/tabs/advanced_tuning.html b/tabs/advanced_tuning.html
index 0e84ec0d..2dca16a9 100644
--- a/tabs/advanced_tuning.html
+++ b/tabs/advanced_tuning.html
@@ -236,6 +236,11 @@
+