diff --git a/docs/MLB-Evo/assistants.md b/docs/MLB-Evo/assistants.md index 6fcb97aee..85b8913ef 100644 --- a/docs/MLB-Evo/assistants.md +++ b/docs/MLB-Evo/assistants.md @@ -1,14 +1,14 @@ # Активация ассистентов -### Активация Line Assist +### Активация Lane Assist !!! warning "" Для активации данного ассистента не нужна параметрия ``` yaml Блок A5 (камера ассистентов) → Кодирование: -> ALDW_lane_assist - установлено +> ALDW_lane_assist: установлено → Применить ``` @@ -26,7 +26,7 @@ → Применить ``` -HCA - Указание блоку рулевого управления о наличии Line Assist +HCA - Указание блоку рулевого управления о наличии Lane Assist ``` yaml Блок 44 (усилитель рулевого) → Кодирование: Ассистент движения по полосе, связ. с усилителем рул. управления @@ -43,7 +43,7 @@ HCA - Указание блоку рулевого управления о на > логин-пароль 20103 -Включаем отображение Line Assist на приборной панели +Включаем отображение Lane Assist на приборной панели ``` yaml Блок 17 (комбинация приборов/ActiveInfoDisplay) → Кодирование: > Lane_assist: yes @@ -127,4 +127,71 @@ Corresponding value adjust default: 00100111 > Road sign detection: not available → available (отображение дорожных знаков) > Lane Departure Warning: not available → available (отображение Lane Assist) → Применить +``` + +### Активация Lane Assist на Audi Q7 4M + +!!! warning + Полностью отключить Lane Assist на автомобилях, где он не активирован с завода, невозможно. + Это обусловлено отсутствием механической кнопки на торце левого подрулевого переключателя: + +``` yaml +Блок A5 (камера ассистентов) → Кодирование: +- HC: Coded +- HC_mob_line: Coded +→ Применить +``` + +``` yaml +Блок A5 (камера ассистентов) → Адаптация: +- Personalization of lane dept. warning Cl. 15 on: Off +→ Применить +``` + +``` yaml +Блок 09 → Кодирование: +- heading_control_config: heading_control +→ Применить +``` + +``` yaml +Блок 44 → Кодирование: +- Heading Control Assistant: Active +→ Применить +``` + +``` yaml +Блок 5F → Адаптация: +Car_Function_List_BAP_Gen2: +- LDW_HCA_0x19: activated +- LDW_HCA_0x19_msg_bus: Terminal 15 + +Car_Function_Adaptations_Gen2: +- menu_display_Lane_Departure_Warning: activated +- menu_display_Lane_Departure_Warning_over_threshold_high: activated +→ Применить +``` + +``` yaml +Блок 17 → Кодирование: +- Lane Assist: yes +→ Применить +``` + +``` yaml +Блок CB (при наличии) → Кодирование: +- HCA: Active +→ Применить +``` + +``` yaml +Блок 82 (при наличии) → Кодирование: +- Lane Departure Warning: Available +→ Применить +``` + +``` yaml +Блок 3C (при наличии) → Кодирование: +- Lane_Departure_Warning_System: with_Lane_Departure_Warning_System +→ Применить ``` \ No newline at end of file diff --git a/docs/MLB-Evo/comfort.md b/docs/MLB-Evo/comfort.md index c9fa5f83b..2b9f5f163 100644 --- a/docs/MLB-Evo/comfort.md +++ b/docs/MLB-Evo/comfort.md @@ -1,6 +1,13 @@ # Системы комфорта +### Отключение омывателя фар + +``` yaml +Блок 09 → Кодирование: +- head_lamp_wash: not_installed +``` + ### Комфортное складывание зеркал ``` yaml diff --git a/docs/MLB-Evo/lights.md b/docs/MLB-Evo/lights.md index b89ddf875..e7651c5a5 100644 --- a/docs/MLB-Evo/lights.md +++ b/docs/MLB-Evo/lights.md @@ -72,8 +72,15 @@ Блок 9 → Кодирование: > drl_break: Активировать → Применить -``` +``` +> логин-пароль 31347 + +### Увеличение яркости ДХО +``` yaml +Блок 9 → Кодирование: +- sl_at_drl: active +``` > логин-пароль 31347 ### Анимация задних фонарей diff --git a/docs/MQB/2Q0_assistants.md b/docs/MQB/2Q0_assistants.md index 5f428e342..7eaf6319f 100644 --- a/docs/MQB/2Q0_assistants.md +++ b/docs/MQB/2Q0_assistants.md @@ -39,7 +39,7 @@ Sign Assist — Ассистент распознавания дорожных ### Активация помощника удержания в полосе (Lane Assist) -Включаем отображение Line Assist на приборной панели +Включаем отображение Lane Assist на приборной панели ``` yaml Блок 17 (комбинация приборов/ActiveInfoDisplay) → Кодирование: > Lane_assist: yes @@ -48,7 +48,7 @@ Sign Assist — Ассистент распознавания дорожных (Байт 11 – Бит 1 (Lane_assist_BAP: no → yes)): Активировать) ``` -HCA - Указание блоку рулевого управления о наличии Line Assist +HCA - Указание блоку рулевого управления о наличии Lane Assist ``` yaml Блок 44 (усилитель рулевого) → Кодирование: > Heading_control_assist: Spurhalteassistent auf "aktiv" @@ -69,7 +69,7 @@ HCA - Указание блоку рулевого управления о на → Применить ``` -Указание блоку парковочного ассистента о наличии Line Assist (У кого PLA3.0 12 Датчиков) +Указание блоку парковочного ассистента о наличии Lane Assist (У кого PLA3.0 12 Датчиков) !!! note "" PLA3.0 может стоять в системе как 10 блок, а не 76 diff --git a/docs/MQB/assistants.md b/docs/MQB/assistants.md index 172979e42..851eb8b5c 100644 --- a/docs/MQB/assistants.md +++ b/docs/MQB/assistants.md @@ -40,12 +40,12 @@ Sign Assist — Ассистент распознавания дорожных ``` > логин-пароль 20103 -### Активация Line Assist без адаптивного ведения по полосе +### Активация Lane Assist без адаптивного ведения по полосе !!! warning - Для активации Line Assist обновление параметрии для установленной камеры ассистентов не требуется + Для активации Lane Assist обновление параметрии для установленной камеры ассистентов не требуется -Включаем отображение Line Assist на приборной панели +Включаем отображение Lane Assist на приборной панели ``` yaml Блок 17 (комбинация приборов/ActiveInfoDisplay) → Кодирование: > Lane_assist: yes @@ -72,7 +72,7 @@ Sign Assist — Ассистент распознавания дорожных ``` > логин-пароль 20103 -HCA - Указание блоку рулевого управления о наличии Line Assist +HCA - Указание блоку рулевого управления о наличии Lane Assist ``` yaml Блок 44 (усилитель рулевого) → Кодирование: > Heading_control_assist: Активировать @@ -92,7 +92,7 @@ HCA - Указание блоку рулевого управления о на → Применить ``` -Указание блоку парковочного ассистента о наличии Line Assist (У кого PLA3.0 12 Датчиков) +Указание блоку парковочного ассистента о наличии Lane Assist (У кого PLA3.0 12 Датчиков) !!! note "" В Tiguan 2G 2020 года выпуска PLA3.0 может стоять в системе как 10 блок, а не 76 @@ -105,7 +105,7 @@ HCA - Указание блоку рулевого управления о на → Применить ``` -### Активация полного комплекта: адаптивный Line Assist, Traffic Jam Assist, Sign Assist +### Активация полного комплекта: адаптивный Lane Assist, Traffic Jam Assist, Sign Assist Lane Assist с адаптивным ведением по полосе — исключает "пин-понг" от полосы к полосе. Опция отличная, позволяет расслабиться за рулем и не вылавливать центр полосы, по трассе просто незаменима. @@ -160,7 +160,7 @@ Lane Assist с адаптивным ведением по полосе — ис > логин-пароль 31347 -Включаем отображение Line Assist и дорожных знаков на приборной панели +Включаем отображение Lane Assist и дорожных знаков на приборной панели === "Кодирование в ODIS" ``` yaml @@ -198,7 +198,7 @@ Lane Assist с адаптивным ведением по полосе — ис > Передние датчики вспомогательных систем для водителя: Не закодир.→ Закодирован ``` -HCA - Указание блоку рулевого управления о наличии Line Assist +HCA - Указание блоку рулевого управления о наличии Lane Assist === "Кодирование в ODIS" ``` yaml @@ -251,7 +251,7 @@ HCA - Указание блоку рулевого управления о на → Применить ``` -Указание блоку парковочного ассистента о наличии Line Assist (У кого PLA 12 Датчиков) +Указание блоку парковочного ассистента о наличии Lane Assist (У кого PLA 12 Датчиков) !!! note "Полезная информация" В Tiguan 2G 2020 года выпуска PLA3.0 может стоять в системе как 10 блок, а не 76 diff --git a/docs/history.md b/docs/history.md index 3bfd3d05e..f4df77f5c 100644 --- a/docs/history.md +++ b/docs/history.md @@ -4,8 +4,12 @@ giscus: "" --- # История изменений +### 16.06.2022 +1. В длинном кодировании добавлена возможность вставлять значения с пробелами +2. Lane assist для Audi Q7 + ### 22.04.2022 -1. Новые кодировки: сброс давления в салоне, стоп-сигналы при открытии задних дверей +4. Новые кодировки: сброс давления в салоне, стоп-сигналы при открытии задних дверей ### 32.03.2022 1. Добавлены параметрии для камеры ассистентов с 60с предупреждением diff --git a/docs/images/longCoding.js b/docs/images/longCoding.js new file mode 100644 index 000000000..ef00490db --- /dev/null +++ b/docs/images/longCoding.js @@ -0,0 +1,505 @@ +var curSelectedByte = -1; +var defaultByteSize = 30; +var labelsFromFile; + +function init() { + //Read variables and put them to fields + const urlParams = new URLSearchParams(window.location.search); + + //Load bytes and bits + createByteDescription(defaultByteSize); + createBitDescription(); + + //Read parameters + const codeParam = urlParams.get('code'); + const labelParam = urlParams.get('label'); + if (labelParam != null) { + document.getElementById("langBits").value = labelParam; + } + if (codeParam != null) { + document.getElementById("origCode").value = codeParam; + checkOrig(); + } +} + +function activateFields() { + document.getElementById("loading").style.display = "none"; + document.getElementById("bitDescription").style.display = "block"; +} + +function checkOrig() { + var filter = /^[A-F0-9]+$/ + var orig = document.getElementById("origCode").value; + orig = orig.toUpperCase(); + orig = cleanHexValue(orig); + document.getElementById("origCode").value = orig; + + //Hide bits after load new set of bytes + document.getElementById("bitDescription").style.display = "none"; + + if (orig.length % 2 == 0) { + if (orig.match(filter)) { + //Show loader + document.getElementById("loading").style.display = "inline-block"; + //Add bytes to table + fillBytes(); + //Load from label file + if (document.getElementById("langBits").value != "none"){ + fetch('../labels/' + document.getElementById("langBits").value + '_labels.txt') + .then(response => response.text()) + .then(text => labelsFromFile = text.split("\n")) + .then(() => selByte(0)); + } else { + selByte(curSelectedByte); + } + return true; + } else { + alert("Кодировка содержит неверные символы. Поддерживаются только только латинские буквы A-F и цифры 0-9. Coding has wrong symbols. Latin characters A-F and digits 0-9 are allowed. "); + clearFields(); + } + } else { + alert("Неверное значение. Кодировка должна содержать четное количество символов. Incorrect value. Coding should have odd number of symbols."); + clearFields(); + } + return false; +} + +function trim(str) { + return str.replace(/^\s*|\s*$/g, ""); +} + +function initArray() { + this.length = initArray.arguments.length; + for (var i = 0; i < this.length; i++) { + this[i] = initArray.arguments[i]; + } +} + +function hexToBin(value){ + var bitValueBin; + + dezVal = parseInt(value, 16); + bitValueBin = from10toradix(dezVal, 2); + + return addLeadingZeros(bitValueBin); +} + +function from10toradix(value, radix) { + var retval = ''; + var ConvArray = new initArray(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'); + var intnum; + var tmpnum; + var i = 0; + + intnum = parseInt(value, 10); + if (isNaN(intnum)) { + retval = 'NaN'; + } else { + while (intnum > 0.9) { + i++; + tmpnum = intnum; + + // concat ret string with new digit + retval = ConvArray[tmpnum % radix] + retval; + intnum = Math.floor(tmpnum / radix); + if (i > 100) { + // break infinite loops + retval = 'NaN'; + break; + } + } + } + return retval; +} + +function calculateByteIdFromNumber(num) { + var byteId = num; + if (num < 10) { + byteId = "0" + num; + } + return byteId; +} + +function fillBytes() { + var orig = document.getElementById("origCode").value; + var newNum = orig.toString().match(/.{1,2}/g) + + //Set new length + if (newNum.length > defaultByteSize) { + defaultByteSize = newNum.length; + //Recreate byte table with new size + createByteDescription(defaultByteSize); + } + + //Fill bytes to table + for (var i = 0; i < newNum.length; i++) { + document.getElementById("byte" + calculateByteIdFromNumber(i)).value = newNum[i]; + } + + //Fill calculated field + document.getElementById("calcCode").value = orig; + + //Select 0 byte by default + curSelectedByte = 0; +} + +function addLeadingZeros(binVal) { + var anz; + var retString = binVal; + + anz = 8 - binVal.length; + for (var i = 0; i < anz; i++) { + retString = "0" + retString; + } + return retString; +} + +function fillDezAndBits(bin) { + for (var i = 0; i < 8; i++) { + document.getElementById("bit" + i).value = bin.substr(7 - i, 1); + } +} + +function comparingOfBits(bin1, bin2) { + //return if values are equal + if (bin1 == bin2) { + return true; + } + + //Convert values to arrays and check by digits + let bin1a = bin1.split('').map(Number); + let bin2a = bin2.split('').map(Number); + + let equal = false; + for (var i = 0; i < bin2a.length; i++) { + if (bin2a[i] == 1){ + if (bin2a[i] == bin1a[i]) { + equal = true; + } else { + return false; + } + } + } + + return equal; +} + +function calculateBitValue(binOld, binNew) { + //return if values are equal + if (binNew == binOld) { + return binNew; + } + + let binNewAr = binNew.split('').map(Number); + let binOldAr = binOld.split('').map(Number); + + for (var i = 0; i < binNewAr.length; i++) { + if (binNewAr[i] != binOldAr[i]) { + if (binNewAr[i] == 0) + document.getElementById("setModifiedBits" + (7 - i)).checked = false; + else + document.getElementById("setModifiedBits" + (7 - i)).checked = true; + chgBit(7 - i); + } + } +} + +function fillBitCheckBoxes(bin, reduced) { + for (var i = 0; i < 8; i++) { + if (bin.substr(i, 1) == 0) + document.getElementById("setModifiedBits" + (7 - i)).checked = false; + else + document.getElementById("setModifiedBits" + (7 - i)).checked = true; + } + + //fill values + if (reduced != null) { + reduced.forEach(function(label) { + if (!isNaN(label.bit)) { + document.getElementById("setModifiedBitsLabel" + label.bit).innerHTML = " " + label.description; + } else { + //Create select box + var selectElement = document.createElement("select"); + selectElement.id = "select" + label.bit; + var variants = label.variants.split(';'); + for (var i = 0; i < variants.length; i++) + { + var variant = variants[i].split('-'); + var currentOption = comparingOfBits(bin, hexToBin(trim(variant[0]))); + var option = new Option (trim(variants[i]), trim(variant[0]), currentOption, currentOption); + selectElement.options[selectElement.options.length] = option; + } + document.getElementById("bitVariants").innerHTML = document.getElementById("bitVariants").innerHTML + label.description + " (bits " + label.bit + "): "; + document.getElementById("bitVariants").appendChild (selectElement); + document.getElementById("bitVariants").innerHTML = document.getElementById("bitVariants").innerHTML + "

