Подсчет потеряных пакетов при односторонней передаче данных (идея)

/**
Хотел написать на форум, но уж больно многа текста получилось — тянет на запись в бложике. Поэтому пусть тут полежит.
Эту идею я придумал сам, безо всякого анализа уже готовых решений. Поэтому если сегодня вечером был изобретен очередной велосипед — не ругайтесь :)
**/


Думал сегодня над тем как скрестить ланчапад, пинборд и пару китайских радиомодулей. В итоге получилась схема такого плана: ланчпад замеряет своим термодатчиком температуру и передает по радиоканалу раз в пять секунд; stm8 на пинборде анализирует срач в эфире, выделяет из него полезные данные и выводит на индикатор.

По ходу размышлений захотелось мне странного — анализировать количество потеряных пакетов. Ну и высчитывать из этого всякие прикольные числа и указывать на качество связи.



Читать дальше
  • 0
  • 12 февраля 2012, 00:16
  • dcoder

Обсуждение прототипа STM8L шилда для PINBOARD II

Хочу вбросить на суд сообщества прототип процессорного модуля для PINBOARD II с конроллером STM8L152K6T6 на борту. Сделан он был довольно давно, и планируется запуск этого модуля в производство (силами ДиХальта естественно :)).

Но так как изначально я делал модуль под себя, руководствуясь желанием левой пятки, некоторые моменты могут вам не понравится. Посему прошу указать на криво сделаные места или недочеты (только перед этим прочитайте текст, чтоб не повторять то что я и так знаю :))



Читать дальше

Батарейка с индикатором заряда

Однажды проходя мимо зомбоящика увидел рекламу: на экране вертелась батарейка, а голос за кадром вещал — «дюраселл такие молодцы — придумали батарейку с индикатором оставшегося заряда. Теперь вместо того, чтобы посмотреть уровень заряда на экране своего mp3 плеера, вы можете вынуть батарейку, нажать пальцами на две белых точки джи на её корпусе и увидеть полоску, которая как-бы показывает, сколько элементу питания жить осталось».

«Забавно» — подумал я, и пошел дальше.

Так и ходил, не зная бед, пока сегодня не увидел эти батарейки в магазине. Причем, если бы не точка джи, которая явно выделялась на корпусе, я бы их не узнал. Купил. Как же можно устоять перед соблазном разобрать очередную вундервафлю? :)



Под катом — обзор со вскрытием.



Читать дальше

Лулзы из орехов - идея

Сидел тут, хавал грецкие орехи и придумал лулз:
1) Берем орех;
2) Выпиливаем из него всю начинку. Освобождаем максимум места;
3) Внутрь пихаем: батарейки-таблетки, мелкий шестиногий PIC, вибромоторчик, простейший датчик движения (тупо механический, на одну ось с достаточной чувствительностью. Буржуи могут юзать акселерометры);
4) Выдвигаемся на полигон. Орех помещаем на стол, на видное место (нужно добиться такого эффекта, чтобы орех казался явно лишним и бросался в глаза. Полупустой рабочий стол в каком-нибудь офисе — годное место);
5) Отходим на безопасное расстояние, прячемся, ждем;

6) Жертва подходит к своему столу. Видит орех, имеет когнитивный диссонанс (грецкий орех?! в моем уютном офисе?!);
7) Берет орех в руки (обезьяны вообще любопытные, человеки не исключение). Срабатывает датчик движения (поэтому он должен быть достаточно чувствительным);
8) Включается вибромотор — орех начинает бешено дергаться в руках жертвы, вызывая у неё разрыв шаблона. В панике (я гарантирую это! эффект неожиданности) жертва бросает орех на пол/стол/в окно (третье для нас плохо, лулз не должен быть одноразовым). Чем доставляет как нам, так и своим сородичам. Особо впечатлительные могут выкрикнуть при этом что-то нецензурно-бессвязное.
9) После этого мелкопик может идти в спячку, орех признаков разума подавать не должен. Обычный с виду орех и крики про то, что «ОН СЕЙЧАС У МЕНЯ В РУКЕ ДЕРГАЛСЯ КАК ЖИВОЙ!!!!!!111» тоже могут неслабо доставить. Но
10) Надо успеть перехватить орешек до того, как жертва и её сородичи сделают ему вскрытие.

