Если коротко, то в конкретной микросхеме произошел эффект ТЗЧ — тяжелой заряженной частицы. Схема встала в тупик. И это все лечилось просто: надо было машину выключить-включить. Бортовая логика отработала правильно, система перезагрузилась самостоятельно и ждала команды, что ей делать дальше. Все работало, станция была ориентирована, но из-за проблем со связью дать ей команду на продолжение циклограммы отлета к Марсу не удалось. Задним числом, конечно, понятно, что нужно было добавить в бортовую логику еще одно правило: если система находится слишком долго в режиме ожидания, она должна самостоятельно пытаться понять, в какой фазе полета аппарат находится, и принимать соответствующее решение. Да много чего стало яснее после. После драки кулаками не машут. Хотя это и называется опыт. Сын ошибок трудных.
Может вы не в курсе, но ФГ все это время работал и ждал команду. Проблема была именно в том произошла перезагрузка бортового компьютера, а организационно не были предусмотрены мероприятия по выходу из нештатной ситуации на столь низкой орбите.
Ну тогда уж не «правильный», а просто другой.
А биглборды всегда ориентировались на более высокий уровень подготовки потребителя. Впрочем информации там тоже достаточно, нужно только руку протянуть.
Думаю, главная особенность — большие стандартные разъемы, на которые вынесено огромное количество интерфейсов — начиная от банальных UARTов и кончая интерфейсом к ЖКИ. И это при цене и габаритах на уровне малины.
У этой платы ориентация на разработку поделок более интересных, чем «комп в минимальном объеме», как, в прочем, и у предыдущих Биглбордов.
PS смотрю спеки — видео в FullHD, похоже не держит, только 720p.
заменил тело цикла на много повторяющихся строчек:
led.Write(true); led.Write(false);
Аналогично для нативного кода будет примерно так: GPIOA->BSRRL = 1;//set pin GPIOA->BSRRH = 1;//rst pin
Чем больше таких повторяющихся пар в теле цикла, тем меньше влияние лишней инструкции перехода.
И да, естественно замерял.
Проделал все указанное в статье, в целом всё работает. Несколько замечаний:
1. Делать Erase Chip и Erase Sectors имхо излишне — во-первых эти два пункта делают одно и тоже, во-вторых при прошивке все равно выполняется очистка. Но это мелочь.
2. После прошивки Tinibooter.hex система отказывалась видеть плату, резет или переподключение mini-USB ничего не дало. Помогла кнопочка Disconnect в ST-Link Utility.
3. В студии при нажатии Deploy Project система ушла в BSOD. Deploy Solution выполняется вроде бы успешно. Отладка работает!
4. С целью оценить оверхед, добавляемый фреймворком, заменил тело цикла на много повторяющихся строчек: led.Write(true); led.Write(false);
Итог довольно печальный: частота полученного сигнала ~47кГц. Для сравнения на чистом С будет 84МГц. Таким образом, разница в 3 порядка.
На «побаловаться» — сойдет. Но для чего-то более-менее серьезного пока сыровато. ПиСишный .NET хорош тем, что при запуске приложения IL компилируется в нативный код, поэтому особой разницы в производительности нет. Здесь же этого, видимо, не происходит (хотя я ожидал, что это произойдет при заливке кода на плату), поэтому имеем тормоза.
Даже интересно стало, каким приложениям указанных контор мешает гугл. На удивление у MS есть в андроид маркете примерно полтора десятка приложений, так что этих еще хоть как-то можно понять.
У Оракла только какая-то рекламная прога, у Нокии вообще ничего не нашел
PS зашел на их совместный сайт — сразу все стало ясно — это объединение под девизом «мы против гугла», так что ничего удивительного.
нда… начал писать развернутый ответ, но потом увидел «пальцы веером, сопли пузырими» в комменте про титан ниже… и стер все нафик…
зачем метать бисер перед свиньями?
Главный недостаток такого радара — он невидит мягкие поверхности, диван, например.
Когда-то делал тележку, которая шарится по квартире, используя аналогичный способ определения расстояния на УЗ дальномере. Так она находила ближайшее кресло и начинала радостно в него долбиться :)
Я пока приведу свои.
Интервью с Хартовым на lenta.ru
Ваша очередь.
Телефоны, из поста
ФГ, с вики:
Может вы не в курсе, но ФГ все это время работал и ждал команду. Проблема была именно в том произошла перезагрузка бортового компьютера, а организационно не были предусмотрены мероприятия по выходу из нештатной ситуации на столь низкой орбите.
А биглборды всегда ориентировались на более высокий уровень подготовки потребителя. Впрочем информации там тоже достаточно, нужно только руку протянуть.
У этой платы ориентация на разработку поделок более интересных, чем «комп в минимальном объеме», как, в прочем, и у предыдущих Биглбордов.
PS смотрю спеки — видео в FullHD, похоже не держит, только 720p.
Аналогично для нативного кода будет примерно так:
GPIOA->BSRRL = 1;//set pin
GPIOA->BSRRH = 1;//rst pin
Чем больше таких повторяющихся пар в теле цикла, тем меньше влияние лишней инструкции перехода.
И да, естественно замерял.
STM32F4
1. Делать Erase Chip и Erase Sectors имхо излишне — во-первых эти два пункта делают одно и тоже, во-вторых при прошивке все равно выполняется очистка. Но это мелочь.
2. После прошивки Tinibooter.hex система отказывалась видеть плату, резет или переподключение mini-USB ничего не дало. Помогла кнопочка Disconnect в ST-Link Utility.
3. В студии при нажатии Deploy Project система ушла в BSOD. Deploy Solution выполняется вроде бы успешно. Отладка работает!
4. С целью оценить оверхед, добавляемый фреймворком, заменил тело цикла на много повторяющихся строчек:
led.Write(true); led.Write(false);
Итог довольно печальный: частота полученного сигнала ~47кГц. Для сравнения на чистом С будет 84МГц. Таким образом, разница в 3 порядка.
На «побаловаться» — сойдет. Но для чего-то более-менее серьезного пока сыровато. ПиСишный .NET хорош тем, что при запуске приложения IL компилируется в нативный код, поэтому особой разницы в производительности нет. Здесь же этого, видимо, не происходит (хотя я ожидал, что это произойдет при заливке кода на плату), поэтому имеем тормоза.
Кстати, mini-USB для питания использовать необязательно. Если соединить PA9 с 5V плата будет питаться от micro-USB.
У Оракла только какая-то рекламная прога, у Нокии вообще ничего не нашел
PS зашел на их совместный сайт — сразу все стало ясно — это объединение под девизом «мы против гугла», так что ничего удивительного.
зачем метать бисер перед свиньями?
Да нет, это хабр.
А на ваш пост уже ответили, выше и раньше. Зачем повторяться?
т.е. Google, выпуская свои приложения только под Android 4+, игнорирует почти половину своих пользователей.
Странная политика.
Когда-то делал тележку, которая шарится по квартире, используя аналогичный способ определения расстояния на УЗ дальномере. Так она находила ближайшее кресло и начинала радостно в него долбиться :)