Перейти к содержимому
Форумы SkyCentre Прыжки с парашютом

Валера К

Пользователи
  • Публикации

    438
  • Зарегистрирован

  • Посещение

Все публикации пользователя Валера К

  1. Люди, я все мечтаю о такой штуке, может кто-то видел что-то подобное? В общем это просто чехол на систему. Т.е. сама система как-бы рюкзак Но при этом оно не пачкается, не мокнет, не занимает больше места ,чем сама система, и с этим можно пройти в салон самолета. Может кто встречал подобное чудо? PS: Озадачил одну профильную швею, но пока дела идут туго, надо думать, как эту штуку сконструировать, а потом сшить.
  2. У меня был забавный глюк. Включаешь утром - ОК, прыгаешь - вечером прибор мертвый. Потом просто перестал включаться. По словам Рубика обычно в Vigil ломается именно LCD Unit, т.к. сам прибор спрятан внутри ранца, а экранчик подвергается сильным механическим воздействиям постоянно. И, как написал выше Justas, при глюках с экранам прибор тестирование НЕ проходит (связь по цифре с самим прибором, в отличие от купороса). Так что самый разумный вариант в данном случае, это позвонить официальному представителю Vigil в нашей стране Алексу Рубинштейну, который скажет, что делать дальше. PS: Если все работает после замены экрана, то IMHO ничего никуда отправлять не надо.
  3. Статика - это было предположение. Дома мне не удается никак повторить этот трюк. Какие бы шмотки не надевал, как бы не тер часы об волосы )) Я компилирую прошивку с WATCHDOG, по идее, если зависание программное (т.е. типа цикл бесконечный и т.п., то часы должны сами ребутится, а этого не происходит. Тут как в анекдоте: "Детей я не люблю, но сам процесс!!!". Программирование часов - это очень увлекательный и интересный процесс. Если из этого еще и выйдет что-то полезное, то вообще отлично.
  4. Мистика какая-то. Всю неделю часы носил на руке, ок. Приезджаю на дз, переодеваюсь - часы висят. И так 3 раза подряд (3 прыжковых дня). Попробую, закажу еще один экземпляр. Я даже до ЛА в них не могу дойти. Приезжаю на ДЗ, переодеваюсь, смотрю на часы - мертвые. PS: Может наша Пущинская радио обсерватория че-нить излучает, или находящийся недалеко загоризонтальный радар ))
  5. Уже второй раз перед скайдайвом часы вырубаются нафиг. Экран гаснет и работает только кнопка подсветки. Помогает только вынимание батарейки (что без разбора сделать нельзя). Предполагаемые причины: 1) Сдавливание корпуса и возможные глюки из-за этого. 2) Статика - шмотки трутся по экрану, вызывая зависание. 3) Глючный экземпляр... Странно, но при просто ношении такого не было ни разу. Кто-нить еще гонял часы в скайдайве активно?
  6. Igor Принял, спасибо за совет. Это оригинальный код, я его не трогал в этом месте По вышеописанной проблеме - решил ее кардинально. Датчик давления теперь инициализирую полностью не при загрузке часов, а при старте высотомера. Так оно надежнее намного, а по времени занимает всего порядка 0.3 секунды.
  7. Вот эта функция (запускается при активации высотника) первый раз выдает некорректное значение и уровень земли неправильно выставляется. После 2-го измерения все налаживается. void start_altitude_measurement(void) { // Show warning if pressure sensor was not initialised properly if (!ps_ok) { display_chars(LCD_SEG_L1_2_0, (u8 *) "ERR", SEG_ON); return; } // Start altitude measurement if timeout has elapsed if (sAlt.timeout == 0) { display_chars(LCD_SEG_L1_3_0, (u8 *) "----", SEG_ON); // Enable DRDY IRQ on rising edge PS_INT_IFG &= ~PS_INT_PIN; PS_INT_IE |= PS_INT_PIN; // Start pressure sensor ps_start(); // Set timeout counter only if sensor status was OK sAlt.timeout = ALTITUDE_MEASUREMENT_TIMEOUT; // Get updated altitude while ((PS_INT_IN & PS_INT_PIN) == 0) { do_altitude_measurement(FILTER_OFF); }; // make zero level sAlt.altitude_offset = - conv_pa_to_meter(sAlt.pressure); sAlt.altitude = conv_pa_to_meter(sAlt.pressure) + sAlt.altitude_offset; } }
  8. Кстати да, можно еще использовать данные с датчика ускорения для более точного определения отделения и раскрытия Актуально наверное для тех, кто собирается пищалку делать. Почему-то у меня после долгой неактивности датчик не всегда актуальные данные выдает несмотря на while ((PS_INT_IN & PS_INT_PIN) == 0) do_altitude_measurement(FILTER_OFF); Если перед этим вставить задержку, то вроде нормально. Еще хочется все логгер прикрутить, да все лень как-то )
  9. Хирург на Сахарова вроде вполне адекватный. А вот насчет можно почитать пост Громоздина: http://andygrom.skydive.ru/blog/2011/02/14/883/ Если вы прошли ВЛК за 1-2 дня, это не значит, что другой здоровый (или проходящий по 3-й графе) ее пройдет за 2 дня.
  10. Для тех, кто использует CCS (а по моему это самая дружелюбная к пользователю софтина из всех возможных) выкладываю свои исходники на текущий момент. Основано на стандартной прошивке версии 1.6 Коменты и кидание гнилыми помидорами приветствуется. Во время отладки за основу брался высотомер самолета, выставленный в 0 перед взлетом. Чендж-лог и вишлист: to do: сделать округление показаний в зависимости от высоты сделать возможность включать подсветку постоянно (для night jump) продумать переключение датчика в быстрый режим (8Hz) для фрифола Changelog: переписан код определения высоты и внесения поправки (код стал компактным, но более ресурсоемким) отключено сглаживание давления (Filter_off по умолчанию) включена метрическая система по умолчанию увеличен таймаут высотомера до 8 часов добавлена функция гашения нижней строки экрана (возможность вывода только высоты на экран) добавлен алгоритм автоматического выставления нуля определена константа максимального уровня земли (по умолчанию 100м, при взлете выше этой высоты поправок не вносим) при плавном изменении давления выводим символ R обнуление высотомера по длительному нажатию * при отображении высоты 0 убрал стрелку вверх Версия 0.01_prebeta Архивчик сделан в 7Zip, но расширение поменяно на zip, т.к. 7z не дают загружать. Для тех, кто не умеет компилировать исходники, в архиве есть скомпилированная прошивка на 915 мегагерц версию. Заливайте на свой страх и риск. valera_ez4300_ver_0.01_prebeta.zip
  11. Зависит, наверное, от того, в каком месте будешь проходить. Но в общем, скорее всего пошлют на доп. обследование при наличии любой фигни, к которой можно докопаться. Поэтому логично заменить "врач в больничке говорит" на справку от того же врача, в которой написано, что можно заниматься авиационными видами спорта без ограничений.
  12. По информации от Comandante Che при вылете из А/П Дубая наотрез отказались пускать с системой в самолет. Никакие аргументы не действовали и пришлось ее сдавать в багаж. Попробую проверить, тенденция это или просто напоролся на дуду тупую.
  13. Я могу сказать, зачем я поставил volatile Во время отладки CCS без volatile отображает переменные типа u32 или s32 только 2-мя младьшими байтами Т.е. до 32768, а дальше начинает врать. Стоило поставить volatile и все заработало как часы
  14. wami Пара вопросов по OpenCronos. Они реализовали другой алгоритм определения высоты (директива FIXDPOINT для прекомпилятора). Ты разобрался, как он работает? Там получается все вносят изменения в 1 проект? Нет разделения веток для парашютистов/парапланеристов/горных походов? Чем ты ее компилишь? Можно по шагам для dumb`ов?
  15. Ок, опишу логику словами. У нас 4 состояния: 1) на земле (погода медленно меняется, датчик шумит) 2) в наборе до 300 метров (скорость подъема >1 м/c) 3) выше 300 метров 4) снижение с 300 метров до 0. Сначала опишу, как это работает в идеальном случае: При включении определяем высоту. Делаем поправку равную -высота. Результирующая высота получается 0 (с учетом поправки). 1) На земле. В связи с изменением давления или поднялись по лестнице, высота изменилась. Если высота изменилась быстро, то поправок не вносим (может уже взлетаем?). Если высота изменилась медленно (<2 м/c), то в зависимости от знака высоты каждую секунду прибавляем или убавляем 1 к поправке. Таким образом высота сходится к 0 со скоростью 1 м/с. 2) Это первый случай со скоростью увеличения высоты >1 м/с. Это переходный процесс, который будет происходить до высоты 300 метров. При нормальном взлете до 300 метров самолет набирает высоту со скороподъемностью >5 м/c, поэтому ошибок быть не должно. В случае, если самолет сделал полку на высоте, к примеру, 150 метров на время 5 секунд, то за это время внесется поправка -5 метров. Если он завис на этой высоте на 150 секунд, а потом полетел вверх, то 0 будет на высоте 150 метров. Думаю, любой высотомер сделает так-же. Вопрос только в высоте граничной. Сейчас подумал, что стоит снизить граничную высоту метров до 100 - 50, тогда будет надежнее. 3) Выше 300 метров никаких поправок не вносим. 4) Как только спустились ниже 300 метров, ничинаем вносить поправку, как только приземлились (скорость спуска стала <= 1 м/c). PS: По модулю я проверяю скорость набора/спуска. Т.к. она может быть как положительной, так и отрицательной.
  16. Почему же не нужны коменты - как раз по ним уже один баг выловили, спасибо. Должно быть И. Если алгоритм не очень, то нужно предложить лучший Тем более, если знаешь, какой алгоритм в других высотниках. Насколько я знаю, если предположить, что самолет поднимется на 30 метров и будет там долго лететь (чего в принципе не бывает), то любой высотник скорее всего выставит 0 по этому уровню. В случае же, если в момент подъема до 300 метров скорость подъема на некоторое время будет меньше 2 м/с (чего я на нашем аэродроме тоже не встречал ни разу), то в моем алгоритме это не приведет к катастрофическим последствиям. Внесется поправка на это время, умноженная на 1 метр. Т.е. если предположить что в какой-то момент подъема до 300 метров скорость подъема на 5 секунд снизилась до 1 м/с (или вообще вышли в горизонт), то ошибка будет всего 5 метров. если известен алгоритм работы существующих высотников, то в студию его плиз! Ничего не понял, про этот пример. Забежали наверх, подождали, на экране 0. Спустились, подождали несколько секунд - опять на экране 0. Высоты в метрах целые. Если 0, то там тоже процесс идет, посмотри внимательно Походу надо на русском алгоритм написать, чтоб всем было понятно
  17. Накатал алгоритм выставления 0, чтоб как в в Viso было На земле работает. Зацените плиз, какие подводные косяки могут быть? // Convert pressure (Pa) to altitude (m) преобразуем текущее давление в высоту без поправки rawAltitude = conv_pa_to_meter(sAlt.pressure); // zero level // считаем новую высоту со старой поправкой altitude = rawAltitude + sAlt.altitude_offset; // если по модулю скорость подъема/спуска < 2 м/с И высота < 300 метров (выше ничего не делаем) if (abs(altitude - sAlt.altitude)<2&&altitude<300) // здесь была ошибка { if (altitude>0) sAlt.altitude_offset--; else // если высота >0 то убавляем на 1 offset if (altitude<0) sAlt.altitude_offset++; // если высота <0 то прибавляем 1 к offset }; // end zero level sAlt.altitude = rawAltitude + sAlt.altitude_offset; // вычисляем новую высоту Пояснения: altitude, rawAltitude, sAlt.altitude, sAlt.altitude_offset - все типа s32 Данный кусок кода исполняется в функции do_altitude_measurment раз в секунду. Соответственно старое значение - это значение секунду назад. sAlt.altitude_offset это поправка к значению высоты, вычисленному по давлению. Прибавляется каждый раз к абсолютной высоте (по давлению).
  18. Качай с сайта TI последний. Да и с диска вроде ставилось... http://focus.ti.com/docs/toolsw/folders/print/ccstudio.html
  19. Точность не упадет. В режиме high speed разрешение такое-же как и в ultra low power (15bit). А вот потребление вырастет до 30 мА и это значит, что только датчик сожрет батарейку за примерно 7-8 часов. Для скайдайва достаточно вполне дискретности обоих режимов, вопрос в скорости. Очень похоже, если в начале "0" выставить, спасибо за данные
  20. А можно для дурака, зачем нам в скайдайве фильтры? IMHO, что пришло с датчика, то и выводим вполне подходит
  21. Динамика там нет. Сверлить там ничего не надо, это не поможет. Там стоит пьезоэллемент и через пружинку колебания передаются на заднюю крышку. Соответственно когда она снята, то ничего не пищит. был не прав Значит мне попался неудачный экземпляр. Не понятно только, как ты определил разницу в 100-300 Pa, если "Suunto давление выыводится в целых hPa." Отвечу за него - не компилится
  22. Ну вот, процесс пошел )) Напишу, чего сделал я и todo лист. В стандартной прошивке менял следующее: 1) Отрубается сглаживание (все время передается FILTER_OFF). 2) Переписал драйвер датчика давления. Убрал старый алгоритм и ненужные функции. В результате сам алгоритм такой: s16 conv_pa_to_meter(u32 p_meas, s16 altitude_offset) { volatile s16 h; volatile float rawAltitude; volatile float fl_p_meas; volatile float pressureFactor = 1/5.25588; fl_p_meas = (float) p_meas; rawAltitude = 44330 * (1 - pow((fl_p_meas/101325.0), pressureFactor)); h=(s16)rawAltitude + altitude_offset; return (h); } Количество кода и функций сократилось раза в 3 Кроме того переделал поправку относительно земли. 3) Увеличил таймаут высотомера до 8 часов (изначально стоит 1 час, дальше высотомер отрубается и выводит на экран -----) 4) При включении выводит давление с датчика. todo: 0) Нужно понять, достаточное ли быстродействие датчика. По умолчанию в регистр 0x03 пишется 0x0B, это режим ultra low power с обновлением примерно раз в секунду и потреблением 3 мА. Есть еще несколько режимов с 2Hz и 9Hz обновлением и потреблением 30 мА. 1) дописать в меню заглушку для нижней строки, чтобы можно было выбрать внизу пустое место (оставить только высотомер сверху) 2) сделать округление показаний в зависимости от высоты 3) сделать автоматическое выставления 0 как в Viso 4) сделать возможность включать подсветку постоянно (для night jump) PS: Комрады, у кого есть возможность сравнить абсолютные значения давления, выдаваемые датчиком с чем--нить еще? Например с Suunto. У меня врет датчик на 20 милибар, хотя в даташите сказано, что погрешность всего +-150 паскалей. У меня такое чувство, что в эти отладочные комплекты ставят не прошедьшие по параметрам датчики за копейку Т.к. сам датчик у нас стоит 1000 р. На работу относительно земли это не влияет, но хотелось бы понять, это мне попался такой экземпляр, или это тенденция. Чтобы сравнить, можно заменить в файле test.c строку display_chars(LCD_SEG_L2_4_0, (u8 *) "CC430", SEG_ON); на start_altitude_measurement(); stop_altitude_measurement(); pressure=ps_get_pa(); str = int_to_array(pressure, 6, 6); display_chars(LCD_SEG_L2_5_0, str, SEG_ON_BLINK_OFF); Тогда они будут выводит вниз давление при каждом включении.
  23. Почему-то не прочитал в статье, что на самом деле матрица у Go Pro формата 4x3 и соответственно самые широкие углы как раз в режиме 4 на 3. В режиме 16x9 она просто режет верх и низ. Об этом написано в мануале. Для некоторых вещей это критично. Для формаций, для чайников типа меня (снимал тандем второй раз в жизни, если бы не широкий угол - не было бы тандема в кадре). И еще. Часто бывает, что даже "кривая" площадка мене кривая, чем место на шлеме, куда ее цепляют. Если просто приложить площадку к шлему и надавить, то углы так и останутся не приклеенными. Чтобы этого избежать, нужно взять шлем с площадкой, упереть угол площадки в пол и со всей дури давить шлемом вниз. Повторять для каждого угла, пока они все не приклеются.
  24. Нет, у них 3 высотомера. Один по стандартному и 2 по давлению ВПП. Я смотрел по местному.
  25. Сегодня провел еще дроп-тест стандартного алгоритма (который идет в драйвере от производителя датчика давления). В сравнении участвовали: 1) Высотомер в самолете 2) Отладочный комплект со стандартным алгоритмом определения высоты. 3) -=- с формулой на картинке (с возведением в степень нецелую) 3) Viso Все 3 прибора выставлялись на 0 перед взлетом. Результаты на высоте 4 км по высотомеру самолета такие: 2) +200 метров 3) +30 метров 4) -70 метров Итого, если брать за эталон высотник на борту, то ближе всего к нему оказалась формула стандартной атмосферы. Соответственно ближе к земле абсолютная ошибка стремится к 0.
×
×
  • Создать...