Для «активации» ореха можно использовать датчик движения — если орех три раза встряхнули (потрясли с определенной частотой, подкинули, etc) то ждем секунд 10 и переходим в боевой режим.

Мелкопик, можно заменить к примеру на 13 тиньку — у ней хоть прерывания есть :) Или вообще на одновибратор на логике, но это уже слишком ИМХО.

В качестве батареек какие=нибудь мелкие таблетки, с суммарным напряжением 4.5В.

Модули для Pinboard 2 - макросы Sprint Layout

Ситуация такова: платы я развожу в Sprint Layout и пересаживаться на что-то другое не очень хочу. Поэтому, с выходом нового Pinboard, развел шаблоны для создания модулей расширения, процессорных модулей, и модулей для FT2232. Вот они:



Слева на право: Шаблон для модуля FT2232, шаблон для процессорного модуля, шаблон для модуля расширения (интерфейсный разъем).

Черной линией обозначены границы платы (для последнего варианта плата ограничена только с двух сторон). Обозначения выводов нанесены только для удобства разводки, но если нужно отметить их на модуле — можно просто перетащить надписи на плату.

Надо заметить, что у первых двух модулей отверстия должны быть разведены либо на верхней стороне (слой М1) либо выполнены с металлизацией.

Более подробно пока ничего описывать не буду: скоро появится официальная™ документация от Ди на все эти модули.

Вспомнилось что-то...

Потыкал клавиатуру, чтобы отвлечься от матанала.


2005 год. Какая-то «конференция» старшеклассников. Участвует школота со всего города — приносит свои поделия. В качестве темы — компы и все с ними связанное. Группа фриков из областных ебеней принесла металлоискатель на микроконтроллере, с функцией дискриминации металлов и возможностью настройки через компорт. Мальчик Андрей приносит дискетку с пошаговой (!) игрой «танчики», созданой в PowerPoint (!!). Мальчик Андрей невозбранно уносит первое место. Без паники, первых мест было несколько. Мальчик продолжил клеить танчики, перейдя на basic а потом на дельфи, а металлоискатель упоминал только в контексте «А еще там такая хрень была...»

2007 год. Мальчик Андрей по дороге в школоло находит в снегу белую флешку на целый гигабайт. На флешке помимо рефератов по истории и прона, обнаруживаются схемы, печатки, описания, фотки целого модельного ряда металлоискателей. Схемы были просмотрены (любопытно же) и снесены н#@уй, ибо флешка нужна чтобы игрушки и кинчик таскать.

2008 год Мальчик Андрей (который к тому моменту весьма резво быдлокодил на дельфях) случайно увидел в газетном киоске, среди максимов и плейбоев, журнал на букву ][. Номер был куплен без промедления, интереса ради. Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того-же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» подумал мальчик, и убил уже знакомую вам флешку банальной переполюсовкой.

Но зато он понял, что электроника это весело и почти безопасно.

2011 год. Осень. Утро.
Мальчик Андрей разводит хитросложную плату в Sprint Layout (видимо стремление забивать болты отверткой, см. первый абзац, сохранилось). Ди тактично намекает что с точки зрения эстетики плата — говно, но логотип (что на картинке) прикольный. А еще он, ВНЕЗАПНО, говорит, что зазоры меньше 0.5мм это плохо и говнопроизодство обязательно накосячит, и мальчик тупит исправляя сотню нарушений DRC, блеать!

Семинарчики от EBV по LPC и USB



Помните контору, которая раздавала задаром STM32VL дискавери?

Вот, пришла мне от них рассылка в которой говорится, что EVB проводит семинары по продукции всем известной NXP (точнее по МК LPC. А еще точнее — по работе c USB в этих МК). В России семинары пройдут в Москве (22 ноября), Питере (24 ноября) и Новосибирске (30 ноября). Всем кто придет подарят что-то (наверное, ручку и блокнотик. Или LPCExpresso).

Программа сего замечательного мероприятия такова:
08:30 — 09:00 Welcome / Registration
09:00 — 10:00 USB Overview/Update NXP Cortex-M0 & M4
10:00 — 10:15 LPCXpresso/Code Red
10:15 — 11:00 Lab 1 (LPC11U1X) — My First LPCXpresso Project
11:00 — 11:30 Lab 2 — Cortex Interrupts/Debugging
11:30 — 12:30 LPC USB Drivers (LPC1343) — USB Class — HID + Lab 3
12:30 — 13:30 Lunch
13:30 — 14:00 Cortex M Series Cores
14:00 — 16:30 max LPC USB Drivers — USB Class — MSD/Lab 4 — USB Class — CDC/Lab5

Переводить не стал, кто знает английские букафки и так поймет, что Lunch = пожрать.

Участие в семинаре бесплатно

За подробностями посылаю всех любителей кортексов и пожрать, вот сюда. Это онлайн версия письма, которое пришло ко мне. (Если ссылка не открывается — дайте знать) Или вот сюда, суть одно и тоже.

8L учебный курс. Часть 0. Вступление.

Вступление,
Это нулевая статья в «практическом учебном курсе по STM8L». Как вводная лекция — ничего полезного не скажу, можно было и не приходить.

Курс создается с целью показать возможности микроконтроллеров STM8L, некоторые варианты их практического применения и выйграть осциллограф :). Состоять он (не осциллограф, курс) будет из 13 статей, в каждой из которых рассматривается тот или иной периферийный модуль микроконтроллера. Некоторым довольно простым модулям или функциям отдельной статьи не достанется. Они будут рассмотрены в рамках других уроков. Количество теории в большинстве уроков будет сильно меньше, чем количество практики. Не пугайтесь — её достаточно для понимания того, что описывается в статье. Для особо любознательных я дам ссылки на соответствующие разделы документации и другие статьи.


