Это все еще кажется ошибкой в операторе mergeDelayError, но я смог заставить его работать, дублируя observerOn и подписываясь на каждый наблюдаемый.
Observable.mergeDelayError(
Observable.error(new RuntimeException())
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io()),
Observable.just("Hello")
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
)
.finallyDo(completeAction)
.subscribe(successAction, errorAction);
Брайан, вы можете найти Arduino интересным. Это недорого и довольно популярно. Я начал играть с платами микроконтроллеров и тому подобное несколько лет назад, и это привело к интересу к роботам. Вроде как интересно, по крайней мере для меня.
Если кто-то интересуется средой разработки на основе .NET, есть аналог вызова arduino netduino , который стоит посмотреть.
Для упрощения себя во встроенное программирование можно хотеть попытаться использовать XNA или для Xbox или для Zune. Вы не будете делать управления памятью, но Вы привыкнете к ограниченным аппаратным средствам, если Вы сделаете это на Zune. По общему признанию это использует C#; но Вы могли всегда делать программирование себя с помощью CIL.
Если у вас есть Nintendo Wii, вы можете взломать его, используя Twilight Princess. Вы даже не должны покупать это. Я просто арендовал его на пару дней. Перейдите на WiiBrew.org и ознакомьтесь с некоторыми из доступных проектов. Большинство, если не все, с открытым исходным кодом, и должны дать вам хорошую отправную точку. Множество портов существующего материала, а также некоторые оригинальные программы, написанные специально для Wii. Вы, конечно, будете программировать на своем компьютере и передавать скомпилированные двоичные файлы на Wii. Я не смотрел на то, насколько сложно настроить среду разработки и создать ее для Wii, но если вы отправите электронное письмо проектировщикам с wiibrew.org, возможно, они смогут вас настроить.
[РЕДАКТИРОВАТЬ]
Просто просматривая, я нашел DevkitPro , который, кажется, является предпочтительным набором инструментов для разработки на многих различных консольных и портативных системах, включая Wii .
Существует много программируемых роботов вокруг. На самом деле даже некоторые Roomba (автоматизированный вакуум) могут быть запрограммированы. Это особенно хорошо, если Вы хотите учить детей, как программировать.
Если вы хотите создать крутой гаджет с использованием микроконтроллера в качестве учебного процесса, вы можете посмотреть на стартовые наборы от Rabbit ( сайт ). У них есть множество недорогих комплектов с 8-битными микроконтроллерами, чтобы начать работу с определенной технологией.
Я также рекомендовал бы (8-разрядный) AVR и Бабочка или набор DB101 . Основное преимущество состоит в том, что существует доступный компилятор GCC и что можно программировать их через Последовательный порт без потребности инструмента. Недорогое программирование и средства отладки также доступны. Существует очень сильное сообщество AVR в AVRFreaks
, Другая альтернатива является ARM7 и микроконтроллерами ARM9 (32 бита). Если Вы интересуетесь использованием ОС (ucLinux/FreeRTOS для ARM7, Linux для ARM9), необходимо пойти тем путем. Существует, конечно, бесплатный компилятор GCC. Можно купить наборы и инструменты в Olimex
Я думаю, это весело взломать старые iPod. Вы можете получить четвертое поколение iPod (или любое из нескольких поддерживаемых устройств ), запустить Rockbox на нем, затем получить источник и помочь взломать его. .
Я имею личный опыт и рекомендовал бы использовать эти продукты для программирования PIC:
плата Программирования GCBasic (Основной Открытый исходный код)
PIC является дешевым (маркеры за 2$ или так), и плата будет стоить Вам приблизительно 120$.
Недавно, я был впечатлен ЭТО беспроводные микросхемы/программисты USB. Можно получить 2 микросхем и программиста для маркеров за 50$. Это также идет со свободным компилятором C. По умолчанию это идет с демонстрационной удаленной температурной программой.
Возможно, запустите с маленьких проектов микроконтроллера. Это может быть полезно: http://www.kmitl.ac.th/~kswichit%20/
Какие вещи Вы хотите программировать?
Кажется, что Вы могли бы интересоваться журнал MAKE , и некоторые их компиляции, такой как Вещи Создания Разговор . С определенным опытом с базовой электроникой можно следовать их рецептам, чтобы сделать все виды нечетных и интересных вещей. Когда Вы становитесь более удобными, можно запустить модификацию их проекты.
Удача:)
Я бы посмотрел на такие вещи, как (неофициальная) разработка GBA или тому подобное, конечно, есть «Библиотеки», но вы можете копаться и просто вставлять биты в конкретные адреса и делать вещи происходящими. Вы не можете получить больше «Нет API», чем доступ к оборудованию с отображением в памяти.
Дайте SparkFun выстрел. Для меня сервомоторы - то, с чем я люблю бездельничать.
Я бы настоятельно рекомендовал найти проект с открытым исходным кодом рядом с одним из ваших увлечений.
Во-первых, с открытым исходным кодом, потому что поддержка в основном очень дружелюбная, затем с открытым исходным кодом, потому что у других участников будет хотя бы одно сопоставимое хобби, а затем любимое занятие времяпрепровождением, чтобы вы могли видеть необходимость в инструментах и т. Д.
Два проекта, с которыми я играл очень успешно:
Купите себя Калькулятор HP 10C , и затем программа все те математические алгоритмы "программирования 101" с помощью его безумно маленького, но практического языка калькулятора. Напоминает мне об ассемблере, но это не.
Недавно я слышал о BUG , который называет себя «разработкой аппаратного обеспечения с открытым исходным кодом». Это то, что вы ищете?
Это не микроконтроллер, но , Lego Minstorm является хорошим местом, чтобы начать изучать входы и выходы встроенного программирования.
Встроенное программирование - это весело.
Вы можете начать с таких вещей, как Basic stamp или PIC , или, поскольку вы знаете c / c ++, вы можете использовать настоящий микрокронтроллер, такой как Atmel AVR. посмотрите на Butterfly или Arduino kit
Arduino имеет удивительное сообщество проектов и информацию за ним.
Я голосую за DS Nintendo:
, В целом, это - действительно превосходная забава играть с.
Для начала работы:
Вы можете попробовать с BeagleBoard , хотя это своего рода мейнстрим, тем не менее, очень впечатляющая производительность, чтобы говорить всего за 149 $.