Пришёл наконец с Китая Hubsan X4 H107L квадрокоптер. Самый простой в серии X4, но летает весьма круто. Правда, из коробки он по ходу вообще не был откалиброван, летел в сторону, стики странные значения по разным осям выдавали, но после стандартных калибровок стиков/акселерометра всё пришло в норму )
суббота, 14 февраля 2015 г.
четверг, 12 февраля 2015 г.
Развлечение
Решил забавы ради запилить простенький симулятор мультикоптеров на Unity.
Сделал расчёт тяги винтов, расчёт крутящего момента, минимальную стабилизацию в контроллере полёта ) Летает, корявенько пока, но я прекрасно понимаю что надо сделать, чтобы летал нормально, тем и занимаюсь в данное время ) Для отладки контроллеров стабилизации накидал себе сейчас скриптик "Осциллограф". Поддерживает любое количество "каналов", у каналов настраивается скейл по обоим осям, настраивается частота семплинга у осциллографа. В общем довольно удобная для дебага штуковина получилась )
Сделал расчёт тяги винтов, расчёт крутящего момента, минимальную стабилизацию в контроллере полёта ) Летает, корявенько пока, но я прекрасно понимаю что надо сделать, чтобы летал нормально, тем и занимаюсь в данное время ) Для отладки контроллеров стабилизации накидал себе сейчас скриптик "Осциллограф". Поддерживает любое количество "каналов", у каналов настраивается скейл по обоим осям, настраивается частота семплинга у осциллографа. В общем довольно удобная для дебага штуковина получилась )
среда, 21 января 2015 г.
Наконец пришла плата с FPGA от Altera! ^__^
Наконец дождался борд из Китая с FPGA! Давно хотел попробовать программирование под всякие там ПЛИС-ы и вот оно свершилось :D
Скачал Quartus II и прочитал введение в Verilog. После получаса безуспешных ковыряний в IDE я всё же смог сам написать, собрать и прошить первый код на Verilog ^____^ Пищит динамиком на плате:
Скачал Quartus II и прочитал введение в Verilog. После получаса безуспешных ковыряний в IDE я всё же смог сам написать, собрать и прошить первый код на Verilog ^____^ Пищит динамиком на плате:
module Test(clk, out); input clk; output out; reg out; reg[15:0] cnt; parameter period = 7000; always@(posedge clk) begin cnt<=cnt+1; if(cnt == period) begin cnt<=0; out<=~out; end end endmodule
воскресенье, 11 января 2015 г.
ELF & DWARF parser
Написал тут по-быстрому (хотя не очень, 4 дня потратил на этот говнокод) на C# библиотеку для чтения ELF файлов и парсинга DWARF4 дебаг информации в ELF файлах.
https://github.com/L-proger/ELFUtils
https://github.com/L-proger/ELFExplorer - GUI приложение, лагучий набросок.
В основном для самообучения, для раскуривания дебаггинга и т.п. но ещё одно интересное для меня применение - напишу вскоре тулзу для вывода подробной инфы о памяти ELF бинарника. Я довольно часто программирую под микроконтроллеры и как многим известно там есть обычно достаточно большие проблемы с объёмом памяти - как FLASH так и оперативной, потому часто приходится считать байты и стараться сделать бинарник как можно меньше по размеру.
Вот и накидал эту библиотеку. На самом деле всё можно было бы сделать гораздо проще! Использоваться стандартную тулзу тулчейна readelf и, скажем, регулярками разбирать её вывод и получать финальную информацию о символах в бинарнике, но это слишком просто ) А так я разобрался в DWARF формате что меня весьма радует.
Пример вывода консольной версии ниже. Консоль сейчас для простого дебага, я вскоре сделаю красивый удобный гуй для этого всего ) А, да, ещё DLL умеет парсить пока минимально lds скрипты линкера и правильно использовать информацию о секциях памяти для последующего анализа её использования (можно посмотреть сколько % памяти каждого из банков занято и т.п.).