Читать дальше

Коннектор для шлейфа

Озаботился поиском разных ништяков для своего 8L-курса. Откопал старенькую клавиатуру от телефона.



Разъема на ней нет, а вместо него торчит шлейф с шагом 2.54 мм.



Читать дальше

Обсуждение учебного курса по STM8L

Полный состав практического учебного курса по STM8L:

1) Hello светодиод!
Установка IAR. Создание проекта. Мигание светодиодом.

2) GPIO
Подробный разбор GPIO. В качестве примера управление 7seg индикатором. Работа с кнопками.

3) GPIO, часть 2
Матричная клавиатура. Прерывания — пробуждение МК из halt по нажатию кнопки. Эмуляция 1-wire. Кодовый замок c iButton. Здесь-же затронута работа с EEPROM.

4) Таймеры: начало
Общие сведения о таймерах в STM8L. Создание собственной функции задержки с блекджеком и WFE. Прерывания таймера. Динамическая индикация (7seg) на таймере. Секундомер.

5) Таймеры: продолжение
Работа с навороченым таймером 1. Генераця ШИМ сигналов (делаем moodlamp). Режим подсчета количества импульсов (частотомер).

6) Сенсорные кнопки
Обзор библиотеки от ST для создания сенсорных кнопочек. Делаем светодиодный светильничек с сенсорным управлением.

7) АЦП
Быстрый старт с АЦП. Использование таймера в качестве триггера для АЦП. Вывод напряжения на дисплей. Вольтметер и амперметер.

8) Интерфейсы: USART
Обмен данными с компом (передача данных из АЦП в комп — осциллограф же!).
Работа USART в синхронном режиме, подключение дисплейчика от Nokia.

9) ЦАП
Общее описание DAC. Ликбез по DMA. Работа совместно с DMA и таймером качестве триггера. Простенький генератор сигналов управляемый по UART.

10) Интерфейсы: I2C
Работа с i2c в режиме мастера. Термометр/термостат на lm75a. Тут-же работа со сторожевым таймером. Обзор slave режима.

11) Интерфейсы: SPI
Работа с акселерометром MMA7455LT. Передача данных с акселерометра через UART. Обзор slave режима в SPI.

12) RTC
Обзор возможностей RTC. Делаем простенькие по функциональности, но неординарные по виду, часы.
13) Контроллер LCD.
Сверхэкономичный измеритель температуры и влажности на sht21 + часы. Тут-же ликбез по энергосбережению и работа с PVD.

— В курсе будет делаться большой упор на практику. Почти в каждом уроке будет создаваться некое подобие законченого устройства. Теории будет немного, точнее — ровно столько сколько нужно. За дополнительными сведениями буду посылать в более обширные статьи и в RM0031. Кстати, семейство STM8L101 я обсуждать не хочу. Ибо оно уныло.

— Насчет частоты появления статей в курсе.
f = 0,000001653439 Гц Примерно 1 штука в неделю
Выпалить половину курса за неделю, как angel5a я не могу :)