Grauncontrol. Mavlink. Телеметрия. Авиагоризонт.
|
|
uwrtey | Дата: Вторник, 22.02.2022, 23:09 | Сообщение # 61 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Пропадала шкала по PITCH внутри маски, внутри СБОРКИ под WIN-32 без маски все работало норм внутри ЮНИТИ тоже работало норм сменил собрку на WIN-64 ( все таки у меня 64 разряда ) и все стало норм
не успеваю за своими мыслями......
|
|
| |
|
uwrtey | Дата: Среда, 02.03.2022, 13:29 | Сообщение # 63 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| многопоточность
потоки C#
https://habr.com/ru/post/126495/
https://www.rsdn.org/article/dotnet/CSThreading1.xml
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 03.03.2022, 22:27 | Сообщение # 64 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Real Time Serial Port
https://medium.com/@c82475....47e5d36
скрипт для упрощения использования последовательного порта в Unity
https://github.com/prossel/UnitySerialPort
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Понедельник, 07.03.2022, 21:22 | Сообщение # 65 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| первая версия кода. тут и сделал чтение по одному байту
Код // Read serial data until a '\n' character is recieved // Читайте последовательные данные, пока не будет получен символ '\ n' ?????????? - так было написано // Читайте последовательные данные, пока не будут получены CR+LF ( \r + \n ) ( 0D+0A ) - на самом деле так
//string rData = SerialPort.ReadLine(); // тут он читает строку ( с окончанием 0D+0A ) - в оригинале так //string rData = SerialPort.ReadExisting(); // тут он читает "текст" и НЕ_ЖДЁТ CR+LF ( 0D+0A )
int readSP = SerialPort.ReadByte(); // тут мы считываем каждый байт - это я организовал //Debug.Log(readSP); // выводим принятый байт в логи
вторая версия кода. Но я не стал ничего переделывать. оставил чтение по 1 байту.
Код // Убедитесь, что порт открыт. Если не пропустить и ничего не делать if (SerialPort.IsOpen) { // Чтение серийных данных до... string rData = string.Empty;
// переключаться между ReadLine или ReadTo switch (ReadDataMethod) { case ReadMethod.ReadLine: rData = SerialPort.ReadLine(); // читать до CR+LF ( \r + \n ) ( 0D+0A ) break; case ReadMethod.ReadToChar: rData = SerialPort.ReadTo(Delimiter); // читать до (разделителя) - в скобках указать что будет являться разделителем break; }
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 08.03.2022, 04:41 | Сообщение # 66 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Победил задержку обработки данных применив новый скрипт от dyadica // в феврале 2022г автор добавил многопоточность (threading)
https://github.com/dyadica https://dyadica.github.io/blog/unity3d-serialport-script/ ,,, https://dyadica.github.io/blog/adding-events-to-the-serialport-script/ https://dyadica.github.io/blog/unity3d-serialport-script/ https://dyadica.github.io/blog/updating-the-unity_serialport-script/
юзает UNITY 2021.2.12f1 Personal* <DX11> https://unity3d.com/unity/whats-new/2021.2.12
Теперь задержка минимальная - меня в принципе устраивает В коде удалил очистку буфера В драйвере USB-TTL не делал ни каких настроек - по умолчанию все оставил Код оставил как есть - чтение по 1 байту - не пришлось переделывать на чтение строки.
ПС: правда в самой юнити теперь почему то не крутится компас, хотя из под винды все работает возможно вопрос можно решить с помощью функции "Thread.Sleep(100);" уменьшив или увеличив значение Еще под большим вопросом как программа будет работать на слабом железе
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 11.03.2022, 15:09 | Сообщение # 67 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| ошибки:
1) get_transform можно вызвать только из основного потока. - перенес в скрипт Horiz
get_isActiveAndEnabled можно вызвать только из основного потока. - нужно все визуальное перетащить в скрипт Horiz
https://stackoverflow.com/questio....-thread 2) Несовместимые завершения строк Завершения строк в следующем файле не являются единообразными. Нормализовать завершение строк? https://ru.stackoverflow.com/questio....E%D0%BA
Цитата
Строки в текстовом файле нужно как то разделять. И для этого в мире придумали три основных способа:
LF (ASCII 0x0A) используется в Multics, UNIX, UNIX-подобных операционных системах (GNU/Linux, AIX, Xenix, Mac OS X, FreeBSD и др.), BeOS, Amiga UNIX, RISC OS и других; CR (ASCII 0x0D) используется в 8-битовых машинах Commodore, машинах TRS-80, Apple II, системах Mac OS до версии 9 и OS-9; CR+LF (ASCII 0x0D 0x0A) используется в DEC RT-11 и большинстве других ранних не-UNIX- и не-IBM-систем, а также в CP/M, MP/M (англ.), MS-DOS, OS/2, Microsoft Windows, Symbian OS, протоколах Интернет.
И разные редакторы по разному относятся к разным переводам строк. К примеру, виндовый notepad не понимает LF переводы и показывает весь текст в одну строку.
Но бывает ситуация и хуже - смесь различных переводов строк в одном файле. В этом случае бывают "чудеса". К примеру, старые компиляторы делфи не корректно считали номер строки в этом случае и иногда могли показывать строку с ошибкой в другом месте (выше, чем она есть на самом деле), но при этом редактор показывал текст корректно.
Редактор студии знает о этой проблеме и заведомо предупреждает. Если Вы работаете только в винде и только студийным компилятором, то следует использовать CR+LF. Он естественен для винды.
Почему же так происходит, что в файле оказываются смешанные переводы строк?
Самый простой способ - используется сторонний редактор, в котором неверно выставлены перевод строк. И достаточно добавить таким редактором строку-другую, как проблема появиться.
Другой способ получит такую проблему - неверно настроенный git. Дело в том, что git, являясь изначально утилитой с мира Linux, использует LF для перевода строк. Но когда его портировали в видновс, с этим возникли проблемы. Поэтому сделали хак - гит умеет автоматически переконвертировать - то есть, в репозитории хранится с LF, а при checkout конвертирует в нужные. Хорошая статья на эту тему.
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Понедельник, 14.03.2022, 00:00 | Сообщение # 68 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Кнопки перезапуск сцены https://www.youtube.com/watch?v=sfZjahgStxY
Код
// библиотека
using UnityEngine.SceneManagement;
// компанда перезапуска сцены
SceneManager.LoadScene(SceneManager.GetSceneAt(0).name);
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Вторник, 15.03.2022, 01:51 | Сообщение # 69 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| горячие клавиши на клавиатуре
https://docs.unity3d.com/ru/530/ScriptReference/KeyCode.html
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 17.03.2022, 00:55 | Сообщение # 70 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Unity
как прятать / скрывать игровые объекты
Код GameObject.SetActive(false); //дизаблит всё вместе с дочерними объектами. Если в скобках true- энаблит соответственно //GameObject.SetActive("тут указываем имя переменной типа "bool");
http://unity3d.ru/distribution/viewtopic.php?f=105&t=14501
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 17.03.2022, 01:18 | Сообщение # 71 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| железо
CHUWI LarkBox 4K, GK3V, CHUWI Herobox, XCY MINI PC, Chatreey AN1, XCY X41, Chatreey G1, GPD P2 Max, Intel Compute Stick ( STCK1A8LFC и STCK1A32WFC ) - Intel Atom Z3735F (2M Cache, up to 1,83 GHz) Intel Compute Stick ( STK1A32SC и STK1AW32SC ) - Intel Atom x5-Z8330 (2M Cache, up to 1,92 GHz) Intel Compute Stick ( STK2m364CC и STK2m3W64CC ) - Intel Core m3-6Y30 (4M Cache, up to 2,20 GHz) Intel Compute Stick ( STK2mv64CC ) - Intel Core m5-6Y57 Processor (4M Cache, up to 2,80 GHz) Lenovo Ideacentre Stick 300 - Intel Atom Z3735F - ОЗУ- 2GB DDR3 - SSD- Kingston 32GB+SD карта 32GB - Intel HD Graphics (1 ГБ видеопамяти) Intel W5 PRO Mini PC 8Gb RAM
планшет
Onda v919 air dualOS ( Intel Atom Z3735F ) Acer icona tab W500 dexp Ursus KX110 Dell Venue 8 Pro 5530 ( 8 дюймов ) ACER Iconia W700GB Lenovo miix 3 1030
софтина
Windows 10 LTSC Windows 10 LTSB
шлейф https://aliexpress.ru/item/1005002515211106
https://aliexpress.ru/item/32968002073
https://aliexpress.ru/item/1005003130568093
https://aliexpress.ru/item/4000014554460
монитор 9" Auto Car Rear View LED Display VGA RCA AV POS Touch Screen TFT LCD Monitor AU ЖК-дисплей 480x480 Tft с платой драйвера HDMI. 4.0 inch. Hicenda/OEM/ODM https://aliexpress.ru/item....8erDA0n 4-дюймовый ЖК-дисплей Wisecoco 720x720, 1:1, квадратный дисплей для ноутбука Smart Home, дисплей Raspberry Pi, плата драйвера MIPI https://aliexpress.ru/item....8erDA0n
пример компа https://usamodelkina.ru/13320-p.....com%2F
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Четверг, 17.03.2022, 01:53 | Сообщение # 72 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Unity ( splash screen )
настройка начальной заставки Unity - Меняем splash screen
https://www.youtube.com/watch?v=hzjQitBvC5o
https://www.youtube.com/watch?v=ggAtvdi23gc
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 18.03.2022, 00:31 | Сообщение # 73 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| C# изменить bool на противоположный ( логическая переменная )
Код // где то начале задается логическое состояние bool VariableName = true;
// ниже команда меняющая логический тип на противоположный VariableName = !VariableName ;
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Пятница, 18.03.2022, 00:33 | Сообщение # 74 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Unity
выход из "игры" https://u.to/UEsQHA
Код
using UnityEngine; using System.Collections;
// Quits the player when the user hits escape
public class ExampleClass : MonoBehaviour { void Update() { if (Input.GetKey("escape")) // если нажата клавиша Esc (Escape) { Application.Quit(); // закрыть приложение } } }
******************** Свернуть окно https://www.cyberforum.ru/unity/thread2315206.html
Код
using UnityEngine; using System; using System.Runtime.InteropServices;
public class MinimizeWindow : MonoBehaviour { [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow); [DllImport("user32.dll")] private static extern IntPtr GetActiveWindow();
static public void OnMinimizeButtonClick() { ShowWindow(GetActiveWindow(), 2); } }
свернуть в окно
При сборке кнопка "Player settings" ( ну или Edit > Project setting ) На вкладке Player открыть Resolution & Presentation "Resizeable window" - Изменяемый размер окна "Detaluft is full screen" - Полноэкранный режим по умолчанию "Detaluft screen height/width" - ширина и высота по умолчанию и тд и тп
по коду
Код public bool fullScreen; // переменная для полноэкранного / оконного режимов
void Start( ) { Screen.fullScreen = true; // при старте полноэкранный режим
}
// кнопка "свернуть в окно" static public void ButtonRestoreDown() { Screen.fullScreen = !Screen.fullScreen; // true - полноэкранный, false - в окне }
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Суббота, 19.03.2022, 01:09 | Сообщение # 75 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| http://flyguy.ru/piloting/slips/
прибор шарик ( скольжение ) Turn and Slip Indicator новый пакет поискть тут https://mavlink.io/en/messages/common.html
педали и симулятор https://www.youtube.com/watch?v=BkcYLXf-js8
скольжение пояснение: https://www.youtube.com/watch?v=yxy2MnUnfUM
симуляция ИЛ2-Штурмовик https://www.youtube.com/watch?v=1HzM_CY7Dso&t=12s
не успеваю за своими мыслями......
|
|
| |