Вывод инфы по секциям памяти.
https://github.com/L-proger/ELFUtils
https://github.com/L-proger/ELFExplorer - GUI приложение, лагучий набросок.
В основном для самообучения, для раскуривания дебаггинга и т.п. но ещё одно интересное для меня применение - напишу вскоре тулзу для вывода подробной инфы о памяти ELF бинарника. Я довольно часто программирую под микроконтроллеры и как многим известно там есть обычно достаточно большие проблемы с объёмом памяти - как FLASH так и оперативной, потому часто приходится считать байты и стараться сделать бинарник как можно меньше по размеру.
Вот и накидал эту библиотеку. На самом деле всё можно было бы сделать гораздо проще! Использоваться стандартную тулзу тулчейна readelf и, скажем, регулярками разбирать её вывод и получать финальную информацию о символах в бинарнике, но это слишком просто ) А так я разобрался в DWARF формате что меня весьма радует.
Пример вывода консольной версии ниже. Консоль сейчас для простого дебага, я вскоре сделаю красивый удобный гуй для этого всего ) А, да, ещё DLL умеет парсить пока минимально lds скрипты линкера и правильно использовать информацию о секциях памяти для последующего анализа её использования (можно посмотреть сколько % памяти каждого из банков занято и т.п.).

Вывод инфы по секциям памяти.
суббота, 8 ноября 2014 г.
Windows Phone Developer Registration
Недавно сменил HTC 8S на Nokia Lumia 1020, попробовал зарегистрировать новый телефон, чтобы можно было на него билдить приложения и... не получилось о_О
Стандартная процедура регистрации простая: ставим WP8 SDK, запускаем Windows Phone Developer Registration тулзу, подключаем телефон с разлоченным экраном и включенным интернетом по USB к компьютеру, тулза регистрации детектит телефон, логинимся в девелоперский аккаунт и телефон разлочивается! Всё просто! А вот у меня не сработало.
И на то было несколько причин:
1. Судя по всему учитывается установленный регион в телефоне. Для тестов Cortana я сменил язык телефона и регион на USA! После долгих попыток зарегать телефон понял, что регион важен.
2. Москва на данный момент находится в GMT+3 засовом поясе, однако в телефоне у меня Москве присвоен GMT+4 пояс. Я вручную выставлял время и пояс на +03. Так делать не нужно! Необходимо выставить +4 часовой пояс в данном случае и пусть время будет на 1 час больше на время регистрации.
3. После перехода на новую мобилу Windows автоматически подтащил из облака все настройки телефона, включая и его имя! Важно, что если прошлый телефон не был разрегистрирован и имел такое же имя, то зарегистрировать новый не выйдет. Пофиксил удалением регистрации предыдущего телефона через сайт https://dev.windowsphone.com/en-us/Account/Devices
Как только выставил верный регион и корявое время но совпадающее с мнением телефона, разрегистрировал старый телефон - всё сразу зарегистрировалось.
Стандартная процедура регистрации простая: ставим WP8 SDK, запускаем Windows Phone Developer Registration тулзу, подключаем телефон с разлоченным экраном и включенным интернетом по USB к компьютеру, тулза регистрации детектит телефон, логинимся в девелоперский аккаунт и телефон разлочивается! Всё просто! А вот у меня не сработало.
И на то было несколько причин:
1. Судя по всему учитывается установленный регион в телефоне. Для тестов Cortana я сменил язык телефона и регион на USA! После долгих попыток зарегать телефон понял, что регион важен.
2. Москва на данный момент находится в GMT+3 засовом поясе, однако в телефоне у меня Москве присвоен GMT+4 пояс. Я вручную выставлял время и пояс на +03. Так делать не нужно! Необходимо выставить +4 часовой пояс в данном случае и пусть время будет на 1 час больше на время регистрации.
3. После перехода на новую мобилу Windows автоматически подтащил из облака все настройки телефона, включая и его имя! Важно, что если прошлый телефон не был разрегистрирован и имел такое же имя, то зарегистрировать новый не выйдет. Пофиксил удалением регистрации предыдущего телефона через сайт https://dev.windowsphone.com/en-us/Account/Devices
Как только выставил верный регион и корявое время но совпадающее с мнением телефона, разрегистрировал старый телефон - всё сразу зарегистрировалось.
суббота, 20 сентября 2014 г.
Автомобильные колёса
Уже имеющиеся в Unity колёса работают хорошо, но их интерфейс не достаточно информативен для моей реализации физической модели автомобиля. Поэтому я запилил свои колёса под юнити )
Объяснение параметров функции Pacejka 94 года (есть более старые и новые варианты функции, количество параметров в них различается) http://www.edy.es/dev/docs/pacejka-94-parameters-explained-a-comprehensive-guide/
Для расчёта сил трения шин использую "магическую формулу" Hans B. Pacejka - ох и долго ж я её вкуривал (не люблю что-то использовать не зная как оно работает), но в итоге заимплементил ) На скрине выводится функция поперечного трения шины выделенного колеса под нормальной нагрузкой в 5KN и углом развала 0 градусов в диапазоне от -20 до 20 градусов проскальзывания.
Неплохая статья для начинающих разбираться в физике автомобиля: http://www.gamedev.ru/code/articles/?id=4233 (перевод)
http://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html (исходник)
воскресенье, 14 сентября 2014 г.
Update
Основная проблема заключается не в написании всего этого, а в сборе данных! Ни как не могу найти нормальный годный список, например, стартеров с _подробными_ даташитами! Или хотя бы графики токоскоростных характеристик! У производителей инфа есть, конечно же, но ни кто не выкладывает её. Путём жесточайшего гугления нашёл графики всего для нескольких стартеров, вот пример для модели4216.3708-02
И вот где найти такие графики для отечественных и иностранных стартеров (и других агрегатов автомобиля) - не понятно. Очень много времени отнимает поиск инфы, фейковать же параметры нет ни какого желания.
суббота, 30 августа 2014 г.
Project X
Много раз пытался создавать небольшие игры, безуспешно. И дело тут не в том, что я чего-то не могу, дело в нежелании ) Я понял, что просто не могу делать что-то мелкое, меня оно не мотивирует, и да, пусть это идёт в разрез с логикой (маленький проект одному реально осилить и т.п., а большой - вряд ли), но.. не, лучше я буду делать то, что реально мне хочется.
Итак, движок мой уже 2.5 года на паузе и там похоже останется. Я бы мог его допиливать, опыта необходимого за последнее время сильно прибавилось, как и понимания что делать, но это процесс долгий и по сути своей бессмысленный уже - необходимые мне знания получены во время разработки того, что есть + ушёл я уже дальше и без движка. До коммерческого вида мне в одиночку его доводить несколько лет, чем я заниматься не хочу, да и толка от него не будет - есть куча готовых годных движков.
Изучаю Unity3D. Движок во многом коряв, нахожу постоянно кучи экзотических багов, но тем не менее можно не корячиться со своей поделкой, а сразу приступить к разработке игры.
На Unity3D начал пилить некий игровой проект, упор на качество симуляции, больше информации будет со временем )
Итак, движок мой уже 2.5 года на паузе и там похоже останется. Я бы мог его допиливать, опыта необходимого за последнее время сильно прибавилось, как и понимания что делать, но это процесс долгий и по сути своей бессмысленный уже - необходимые мне знания получены во время разработки того, что есть + ушёл я уже дальше и без движка. До коммерческого вида мне в одиночку его доводить несколько лет, чем я заниматься не хочу, да и толка от него не будет - есть куча готовых годных движков.
Изучаю Unity3D. Движок во многом коряв, нахожу постоянно кучи экзотических багов, но тем не менее можно не корячиться со своей поделкой, а сразу приступить к разработке игры.
На Unity3D начал пилить некий игровой проект, упор на качество симуляции, больше информации будет со временем )
Подписаться на:
Сообщения (Atom)