"; + + let previous; + document.addEventListener('click', (event) => { + if (event.target && event.target.id == "select" + label.bit) { + previous = event.target.value; + } + }); + document.addEventListener('change', (event) => { + if (event.target && event.target.id == "select" + label.bit && previous != event.target.value) { + calculateBitValue(hexToBin(previous), hexToBin(event.target.value)); + } + }); + } + }); + } + activateFields(); +} + +function setByte(ctrl, byteName) { + //Check value + var regexp = /^[0-9a-fA-F]+$/; + if(regexp.test(ctrl.value)) { + } else { + alert(ctrl.value + ' - неверный формат введенного значения! Incorrect value!'); + ctrl.value = '00'; + } + resetCalcCode(); + selByte(byteName); +} + +function selByte(noByte) { + + document.getElementById("Byte").innerHTML = "(Byte " + noByte + ")"; + + var bitValueHex = ""; + var fullBitString = ""; + var startPos = noByte * 2; + + curSelectedByte = noByte; + + bitValueHex = document.getElementById("calcCode").value.substr(startPos, 2); + + if (bitValueHex == "") { + //Clean bits and buttons + clearBits(); + for (var i = 0; i < 8; i++) { + document.getElementById("bit" + i).value = "0"; + } + return false; + } + + // hex2bin conversion + fullBitString = hexToBin(bitValueHex); + + //Find labels + if (labelsFromFile != null) { + var reduced = labelsFromFile.reduce(function(filtered, option) { + let opt = option.split(','); + if (opt[0] == noByte) { + var labelValue = { byte: opt[0], bit: opt[1], description: opt[2], variants: opt[3] } + filtered.push(labelValue); + } + return filtered; + }, []); + } + + //Reset all labels in checkboxes + document.getElementById("bitVariants").innerHTML = ""; + for (var i = 0; i < 8; i++) { + document.getElementById("setModifiedBitsLabel" + i).innerHTML = " Bit " + i; + } + + //Set new values + fillDezAndBits(fullBitString); + fillBitCheckBoxes(fullBitString, reduced); + + toggleSelectedByteColor(noByte); +} + +function chgBit(no) { + if (document.getElementById("setModifiedBits" + no).checked){ + document.getElementById("bit" + no).value = "1"; + } else { + document.getElementById("bit" + no).value = "0"; + } + + setBits(); +} + +function resetCalcCode() { + var tmpVal = ""; + for (var i = 0; i < defaultByteSize; i++) { + tmpVal += document.getElementById("byte" + calculateByteIdFromNumber(i)).value; + } + document.getElementById("calcCode").value = trim(tmpVal); +} + +function resetByteHex(hexVal) { + document.getElementById("byte" + calculateByteIdFromNumber(curSelectedByte)).value = hexVal; + resetCalcCode(); +} + + +function setBits() { + var tmpBitStr = ""; + for (var i = 7; i >= 0; i--) { + tmpBitStr += document.getElementById("bit" + i).value; + } + + var tmpVal; + var hexValue; + + if (tmpBitStr == "") { + return false; + } else { + tmpVal = parseInt(tmpBitStr, 2); + hexValue = from10toradix(tmpVal, 16) + + if (hexValue.length == 1) { + hexValue = "0" + hexValue; + } else if (hexValue.length < 1) { + hexValue = "00"; + } + + resetByteHex(hexValue); + selByte(curSelectedByte); + return true; + } +} + +function clearBits() { + //Clear bits fields + for (var i = 0; i < 8; i++) { + document.getElementById("bit" + i).value = ""; + } + + //Clear checkboxes + for (var i = 0; i < 8; i++) { + document.getElementById("setModifiedBits" + i).checked = false; + } + + //Reset all labels in checkboxes + for (var i = 0; i < 8; i++) { + document.getElementById("setModifiedBitsLabel" + i).innerHTML = " Bit " + i; + } + document.getElementById("bitVariants").innerHTML = ""; +} + +function clearFields() { + + curSelectedByte = -1; + document.getElementById("Byte").innerHTML = ""; + + //Clear bytes fields + for (var i = 0; i < defaultByteSize; i++) { + document.getElementById("byte" + calculateByteIdFromNumber(i)).value = ""; + } + + clearBits(); + document.getElementById("calcCode").value = ""; + defaultByteSize = 30; +} + +function clearAll() { + labelsFromFile = null; + clearFields(); + document.getElementById("origCode").value = ""; + document.getElementById("bitDescription").style.display = "none"; + document.getElementById("langBits").value = "none"; +} + +function clearLabels() { + labelsFromFile = null; +} + +function toggleSelectedByteColor(noByte) { + for (i = 0; i < defaultByteSize; i++) { + if (i != noByte) { + document.getElementById('byte' + calculateByteIdFromNumber(i)).className = 'byteNotSelected'; + } else { + document.getElementById('byte' + calculateByteIdFromNumber(i)).className = 'byteSelected'; + } + } +} + +function selectAll(ctrl) { + ctrl.focus(); + ctrl.select(); +} + +function isBinary(event) { + var charCode = (event.which) ? event.which : event.keyCode + //0 = 48, 1 = 49 + if (charCode == 48 || charCode == 49 || charCode == 13) { + if (charCode == 13) + setBits(); + return true; + } else + return false; +} + +function createByteDescription(countOfBytes) { + var bytesPerLine = 30; + var html = ""; + html += ""; + html += "" + html += ""; + + //Lines can be several + for (var line = 0; line < Math.ceil(countOfBytes/bytesPerLine); line++){ + html += ""; + for (var i = 0; i < bytesPerLine; i++) { + var current = bytesPerLine * line + i; + html += ""; + } + html += ""; + for (var i = 0; i < bytesPerLine; i++) { + var current = bytesPerLine * line + i; + var byteName = calculateByteIdFromNumber(current); + html += ""; + } + html += ""; + } + + html += "
Байты / Bytes
" + calculateByteIdFromNumber(current) + "
"; + html += "
"; + document.getElementById("bytesDescription").innerHTML = html; +} + +function createBitDescription() { + var html = ""; + html += ""; + html += " "; + html += ""; + html += ""; + html += " "; + html += ""; + html += ""; + html += "
"; + html += " Bits
"; + html += "
"; + html += " "; + html += " "; + + for (var i = 7; i >= 0; i--) { + html += ""; + } + + html += " "; + html += " "; + + for (var i = 7; i >= 0; i--) { + html += ""; + } + + html += "
" + i + "
"; + + for (var i = 0; i < 8; i++) { + html += ""; + html += "
"; + } + + html += "
"; + + document.getElementById("bitDescription").innerHTML = html; +} \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 29db3ec76..b697d5fc4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,9 +14,7 @@ giscus: "" !!! give-money inline end "Помощь проекту" Если вам понравился этот проект и вы хотели бы его поддержать для дальнейшего развития, то вы можете это сделать с помощью Яндекс-перевода - - или карты Сбербанка - (4276 7200 1356 7419) + !!! danger "Внимание!" Копирование информации с сайта допускается только с указанием ссылки на данный ресурс diff --git a/docs/utils/data.md b/docs/utils/data.md deleted file mode 100644 index 7428c2d6d..000000000 --- a/docs/utils/data.md +++ /dev/null @@ -1,12 +0,0 @@ - -??? note "Экспериментальная функция по упрощению зашифрованной параметрии" - 1 - Расшифровываем base64 объекта. Расшифрованное значение имеет набор параметров в виде структур - 2 - У значения поля в каждой структуре отсекаем первые 8 байт (версия) и последние 8 байт (CRC-32 хэш) - 3 - Полученное значение переворачиваем в формат little-endian - 4 - Сохраняем его в соответствующее и калькулируем CRC-16 хэш - -??? note "Experimental function of dataset simplification" - 1 - Decode base64 value of object. Value has structure of - 2 - Cut first 8 bytes (version) and last 8 bytes (CRC-32 sum) of value of field - 3 - Convert result value in little-endian format - 4 - Save it in the corresponding object and calculate CRC-16 hash \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 58042db3a..83217f02c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,11 +1,11 @@ # Project information site_name: Кодирование автомобилей VAG site_description: Основные кодировки и адаптации платформ концерна VAG. Прошивки и параметрии. SWaP коды -site_author: Kanaduchi +site_author: VWCODING site_url: http://www.vwcoding.ru # Hot news -hot_news_date: 22.04.2022 +hot_news_date: 16.06.2022 hot_news_title: Все ваши предложения и новые идеи можно присылать на info@vwcoding.ru hot_news_title_en: Fill free to send all your ideas and updates to info@vwcoding.ru hot_news: > @@ -34,7 +34,7 @@ theme: palette: # Light mode - media: "(prefers-color-scheme: light)" - scheme: default + scheme: slate primary: indigo accent: indigo toggle: @@ -42,7 +42,7 @@ theme: name: Тёмная сторона # Dark mode - media: "(prefers-color-scheme: dark)" - scheme: slate + scheme: default primary: indigo accent: indigo toggle: @@ -108,7 +108,8 @@ plugins: XOR калькулятор: XOR calculator Редактор параметрий: Dataset editor Инструменты и адаптеры: Instruments and adapters - Список инструментов: Adapters + Генератор параметрии шин: Tyres parameters generator + Список программ и адаптеров: Software and adapters Инструкция ODIS E: ODIS E instruction Обратная связь: Feedback История изменений: History of changes diff --git a/overrides/pages/longCoding.en.html b/overrides/pages/longCoding.en.html index 6727d2485..2fe60dcef 100644 --- a/overrides/pages/longCoding.en.html +++ b/overrides/pages/longCoding.en.html @@ -90,513 +90,6 @@ width: 100%; } -
@@ -638,5 +131,7 @@
+ +
\ No newline at end of file diff --git a/overrides/pages/longCoding.html b/overrides/pages/longCoding.html index 6e6a09bdc..888e278b2 100644 --- a/overrides/pages/longCoding.html +++ b/overrides/pages/longCoding.html @@ -90,513 +90,6 @@ width: 100%; } -
@@ -638,5 +131,7 @@
+ +
\ No newline at end of file diff --git a/requirements.txt b/requirements.txt index ff69f86f8..980e92861 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -mkdocs-material==8.2.9 -mkdocs-print-site-plugin==2.3.2 -mkdocs-static-i18n==0.44 \ No newline at end of file +mkdocs-material==8.3.6 +mkdocs-print-site-plugin==2.3.4 +mkdocs-static-i18n==0.45 \ No newline at end of file